小编经历过这么多年的摸爬滚打,面试过也被面试过。现总结与归纳Android开发相关面试题:
1、Activity启动模式有哪些,分别有什么不同?
2、Service启动模式有哪些,对应的生命周期?IntentService呢?
3、ContentProvider的作用,是否支持多线程和多进程
4、Broadcast的注册方式,对应的生命周期是什么,有序和无序那种可以中断广播?
5、AsyncTask的作用,如何使用(包括有哪些方法,能说出同步异步,能说出不同Android版本下的区别加分)
6、有哪些异步的方式?
7、Handler机制
8、Dialog的使用及其生命周期
9、Activity的生命周期,能否改?
10、Fragment的生命周期,能否改?
11、Activity和Fragment如何通信
12、View的绘制机制
13、View的事件传递机制
14、如何监听手势
15、ImageView设置图片显示有哪几种模式,有什么区别?
16、有哪些存储方式
17、SharedPreferences是否支持多进程、多线程
别看以上常问的是入门级的,但是有两三年开发经验能回答圆满的人不多。
1、如何理解Activity的任务亲和性
2、如何让Service为单独的进程
3、IntentService的实现原理
4、LocalBroadcast的作用,实现原理,相对于Broadcast的优势在哪,劣势在哪
5、Handler的缺点,会不会造成内存泄漏,有则如何解决
6、Fragment与Activity的区别和联系
7、Fragment如何缓存布局
8、Fragment与ViewPager的搭配使用,有没有问题重叠问题,怎么解决
9、同时提供侧滑和上下滑动,如何解决事件传播问题
10、是否使用过Design包
11、嵌套滑动理解
12、behavior的原理
13、对设计模式有什么看法,经常使用的有哪些?
中级的稍微偏底层一些,这个主要考察平时是否关注而不是一味地怼业务需求
1、Activity的启动过程
2、Service创建为单独进程会有哪些问题?
3、简述AIDL的构建过程
4、IPC机制有哪些?
5、android多进程通信方式,内部原理
6、App启动的入口在哪?
7、LRU缓存算法
8、Bitmap的有哪几种压缩算法,有啥区别?
9、图片在手机本地存储大小和在内存大小是否一致,为什么,Android默认像素一般占几个字节?
10、第三方框架的熟练程度,如:
1、若用过Volley网络框架,则询问其架构,如何使用,自带网络缓存判断过程,与Okhttp、retrofit、RxJava 等网络框架的区别,原理
2、若用过Glide图片框架,则询问其架构,如何使用与毕加索、retrofit等框架区别
3、若用过ORM框架,则询问目前常见几种框架区别、优缺点,如何改进
11、SharedPreference内部实现原理
12、模块化、插件话、组件化等分别有什么区别,对用有什么好处
13、说说MV * 模式,并画出做过项目的架构图
14、对跨平台方案有哪些了解,使用过哪些? 比如RN
15、对大前端有什么看法,了解多少?使用过什么?
16、对其他语言的了解,kotlin,python、php、c++等
17、兴趣爱好是什么?对未来有什么规划?
目前是一些经常会被问到的,当然只是列举了Android 开发方向的,Java的一些还没列举,比如异常、网络、多线程、JCF等等
以上问题的答案在下面都有详细解答,我们不仅整理了这些资料,而且还有一份长达"635页"的Android资料汇总:
包括:底层原理+项目实战+面试专题
1、底层原理(Android进阶、架构设计、NDK、跨平台、底层源码....)
2、项目实战(一线互联网大厂真实项目实战训练)
3、面试专题(大厂内推+简历优化+面试技巧+Android筑基+分布式+开源框架+微服务架构+性能优化+JVM 等一线互联网企业面试题)
同时也含有Android开发基础以及进阶资料。
项目地址:Github
Android学习肯定不是光看书就能学会的,具体还是要自己上手写代码,如果有一份视频能让你看到全过程就好了。
所以关于视频我也整理了一部分:
视频包含:
1、IPC机制相关面试题视频解析
2、项目相关视频解析
3、性能优化相关面试题视频解析
4、JVM从入门到着迷
5、源码相关试题视频解析
6、BAT面试总结分析
Android学习三要素可以大大加快你的学习之旅
现在还缺一个脑图,关于Android 的学习必然是一个体系化的过程,下面我分享一下对标腾讯T7架构师的Android学习路线图:
以上内容全部免费分享给大家,有需要的同学可以点击:Github自行查看,也可以点击链接Android开发交流,群内获取。