1.介绍项目,具体工作
2.使用activity还是fragment,fragment切换的方法,fragment切换的生命周期
3.项目使用ViewModel和livedata,介绍一下他们,讲一下实现原理,livecycle用过吗,说一下
4.项目使用mvvm模式,说一下mvc,mvp,mvvm模式的区别吧
5.livedata为什么能做到数据更新,任何时候都能更新吗,(onStart后才行,我答成了onResume)
6.项目里提到内存泄露,讲一下内存泄漏和内存溢出吧,内存如何判断一张图片有多大
7.项目内用到单例模式,说一下单例模式的实现方法
8.枚举为什么能实现单例模式,这样的单例模式是线程安全的吗
9.懒汉式双重检测说一下
10.java的锁有哪些,区别是什么
11.synchronized的锁升级过程
12.线程同步的开销,系统调用
13.listview和recyclerview的区别
14.recyclerview的缓存复用说一下
15.recyclerview如何实现多个模板item的,说一下原理
16.算法:rand7生成rand10(一开始没搞懂意思,因为是面试官口头描述,在本地ide打代码,就是一个生成1-7的随机数的方法,如何生成1-10的随机数,要保证概率,以及能生成1-10)
#百度面试#