题集

156 阅读1分钟

1、Looper,原理,主线程阻塞,postDelay实现方式

2、ThreadLocal、IntentService、ThreadHandler

3、缓存池、ThreadPool类型,要素、核心线程定义方式

4、事件冲突、解决方式:2种 嵌套滚动

5、View绘制原理,measure/layout /draw measure模式32位取值代表含义

     at_most/up_expected/

6、启动一个APP过程

7、JVM加载过程

8、StartActivity流程(AMS,跨进程)

9、AIDL、Binder

10、HTTP/HTTPS区分,原理 1和2的区别、错误码的含义

11、锁的分类(无锁、偏向锁、轻量锁、重量锁、自旋、乐观、悲观),死锁形成原因、Volatile(仅保证可见性) Reentrant Lock Synchrosize

12、线程状态(create/start/sleep/wait/stop),yeid和sleep notifyall

13、Stack Queue使用 Stack(push pop peek search) Queue(add / remove /peek )

14、RecyclerView 和ListView缓存策略对比 (mActiveViews/mScrapViews) (viewScrap/mCacheViews/RecyclerPool/mViewCacheExtend)

15、性能优化(WEBP/SVGA)、APP瘦身、内存泄漏检测

16、数据库大量数据处理,事务

17、Tinker热修复原理、与其他热修复区分、是否支持资源更新

18、Retrofit、OkHttp原理、缓存、编解码、线程池

19、RxJava常用操作符、线程切换实现

20、反射、动态代理

21、常用设计模式

22、实现单例的9种方式

23、全面屏适配、新版本特性、Density

24、优化一个界面的打开速度和流畅性:View层级、修改RecyclerView缓存大小

25、LruCache、HashMap、红黑树、B+树

26、常见排序算法:快速、冒泡、二分、选择排序,时间复杂度