阿里
自我介绍
- Android学习方式
- 对源码是否了解(Android Java)
源码
- Handler消息机制(具体涉及到的类 & 细节)
- HashMap(数据结构 & put操作)
- HashMap扩容时间复杂度
- ArrayMap
JVM
- Java内存区域
- 堆栈区别
- 哪些区域线程私有,哪些共享
- 栈帧
- 方法调用时的入栈出栈操作
Java
- 并发访问:
- volatile(只保证了可见性和有序性,不能保证原子性)
- synchronized:修饰代码块/方法/对象的区别? (单例模式DCL会不会失效?)
- Lock
Android
- Activity生命周期(具体执行,涉及到哪些类?)
- ANR(什么是ANR?怎么监测,运行前,运行后,线上监测?)
项目
- 项目线程同步的优化(session/cooike/token/上传凭证的区别)
阿里一面 1h (挂)
自我介绍
项目
- 使用人数/有无上架商店
- 有无IM通讯模块
- 登录模块是怎么解决的
- 如何优化千万级别用户下让用户实时知道自己状态(APP端 & 服务器端)
Java
- synchronized修饰方法和类有什么区别
- volatile关键字作用
JVM
- 内存分配
- 垃圾回收算法
Android
- 事件分发机制
- 消息机制
- View绘制流程(具体原理,包括不限于绘制三大流程)
- Handler(怎么实现多线程?为什么Looper死循环没事?怎么实现线程间通讯?)
- 操作系统层面死循环是怎么回事?
- 死循环一定会导致ANR麽?
HTTP协议
- HTTP缓存了解不?
腾讯
提前批一面 50min
Android
- 四大组件是什么?轮番介绍之
- Fragment是什么?与Activity区别?
- SurfaceView与View区别?SurfaceView原理?
- 前台服务与后台服务区别?
- AIDL了解么?
- IPC方式?谁最快?
- Protocol Buffer了解么?
- APP中多进程有什么用?
- 方法数65536怎么解决?
- View显示过程?
Java
- 线程同步方式?
- 死锁是什么&#x