首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
牛客454011114号
福州外语外贸学院 安卓
发布于福建
关注
已关注
取消关注
@爱打球的程小员许乔丹:
目录大全_Android面经安卓面经_150道安卓基础面试题
150道安卓高频面试题答案订阅链接 --> 《Android面试题解析大全》本人是2020年毕业于广东工业大学研究生:许乔丹,有国内大厂CVTE和世界500强企业安卓开发经验,该专栏整理本人对常见安卓高频开发面试题的理解;网上安卓资料千千万,笔者将继续维护专栏,一杯奶茶价格不止提供答案解析,承诺提供专栏内容免费技术答疑,直接咨询即可。助您提高安卓面试准备效率,为您面试保驾护航!目录开始⬇(承诺提供免费技术答疑)第一部分:四大组件篇1、Activity请介绍Activity的生命周期?⭐⭐⭐⭐⭐请介绍Activity的4种启动模式?⭐⭐⭐⭐请说下切换横竖屏时 Activity的生命周期变化?⭐⭐⭐⭐2、Service请介绍Service的启动方式,启动方式的区别?⭐⭐⭐⭐⭐⭐请介绍Service的生命周期?⭐⭐⭐⭐⭐Activity、Service、intent之间的联系?⭐⭐⭐⭐在Activity和Service中创建Thread的区别?(进阶题)⭐⭐⭐android进程的优先级?以及如何保证Service不被杀死?(进阶题)⭐⭐⭐⭐3、BroadCast请介绍Android里广播的分类?⭐⭐⭐⭐程序A能否接收到程序B的广播?⭐⭐⭐请列举广播注册的方式,并简单描述其区别?⭐⭐⭐⭐⭐4、内容提供者什么是内容提供者?⭐⭐⭐⭐⭐简单介绍下 ContentProvider 是如何实现数据共享的(原理)?⭐⭐⭐⭐说说 ContentProvider、ContentResolver、ContentObserver 之间的关系?⭐⭐⭐⭐说说如何创建自己应用的内容提供者的使用场景。⭐⭐⭐说说ContentProvider的权限管理。⭐⭐⭐为什么要使用通过ContentResolver类从而与ContentProvider类进行交互,而不直接访问ContentProvider类?⭐⭐⭐ContentProvider的底层是采用Android中的Binder机制,既然已经有了binder实现了进程间通信了为什么还会需要contentProvider?⭐⭐⭐⭐第二部分:Android基础知识篇5、Context谈谈你对Activity的Context的认识?⭐⭐⭐⭐⭐Application和Activity,Context的区别?⭐⭐⭐⭐⭐getApplication()和getApplicationContext()的区别?⭐⭐⭐⭐context错误用法有哪些?⭐⭐⭐如何正确使用Context,如何获取Context?⭐⭐⭐⭐一个应用程序有几个Context? ⭐⭐⭐⭐6、Intent什么是Intent? ⭐⭐⭐⭐⭐显式Intent和隐式Intent的区别?⭐⭐⭐⭐在隐式启动中Intent可以设置多个action,多个category吗?⭐⭐⭐⭐隐式Intent的匹配规则?⭐⭐⭐⭐⭐Activity之间传递数据的方式Intent是否有大小限制,如果传递的数据量偏大,有哪些方案?⭐⭐⭐7、8、Handler异步消息机制请介绍下Handler消息机制 ⭐⭐⭐⭐⭐Handler 引起的内存泄露原因以及最佳解决方案 ⭐⭐⭐⭐⭐为什么我们能在主线程直接使用 Handler,而不需要创建 Looper ? ⭐⭐⭐⭐⭐Handler、Thread和HandlerThread的差别 ⭐⭐⭐⭐子线程中怎么使用 Handler? ⭐⭐⭐⭐为什么在子线程中创建 Handler 会抛异常?⭐⭐⭐⭐Handler 里藏着的 Callback 能干什么?⭐⭐⭐Handler 的 send 和 post 的区别?⭐⭐⭐⭐创建 Message 实例的最佳方式 ⭐⭐⭐Message 的插入以及回收是如何进行的,如何实例化一个 Message 呢?⭐⭐⭐妙用Looper机制,或者你知道Handler机制的其他用途吗?⭐⭐⭐Looper.loop()死循环一直运行是不是特别消耗CPU资源呢?不会造成应用卡死吗?⭐⭐⭐⭐⭐MessageQueue 中如何等待消息?为何不使用 Java 中的 wait/notify 来实现阻塞等待呢?⭐⭐你知道延时消息的原理吗?⭐⭐⭐⭐handler postDelay这个延迟是怎么实现的?⭐⭐⭐⭐如何保证在msg.postDelay情况下保证消息次序?⭐⭐⭐更新UI的方式有哪些 ⭐⭐⭐⭐线程、Handler、Looper、MessageQueue 的关系?⭐⭐⭐⭐多个线程给 MessageQueue 发消息,如何保证线程安全?⭐⭐⭐View.post 和 Handler.post 的区别?⭐⭐⭐你知道 IdleHandler 吗?⭐⭐9、HandlerThreadHandlerThread是什么?⭐⭐⭐⭐⭐HandlerThread原理和使用场景?⭐⭐⭐⭐10、AsyncTaskAsyncTask是什么?能解决什么问题 ⭐⭐⭐⭐给我谈谈AsyncTask的三个泛型参数作用以及它的一些方法作用。⭐⭐⭐给我说说AsyncTask的原理。⭐⭐⭐你觉得AsyncTask有不足之处吗?有何使用注意事项?⭐⭐⭐11、IntentServiceIntentService是什么?⭐⭐⭐⭐⭐IntentService原理和使用场景?⭐⭐⭐⭐IntentService和Service的区别 ⭐⭐⭐⭐⭐12、FragmentFragment是什么?和Activity的联系?生命周期如何?⭐⭐⭐⭐⭐⭐Activity和Fragment之间如何通讯?Fragment和Fragment之间如何通讯?⭐⭐⭐⭐⭐Fragment的回退栈了解吗?⭐⭐⭐⭐Fragment的使用方式⭐⭐⭐你有遇到过哪些关于Fragment的问题,如何处理的?⭐⭐⭐13、Binder请介绍什么是Binder机制⭐⭐⭐⭐⭐请介绍Binder机制流程 ⭐⭐⭐⭐Binder机制需要多少次内存拷贝 ⭐⭐⭐Android有很多跨进程通信方法,为何选择Binder?⭐⭐⭐14、AIDL请介绍什么是AIDL⭐⭐⭐⭐⭐有几种AIDL文件?⭐⭐⭐一个程序AIDL文件的数量? ⭐⭐你有没有使用过AIDL?谈谈你如何实现的? ⭐⭐⭐⭐知道AIDL语法中的定向tag吗?⭐⭐⭐你能不能简单描述AIDL实现的原理?⭐⭐⭐15、SharedPreferencesSharedPreference是线程安全的吗?⭐⭐⭐SharedPreference的apply和commit的区别?commit 一定会在主线程操作嘛?⭐⭐⭐⭐⭐SharedPreferences 是如何初始化的,它会阻塞主线程吗?⭐⭐⭐每次获取 SP 对象真的会很慢吗?⭐⭐⭐在使用时需要注意哪些问题,以及有什么优化点呢?⭐⭐⭐⭐16、线程池线程池的种类⭐⭐⭐⭐⭐线程池的优点⭐⭐⭐⭐平时当中使用案例⭐⭐⭐⭐ThreadPoolExecutor类有了解吗?⭐⭐第三部分:View相关篇17、Activity、Window、DecorView以及ViewRoot层级关系请讲述Activity、Window、DecorView以及ViewRoot之间的层级关系⭐⭐⭐⭐⭐DecorView什么时候可见?⭐⭐⭐⭐18、触摸事件分发机制请介绍什么是事件分发机制,以及对应流程⭐⭐⭐⭐⭐谈谈你对MotionEvent的认识?Cancel事件是什么情况下触发的⭐⭐⭐OnTouchListener & OnTouchEvent & OnClickListener三者之间的关系⭐⭐⭐⭐19、View绘制流程请介绍View的三大绘制流程 ⭐⭐⭐⭐⭐你知道View绘制前的准备流程吗?⭐什么是MeasureSpec?⭐⭐⭐测量模式有哪三种?⭐⭐为什么有时候getMeasuredWidth获取值为0?⭐⭐绘制的顺序是怎么样?⭐⭐20、自定义View自定义View的流程 ⭐⭐⭐⭐⭐自定义View需要重写哪些函数?说说你在自定义View时常常重写的一些方法? ⭐⭐⭐⭐自定义View的种类有哪些?给我说说你之前项目中的案例。⭐⭐⭐⭐说说自定义View中如何自定义属性?⭐⭐⭐自定义View如何处理padding?⭐⭐自定义View效率高于xml布局文件吗?⭐⭐自定义View什么时候需要处理wrap_content属性?怎么处理?⭐第四部分:Android进阶篇21、序列化序列化是什么?⭐⭐⭐⭐序列化的作用?什么时候需要序列化? ⭐⭐⭐⭐Android中序列化方式有几种?说说它们的区别。⭐⭐⭐⭐⭐Bunder传递对象为什么需要序列化?⭐⭐⭐22、JNI/NDK什么是JNI?它主要用来干什么。 ⭐⭐⭐⭐⭐Java 声明的Native方法如何和Native层的Native函数进行绑定的?(也就是介绍两种注册方法)⭐⭐⭐⭐⭐JNI如何实现数据传递?⭐⭐⭐⭐如何全局捕获Native发生的异常?⭐⭐⭐JNIEnv与JavaVM的关系⭐⭐⭐⭐C和C++的JNIEnv的区别 ⭐⭐⭐JNI项目配置和数据映射 ⭐⭐23、设计模式使用案例说说设计模式的六大原则。⭐⭐⭐请简要谈一谈单例模式?⭐⭐⭐⭐⭐请列出几种常见的工厂模式并说明它们的用法?⭐⭐⭐⭐静态代理和动态代理的区别,什么场景使用?⭐⭐⭐⭐⭐谈一谈责任链模式的使用场景?⭐⭐⭐请讲讲你会使用的一些设计模式?⭐⭐⭐⭐能否给我说说Android中至少3个用到设计模式的例子? ⭐⭐⭐⭐⭐24、APK启动流程你知道桌面点击应用图标到应用显示期间系统实现了什么流程吗?⭐⭐⭐⭐冷启动和热启动的区别 ⭐⭐桌面点击启动APP和从另一个程序跳转过去有什么区别?⭐⭐25、MVC、MVP、MVVM说说你对MVC、MVP、MVVM的理解,他们有什么区别和联系,如何演变的? ⭐⭐⭐⭐⭐MVVM的优点和缺点 ⭐⭐⭐⭐为什么Activity旋转屏幕后ViewModel可以恢复数据 ⭐⭐ViewModel 的实例缓存到哪儿了 ⭐⭐什么时候 ViewModel#onCleared() 会被调用 ⭐⭐26、缓存机制你了解Android中的缓存机制吗?⭐⭐⭐⭐LruCache的源码看过吗?⭐⭐⭐还有用过哪些缓存工具?⭐⭐⭐⭐27、APK打包流程和反编译请讲述一下APK打包的流程? ⭐⭐⭐⭐使用过哪些反编译的工具?⭐⭐⭐28、注解你是否了解注解?⭐⭐⭐⭐⭐你知道元注解吗?⭐⭐⭐知道如何使用自定义注解吗?有哪些实现方法?⭐⭐⭐⭐具体说一下编译时注解的实现思路⭐⭐⭐⭐如何使用注解代替枚举?⭐⭐⭐你知道哪些常用的注解?⭐⭐⭐⭐第五部分:Android性能优化篇29、内存优化什么是OOM、内存泄漏、内存抖动?如何发生的? ⭐⭐⭐⭐⭐Handler导致的内存泄露你是如何解决的? ⭐⭐⭐⭐知道如何定位内存泄漏吗?有什么工具?⭐⭐⭐⭐请至少例举出5种内存泄漏情况。⭐⭐⭐⭐⭐在 Android 中如何避免内存泄漏?⭐⭐⭐⭐⭐谈谈你项目中内存优化的一些经验(开放题)⭐⭐⭐30、卡顿优化造成系统卡顿的根本原因 ⭐⭐⭐什么是 ANR ?导致原因有哪些?⭐⭐⭐⭐⭐如何避免发生 ANR ?⭐⭐⭐⭐分别说说Activity、BroadcastReceiver、Serice最长可耗时时间为多少?⭐⭐⭐⭐⭐谈谈你项目中避免ANR的一些经验(开放题)⭐⭐有什么方法和工具可以分析ANR ⭐⭐⭐以上内容均提供售后答疑牛客高级系列专栏:安卓(安卓系统开发也要掌握)想通关安卓面试,请看:《150道安卓高频面试题目录及答案链接》想通关安卓系统面试,请看:《140道安卓系统Framework面试题目录及答案链接》想进阶安卓开发,请看:《Android进阶知识体系解析_15大安卓进阶必备知识点》想了解安卓APP完整开发流程,请看:《安卓APP完整开发流程》想掌握安卓App性能优化,请看:《安卓性能优化讲解和实战专栏》想掌握Gradle语法,制作Gradle插件,请看:《安卓Gradle语法解析和实践大全》嵌入式想通关嵌入式面试,请看: 《111道嵌入式面试题目录及答案链接》想多掌握几个嵌入式项目,请看:《6个嵌入式项目交流分享(附源码)》
点赞 67
评论 11
全部评论
推荐
最新
楼层
暂无评论,快来抢首评~
相关推荐
07-18 13:40
南京林业大学 golang
百度一面看错手撕题...
这两天保持平均每天刷五道题练手感,然后刷多了,一面手撕一看这不是全排列吗,三下五除二就回溯出来了然后面试官提醒说你是不是看错题了面试官评价我基础不错,看错题不应该球球不要挂主包....
百度一面662人在聊
点赞
评论
收藏
分享
07-15 11:41
门头沟学院 Java
秋招第一挂
点赞
评论
收藏
分享
07-04 15:54
广东白云学院 Java
大二暑期找不到实习啊!
大二期末周才想起来要去找一份实习,可惜太晚了,实习岗位都被抢完了,boss投了一个多星期,基本上都是已读不回,更有一些简历都没发就说不合适。第一次感受到java竞争的强度,想要找一份实习,不然怕没实习经验大四毕业都找不到工作,各位大佬看看简历还有什么地方需要修改。
程序员小白条:
主要太晚投了,然后是学历层次,很多已读不回也正常,多持续一段时间吧, 算法多刷刷先,说不定有用
点赞
评论
收藏
分享
06-19 14:10
西南财经大学 Java
末211大三去实习还是all in秋招呢?
4月初开始学Java,急于求成,先做了项目,基础不扎实,简历(如下)外卖➕点评,面试了几个中小厂,发现自己的基础很不扎实,边学边投,目前有一个100-299人的电信外包厂实习offer,是all in秋招,还是去实习呢?简历如下。🐮爷爷们给点建议,简历给点建议也行😔
程序员小白条:
秋招前最好有实习,但你才学了没多久,还是好好准备八股、算法、以及项目这些吧,基础要扎实,不然你秋招依然不会,实习还好
无实习如何秋招上岸
点赞
评论
收藏
分享
07-14 09:45
上海智元新创技术有限公司_强化学习算法工程师(准入职员工)
智元机器人内推
C++面经摘自优秀牛油先介绍了大概八分钟的科研项目然后开始拷打(有一些记不清了2333)C++部分:C++ 编译过程链接过程做了些什么智能指针介绍shared_ptr实现原理shared_ptr引用计数是原子性的吗怎么保证原子性的垃圾回收机制内存泄漏怎么排查内存泄漏排查工具的原理垃圾回收机制内存泄漏排查工具、垃圾回收机制、共享指针三个之间有什么关系stl map可以多线程同时写入吗stl里有容器是线程安全的吗int a,vector<int> b,同时作为函数参数,b存储在栈上还是堆上;操系统部分:协程和线程的区别协程切换的C++底层实现epoll\select\poll的区别为什...
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
滴滴提前批一面秒挂面经
7629
2
...
滴滴提前批一面
6447
3
...
我和妈妈讲以后我可能给不了她一个月1500
6397
4
...
腾讯提前批后台开发凉经teg
6397
5
...
后端实习到底该干什么啊
5268
6
...
实习,别太较真
4768
7
...
王侯将相宁有种乎!
4718
8
...
卷王的风气还是吹到了实习
3980
9
...
给公司上一课
3156
10
...
上班第一周总结
2487
创作者周榜
更多
正在热议
更多
#
打工人的工作餐日常
#
51582次浏览
402人参与
#
哪些公司真双非友好?
#
15046次浏览
81人参与
#
追觅科技求职进展汇总
#
17727次浏览
120人参与
#
你觉得技术面多长时间合理?
#
98714次浏览
716人参与
#
26届的你们有几段实习?
#
39393次浏览
448人参与
#
月薪多少能在一线城市生存
#
22237次浏览
271人参与
#
双非能在秋招上岸吗?
#
220835次浏览
1168人参与
#
你后悔自己读研吗?
#
17213次浏览
229人参与
#
非技术2023笔面经
#
248433次浏览
2412人参与
#
你以为的实习VS真实的实习
#
24307次浏览
222人参与
#
当下环境,你会继续卷互联网,还是看其他行业机会
#
117101次浏览
808人参与
#
你认为哪些项目算烂大街?
#
15982次浏览
265人参与
#
机械校招之路总结
#
93490次浏览
1893人参与
#
学历贬值真的很严重吗?
#
23378次浏览
166人参与
#
你被哪些公司秒挂过?
#
29354次浏览
237人参与
#
产品实习,你更倾向大公司or小公司
#
159353次浏览
1964人参与
#
网申一定要掌握的小技巧
#
10657次浏览
66人参与
#
找工作时的取与舍
#
82588次浏览
589人参与
#
最难的技术面是哪家公司?
#
8844次浏览
71人参与
#
机械人,你拿到几个offer啦
#
38718次浏览
320人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务