2019复习清单

189 阅读1分钟

开源技术

  1. OkHttp实现原理,其中用到的设计模式有哪些,有哪些比较好的设计模式
  2. Retrofit主要实现机制?
  3. Glide实现原理,缓存特点
  4. 插件化,热修复Tinker github.com/Tencent/tin…
  5. 组件化
  6. RxJava. onError执行线程,ObserveOn,SubscribeOn原理

项目

  1. 多渠道打包如何实现(Flavor、Dimension应用)?从母包生出渠道包实现方法?渠道标识替换原理?
  2. 用MultiDex解决何事?其根本原因在于?
  3. Dex如何优化?主Dex放哪些东西?主Dex和其他Dex调用、关联?Odex优化点在于啥?
  4. 视频画面是如何渲染到手机上的
  5. 生产者消费者模式应用在多线程下载
  6. Gradle知识
  7. AOP(AspectJ, ASM)
  8. WebView pool

Android知识

  1. animation和animator的用法,原理
  2. SharePreferences原理
  3. Activity启动模式。a-b-c界面,其中b是singleInstance的,那么c界面点back返回a界面,为什么?怎么管理栈的
  4. Activity在不同阶段finish,分别会走哪些生命周期?或者说Activity调用finish后的流程
  5. ams是怎么找到启动的那个activity的?
  6. binder原理
  7. 两个应用同时注册一个广播,优先级都一样,哪个会先收到广播?(有序广播?)
  8. threadLocal原理
  9. RecyclerView相对ListView区别?
  10. View的绘制流程。
  11. Activity启动流程
  12. AMS启动流程
  13. Dalvik和Art虚拟机区别?

Java

  1. 类的初始化顺序,static变量,块、父类等
  2. sleep与wait有什么区别?
  3. LruCache的实现原理
  4. fail-fast和fail-safe
  5. Android GC

网络

  1. Http,Https
  2. TCP,UDP
  3. DNS
  4. 网络优化。DNS优化、

架构

  1. 模块化怎么做的?怎么设计的?接口发现暴露怎么做?基于什么思想?
  2. MVC、MVP、MVVM应用和彼此本质区别?

算法