一,性能优化
-  
  - 做过哪些性能优化?是怎么评测和具体优化的?
 
-  App启动速度优化 
-  App绘制优化 
-  App内存优化 
-  App瘦身 
-  App电量优化 
-  网络优化 
-  安卓的安全优化 
-  为什么WebView加载会慢呢? 
-  如何优化自定义View 
-  FC(Force Close)什么时候会出现? 
-  Java多线程引发的性能问题,怎么解决? 
二、Android Framework相关
-  Android系统架构 
-  View的事件分发机制?滑动冲突怎么解决? 
-  View的绘制流程? 
-  跨进程通信。 
-  Android系统启动流程是什么?(提示:init进程 -> Zygote进程 –> SystemServer进程 –> 各种系统服务 –> 应用进程) 
-  启动一个程序,可以主界面点击图标进入,也可以从一个程序中 跳转过去,二者有什么区别? 
-  AMS家族重要术语解释。 
-  App启动流程(Activity的冷启动流程)。 
-  ActivityThread工作原理。 
-  说下四大组件的启动过程,四大组件的启动与销毁的方式。 
-  AMS是如何管理Activity的? 
-  理解Window和WindowManager。 
  
-  WMS是如何管理Window的? 
-  大体说清一个应用程序安装到手机上时发生了什么? 
…
三、Android优秀三方库源码
-  你项目中用到哪些开源库?说说其实现原理? 
-  网络底层框架:OkHttp实现原理 
-  网络封装框架:Retrofit实现原理 
-  响应式编程框架:RxJava实现原理 
-  图片加载框架:Glide实现原理 
-  事件总线框架:EventBus实现原理 
-  内存泄漏检测框架:LeakCanary实现原理 
-  依赖注入框架:ButterKnife实现原理 
-  依赖全局管理框架:Dagger2实现原理 
-  数据库框架:GreenDao实现原理 
-  Android中软引用与弱引用的应用场景 
四、热修复、插件化、Gradle
-  热修复和插件化 
-  模块化和组件化 
-  gradle 
五、设计模式与架构设计
-  设计模式 
-  谈谈你对Android设计模式的理解 
-  项目中常用的设计模式 
-  手写生产者/消费者模式 
-  架构设计 
-  MVC MVP MVVM原理和区别? 
-  MVC的情况下怎么把Activity的C和V抽离? 
-  MVP 架构中 Presenter 定义为接口有什么好处; 
-  MVP如何管理Presenter的生命周期,何时取消网络请求? 
-  Fragment如果在Adapter中使用应该如何解耦? 
-  从0设计一款App整体架构,如何去做? 
六、其它高频面试题
-  保活方案 
-  Android动画框架实现原理。 
-  Activity-Window-View三者的差别? 
-  低版本SDK如何实现高版本api? 
-  说说你对Context的理解? 
-  Android的生命周期和启动模式 
-  ListView和RecyclerView系列 
-  如何实现一个推送,消息推送原理?推送到达率的问题? 
-  动态权限系列。 
-  自定义View系列。 
-  对谷歌新推出的Room架构。 
-  说说你对Context的理解? 
-  Android的生命周期和启动模式 
-  ListView和RecyclerView系列 
-  如何实现一个推送,消息推送原理?推送到达率的问题? 
-  动态权限系列。 
-  自定义View系列。 
-  对谷歌新推出的Room架构。 









