Android面试重难点高频问题

1.Retrofit的框架结构是什么?底层是怎么实现的?

2.网络框架是如何搭建?okhttp的底层实现是什么,和Retrofit有什么不同?

3.图片加载框架gilde、Picasso、fresco有什么不同,各自的实现原理是什么?如何搭建一个网络框架?

4.冒泡 选择 插入 快速基本算法的实现,单链表,双链表,二叉树,队列数据结构的实现思路是什么?

5.如何实现跨进程间通信,什么是AIDL,IPC机制,Binder机制的实现原理

6.三级缓存底层实现?

7.用过的开源框架的源码分析如butterknife,eventBus,greenDao,ormlite,Dagger2,实现原理是什么。

8.HashMap底层实现,它和LinkHashMap有什么区别?

9.AsyncTask机制,实现原理

10.Handler消息机制,postDelayed会造成线程阻塞吗?对内存有什么影响?

11.Debug和Release状态的区别?

12.Android中的内存回收机制是什么?如何管理内存?

13.JNI开发流程是什么?怎么生成和调用?

14.文件和数据库哪个效率高?

15.你在开发中是如何做性能优化的?

16.RxJava的实现原理,它是如何实现线程的控制?

17.项目开发中遇到的问题?

18.项目框架是怎么搭建的?

19.当访问大数据出现线层租塞用什么技术解决?

20.项目中的数据是如何做缓存的,敏感数据怎么加密?秘钥存储在哪里?

21.js与webview交互是如何交互的,比如:如何获取点击事件,获取输入的字符串等?调用流程是什么?

你可能感兴趣的:(Android面试重难点高频问题)