Android面试总结
前提
时间过的真是快啊,到16年底毕业马上就快3.5年了。先来说下我的经历吧,
毕业后进入一家小公司,因为农村出身当时没有多想就是希望在北京有一份工作。就找了一家面试就成功了。当时就是希望技术能够很快的提升钱多钱少真的不重要,没有太多的想法。当时老板说期望多少月薪我就说了3k(税前),每月所剩无几啊!没想到到年底公司倒闭了。当时老板好像是华为的销售出来创业的,感觉创业的钱都花在了无关紧要的地方了,比如办公地点在南2环的富力摩根大厦,那的办公楼租房很贵。不多说了。再后来就进入优酷做来疯直播。
面试
2016年底面试了几家公司,比如百度,阿里,新浪,京东…2017年年后已经入职了,在这里回忆一下面试的经历和面试题。
面试题-自我介绍
这部分我觉得很难搞定,程序员没有几个善于言谈的。我觉得主要是你讲清楚就行了,因为团队需要你肯定沟通少不了,只要条理清晰,吐字清晰就ok吧。
面试题-android部分
- 自定义view viewGroup,以及是否写过,当然还有一些细节问题
- activity的启动流程
- 事件分发机制原理及滑动冲突的处理
- 插件化(activity如何加载及资源处理)
- 内存优化 ,如何避免oom
- 内存泄漏如何处理及如何排查,LeakCanary原理
- handler常见问题,机制,原理
- 项目中图片加载用的什么以及原理
- 零碎的问题:比如SharedPreferences的apply与commit的区别,动画,
- asynctask的原理
- recycleview的原理
- httpclient httpurlconnect的区别和使用
- Xml的几种解析方式,优缺点
- bitmap的处理,oom问题,超级大图处理
- MVC,MVP,MVVM架构
- anr问题解决方法
- webview的交互问题,滑动冲突问题等
- android的Dalvik和art的区别
- intentservice和service的区别和原理
- 5.0,6.0,7.0的特性,比如权限问题
- 热修复原理
- 组件化
- actiivty启动模式及应用场景
- 多进程场景以及所带来的问题
- 项目中用到的框架及原理,比如OkHttp原理,eventbus,butternife等以及是否写过类似的
- 多进程场景以及使用场景和常见问题,比如远程回调,数据大小限制,保活机制
- Android 绘图机制流程原理
面试题-java部分
- 线程池原理,复用,参数的意义等
- Java 内存管理机制,怎么分配的
- 多线程问题,使用场景,同步,通信,各种锁,死锁问题等
- HashMap,hashtable,currenthashmap等集合的底层实现原理等,扩容,内部结构
- java gc算法
- volatile关键字
- 线程和进程有什么区别,线程的优点是什么
- threadlocal机制内部原理
- 序列化问题
面试题-网络
- tcp和udp的区别,tcp如何保证可靠的,丢包如何处理?tcp的阻塞和超时处理机制等等
- Https的工作流程,原理
- httpResponseCode,例举常见code
- Http常见问题,协议
- Http和Https的区别
面试题-算法-手写
- 从一堆数据里怎么查找最大的n个数
- 快速排序
- 字符串匹配
- 自己实现类似stack的功能
- 折半查找
- 链表有关的问题
面试题-设计模式-手写
- 常见的比如单例,观察者,代理;讲究why? when? how?。比如单例的双重锁定什么时候失效是否严谨以及为什么要那么写?!
面试题-附加-自己简历写的-音视频
- 直播采集端,摄像头采集和音频采集
- 录制屏幕,采集,音视频同步,渲染等
- 推流
- android平台下的硬编解码等
面试题-非技术问题
- 为什么离开团队并希望加入什么团队
- 如何学习新技术的
- 项目中遇到的问题及处理方法
- 负责哪块,这里会引发你项目中使用的技术问题
- 擅长什么
最后
记录过去,成就未来。