高德—汽车事业部(Over)
面试机会来自于Boss
一面:
- View的生命周期
- View的绘制流程跟事件分发
- Activity跟Window之间的关系
- 对C跟JNI是否熟悉
- 热修复原理,插件化是如何进行加载插件的
- Java中的锁,各种同步方式之间的区别
- ANR在四大组件中的时间,场景
- OOM,如何避免
- 内存泄露原理,如何避免
- MVC跟MVP之间的区别
- ListView针对多种item的缓存是如何实现的
- Android绘制二维跟三维的View的区别
- 是否了解硬件加速
- ListView是如何实现对不同type的item的管理的
二面:
- Android中IPC方式,各种方式优缺点,为什么选择用Binder
- 主流的热修复框架流派,原理,是否研究过classloader源码
- Android为什么要设计两种classloader,为什么不用一种,通过type来区分
- Bundle传递数据为什么需要序列化
- 手写一个快排,分析原理
- 广播传输的数据是否有限制,是多少,为什么要限制?
- Activity启动时生命周期是如何回调的?
- MVP.MVC.MVVM之间对比分析
- 组件化通讯:有几种通信方式,Arouter原理
- 插件化加载流程,原理
- 关于反射混淆,耗性能的解决方式
- 天猫七巧板布局原理
- 热修复流派,原理
高德—地图事业部(Over):
面试机会来自于Trinea内推
一面:
- RecyclerView的itemdecoration如何处理