一,性能优化
-
- 做过哪些性能优化?是怎么评测和具体优化的?
-
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架构。