2019复习清单
开源技术
- OkHttp实现原理,其中用到的设计模式有哪些,有哪些比较好的设计模式
- Retrofit主要实现机制?
- Glide实现原理,缓存特点
- 插件化,热修复Tinker github.com/Tencent/tin…
- 组件化
- RxJava. onError执行线程,ObserveOn,SubscribeOn原理
项目
- 多渠道打包如何实现(Flavor、Dimension应用)?从母包生出渠道包实现方法?渠道标识替换原理?
- 用MultiDex解决何事?其根本原因在于?
- Dex如何优化?主Dex放哪些东西?主Dex和其他Dex调用、关联?Odex优化点在于啥?
- 视频画面是如何渲染到手机上的
- 生产者消费者模式应用在多线程下载
- Gradle知识
- AOP(AspectJ, ASM)
- WebView pool
Android知识
- animation和animator的用法,原理
- SharePreferences原理
- Activity启动模式。a-b-c界面,其中b是singleInstance的,那么c界面点back返回a界面,为什么?怎么管理栈的
- Activity在不同阶段finish,分别会走哪些生命周期?或者说Activity调用finish后的流程
- ams是怎么找到启动的那个activity的?
- binder原理
- 两个应用同时注册一个广播,优先级都一样,哪个会先收到广播?(有序广播?)
- threadLocal原理
- RecyclerView相对ListView区别?
- View的绘制流程。
- Activity启动流程
- AMS启动流程
- Dalvik和Art虚拟机区别?
Java
- 类的初始化顺序,static变量,块、父类等
- sleep与wait有什么区别?
- LruCache的实现原理
- fail-fast和fail-safe
- Android GC
网络
- Http,Https
- TCP,UDP
- DNS
- 网络优化。DNS优化、
架构
- 模块化怎么做的?怎么设计的?接口发现暴露怎么做?基于什么思想?
- MVC、MVP、MVVM应用和彼此本质区别?
算法