阿里
阿里面试很喜欢问源码,优化,原理,涉及到的范围很广,还是具有一定挑战性的,以下包括阿里实习二面和校招二面,笔者都止步于二面,阿里可以去找找内推(笔者实习投递时笔试做的差,本来以为挂了,但可能因为找的内推所以还是给我面试了,后续又加了一轮笔试,校招时也是找的内推直接面试了没有笔试)。
阿里实习一面
- 源码:Handler消息机制(具体涉及到的类 & 细节);HashMap(数据结构 & put操作具体过程,扩容时间复杂度);ArrayMap原理
- JVM:Java内存区域划分,堆栈的区别,哪些区域线程私有,哪些共享;栈帧,Java方法调用时的入栈出栈操作
- 并发访问:volatile原理及作用,是否具有原子性;synchronized:修饰代码块/方法/对象的区别? (单例模式DCL会不会失效?);Lock的原理
- Android:Activity生命周期(具体执行过程,涉及到哪些类?);ANR(什么是ANR?怎么监测:运行前,运行后,线上监测?)
阿里实习二面
- 项目:项目使用人数,有无上架商店;有无IM通讯模块;登录模块是怎么解决的;如何让千万级别用户的APP用户实时知道自己状态(APP端 & 服务器端)
- Java:synchronized修饰方法和类有什么区别;volatile关键字作用
- JVM:内存分配;垃圾回收算法
- Android:事件分发机制;消息机制(为什么Looper死循环没事?怎么实现线程间通讯?);操作系统层面死循环是怎么回事;死循环一定会导致ANR麽?;View绘制流程(具体原理,包括不限于绘制三大流程)
- 网络:HTTP缓存
阿里校招一面
- Android:有没有遇到OOM问题,有没有遇到内存泄漏问题,怎么解决;Handler机制原理;ThreadLocal作用及原理;Activity启动到加载View过程;View绘制过程;OKHttp框架(1. 为什么选择它 2. 性能 3. 内部有哪些设计模式);EventBus框架
- 设计模式:用过哪些设计模式
- 实习:实习项目中遇到的难点
- 网络:HTTP & HTTPS区别
- 其他:为什么选择xx部门;参加的竞赛情况
阿里校招二面
- 项目:为什么选择OKHTTP框架;图片框架?(Glide);JSON解析框架?(Gson);怎么确定技术选型;项