一面
自我介绍
- Handler是用来做啥的
- 每个线程都能有自己的Handler吗
- Fragment和Activity之间传递数据
- ActivityA启动ActivityB的生命周期回调
- Activity的启动模式 / 分别用于什么场景
- Activity加载Fragment的方式
- add一个Fragment的时候已经有一个Fragment的话,对之前的Fragment的生命周期的影响
- onSaveInstance和onReStoreInstance作用
- ViewModel怎么实现的
- ViewModel是不是一直存在内存中
- View的绘制会经过哪些
- 让View重新绘制的方法
- Android用过哪些布局
- Android中线程挂了进程会崩溃吗?
- onMeasure会执行几次
- ConstraintLayout经常用到的属性
- guaidline为什么不会在布局上显示
- 事件分发机制
- RxJava用过了哪些操作符
二面
自我介绍
首先询问了一些自己简历里的项目问题
- 为什么要用MVVM
- 数据变更UI自动更新怎么实现的,用的DataBinding吗
- 什么是观察者模式,有什么好处
- 什么情况下用责任链模式?哪里遇到过?有什么好处?
- 怎么实现的责任链模式
- 为什么okHttp里面用到责任链模式
- 用户可以自定义多个拦截器吗
- 有网状态下的缓存和无网状态下的缓存一样吗
- 缓存是自己做的还是okhttp做的
- 可以手写一些sql吗
- room是什么类型的数据库
- room是怎么实现的,为什么不要写sql呢
- livedata粘性事件
- jetpack还用过哪些
- navigation用来做什么
- TCP UDP区别
- 为什么需要三次握手和四次挥手
感谢阅读并祝你面试好运!
公众号:Android Jasper 专注分享面试题|面试技巧|Android学习资料。
#猫眼##Android##面试##面经##面试题#