腾讯社招安卓岗面试经历
1、synchronize用法,volatile用法,两者的区别和场景
2、动态权限适配方案,权限组的概念
3、网络请求缓存处理,okhttp如何处理网络缓存的;图片加载库相关,bitmap如何处理大图,如一张30M的大图,如何预防OOM
4、进程保活
5、listview图片加载错乱的原理和解决方案,listview是如何做缓存的?
6、https相关,如何验证证书的合法性,https中哪里用了对称加密,哪里用了非对称加密,两者的区别?
7、Android系统为什么会设计ContentProvider,进程共享和线程安全问题
(1)提供一种跨进程数据共享的方式:
由系统来管理ContentProvider的创建、生命周期及访问的线程分配,简化我们在应用间共享数据(进程间通信)的方式。我们只管通过ContentResolver访问ContentProvider所提示的数据接口,而不需要担心它所在进程是启动还是未启动 。
(2)更好的数据访问权限管理:
ContentProvider可以对开发的数据进行权限设置,不同的URI可以对应不同的权限,只有符合权限要求的组件才能访问到ContentProvider的具体操作。
微信的聊天数据在本地都是加密处理的(防止root了被破解),设计一个类似的本地数据存储系统
8、jvm相关和GC回收算法的区别
9、Android相关优化(如内存优化、网络优化、布局优化、电量优化、业务优化)
10、EventBus实现原理和观察者模式在开发中的运用?
11、动态代理模式如何运用?
12、App是如何沙箱化,为什么要这么做?
全部评论
(1) 回帖