Android面试题总结
1. View的点击事件分发。
2. Thread、ThreadPool 与 Handler、MessageQueue、Looper的阐述,以及它们之间的关系;自定义的Thread能否实现Looper等,像UI主线程一样。
3. 对Fragment的理解。
4. Service与Activity之间的如何相互交互,广播的理解
5. 项目架构,比如包结构
6. Task的理解
7. Bitmap的处理,防内存溢出
8. 内存泄漏的问题,如何排查解决、避免
9. 网络图片的加载,UniversalImageLoader、NetworkImageView
10. 网络请求的实现(UrlConnection、httpClient);Volley适用的场景;上传大文件的问题(http方式、socket方式),断点续传的问题;下载大文件的处理(DownloadManager)。
11. HTTP协议的理解,比如断点续传会用到Range属性,keep-alive的用处
12. 对于TCP协议的理解,什么是三次握手协议
13. 如何实现一个多线程环境的单例模式,实现这样的单例模式有几种方式。
14. 什么容器是数据安全的(Vector、HashTable)。多线程环境中对容器数据的处理。
15. 如何做多分辨率适配。
16. 关系型数据库基础知识。什么是事务,有什么用?左右连接、全连接是什么?
17. HashTable与TreeMap的理解,算法复杂度。
18. Html5的简单知识。
19. WebView中的网页与Activity的数据交换方式(通过cookies、js接口调用),如何相互调用。可能还会问道安全性方面的问题。
20. 界面布局中Gravity与layoutGravity的区别
先写这么多吧,答案后面再写。