Android 118 道基础面试题,面试途中不卡题
有许多 Android 开发者面试时,总被一些题所卡壳,就吐槽面试官问的题很变态,其实我个人认为原因是每个人基础知识掌握的程度不同,有些题可能你觉得难,但别人可以轻易的答出,有些你答的出,别人不一定答的出,所以我们需要深入的把基础给打牢固。
今天这篇文章来自一位很资深的前辈对于 Android 基础面试题目所做的总结归纳,一共有 118 道题目 ,知识面很广 ,而且对于每个问题都整理出了答案,不过因为篇幅太长,这里只放上面试题目,答案都整理好了一个文档,大家可以一起探讨,需要答案的可以私信我回复【666】自取
Android 面试习题
1、什么是 ANR 如何避免它?
2、Activity 和 Fragment 生命周期有哪些?
3、横竖屏切换时候 Activity 的生命周期
4、AsyncTask 的缺陷和问题,说说他的原理。
5、onSaveInstanceState() 与 onRestoreIntanceState()
6、android 中进程的优先级?
7、Bunder 传递对象为什么需要序列化?Serialzable 和 Parcelable 的区别?
8、动画
9、Context 相关
10、Android 各版本新特性
11、Json
12、android 中有哪几种解析 xml 的类,官方推荐哪种?以及它们的原理和区别?
13、Jar 和 Aar 的区别
14、Android 为每个应用程序分配的内存大小是多少
15、更新 UI 方式
16、ContentProvider 使用方法。
17、Thread、AsyncTask、IntentService 的使用场景与特点。
18、Merge、ViewStub 的作用。
19、activity 的 startActivity 和 context 的 startActivity 区别?
20、怎么在 Service 中创建 Dialog 对话框?
21、Asset 目录与 res 目录的区别?
22、Android 怎么加速启动 Activity?
23、Handler 机制
24、程序 A 能否接收到程序 B 的广播?
25、数据加载更多涉及到分页,你是怎么实现的?
26、通过 google 提供的 Gson 解析 json 时,定义 JavaBean 的规则是什么?
27、json 解析方式的两种区别?
28、线程池的相关知识。
29、内存泄露,怎样查找,怎么产生的内存泄露?
30、类的初始化顺序依次是?
31、JSON 的结构?
32、ViewPager 使用细节,如何设置成每次只初始化当前的 Fragment,其他的不
初始化(提示:Fragment 懒加载)?
33、Android 为什么引入 Parcelable?
34、有没有尝试简化 Parcelable 的使用?
35、Bitmap 使用时候注意什么?
36、Oom 是否可以 try catch ?
37、多进程场景遇见过么?
38、Canvas.save()跟 Canvas.restore()的调用时机
39、数据库升级增加表和删除表都不涉及数据迁移,但是修改表涉及到对原有数据进行迁移。
40、编译期注解跟运行时注解
41、bitmap recycler 相关
42、强引用置为 null,会不会被回收?
43、Bundle 传递数据为什么需要序列化?
44、广播传输的数据是否有限制,是多少,为什么要限制?
45、是否了解硬件加速?
46、ContentProvider 的权限管理(读写分离,权限控制-精确到表级,URL 控 制)。
47、Fragment 状态保存
48、直接在 Activity 中创建一个 thread 跟在 service 中创建一个 thread 之间的区别?
49、如何计算一个 Bitmap 占用内存的大小,怎么保证加载 Bitmap 不产生内存溢出?
50、对于应用更新这块是如何做的?(灰度,强制更新,分区域更新)
51、请解释安卓为啥要加签名机制。
52、为什么 bindService 可以跟 Activity 生命周期联动?
53、如何通过 Gradle 配置多渠道包?
54、activty 和 Fragmengt 之间怎么通信,Fragmengt 和 Fragmengt 怎么通信?
55、自定义 view 效率高于 xml 定义吗?说明理由。
56、广播注册一般有几种,各有什么优缺点?
57、服务启动一般有几种,服务和 activty 之间怎么通信,服务和服务之间怎么通信
58、ddms 和 traceView 的区别?
59、ListView 卡顿原因
60、AndroidManifest 的作用与理解
61、LaunchMode 应用场景
62、说说 Activity、Intent、Service 是什么关系
63、ApplicationContext 和 ActivityContext 的区别
64、Handler、Thread 和 HandlerThread 的差别
65、ThreadLocal 的原理
66、计算一个 view 的嵌套层级
67、MVP,MVVM,MVC 解释和实践
68、SharedPrefrences 的 apply 和 commit 有什么区别?
69、Base64、MD5 是加密方法么?
70、HttpClient 和 HttpConnection 的区别?
71、ActivityA 跳转 ActivityB 然后 B 按 back 返回 A,各自的生命周期顺序,A 与 B 均不透明。
72、如何通过广播拦截和 abort 一条短信?
73、BroadcastReceiver,LocalBroadcastReceiver 区别?
74、如何选择第三方,从那些方面考虑?
75、简单说下接入支付的流程,是否自己接入过支付功能?
76、单例实现线程的同步的要求
77、如何保证 Service 不被杀死?
78、说说 ContentProvider、ContentResolver、ContentObserver 之间的关系?
79、如何导入外部数据库?
80、LinearLayout、FrameLayout、RelativeLayout 性能对比,为什么?
81、scheme 跳转协议
82、HandlerThread
83、IntentService
84、如何将一个 Activity 设置成窗口的样式。
85、Android 中跨进程通讯的几种方式
86、显示 Intent 与隐式 Intent 的区别
87、Android Holo 主题与 MD 主题的理念,以及你的看法
88、如何让程序自动启动?
89、Fragment 在 ViewPager 里面的生命周期,滑动 ViewPager 的页面时 Fragment 的生命周期的变化。
90、如何查看模拟器中的 SP 与 SQList 文件。如何可视化查看布局嵌套层数与加载
时间。
91、各大平台打包上线的流程与审核时间,常见问题(主流的应用市场说出 3-4 个)
92、屏幕适配的处理技巧都有哪些?
93、动态布局的理解
94、怎么去除重复代码?
95、Recycleview 和 ListView 的区别
96、动态权限适配方案,权限组的概念
97、Android 系统为什么会设计 ContentProvider?
98、下拉状态栏是不是影响 activity 的生命周期
99、如果在 onStop 的时候做了网络请求,onResume 的时候怎么恢复?
100、Debug 和 Release 状态的不同
101、dp 是什么,sp 呢,有什么区别
102、自定义 View,ViewGroup 注意那些回调?
103、android 中的存储类型
104、Activity 的生命周期,finish 调用后其他生命周期还会走么?
105、有遇到过哪些屏幕和资源适配问题?
106、项目中遇到哪些难题,最终你是如何解决的?
107、listview 图片加载错乱的原理和解决方案。
108、invalidate 和 requestLayout 的区别及使用。
109、如何反编译,对代码逆向分析。
110、RemoteViews 实现和使用场景
评论