美文网首页Android技术知识
22年最新 Android 面试题整理~

22年最新 Android 面试题整理~

作者: 搬砖小老弟 | 来源:发表于2022-05-19 21:17 被阅读0次

    前言

    有许多Android开发者面试时,总被一些题难住,然后就吐槽面试官问的题很变态,其实我个人认为原因是每个人基础知识掌握的程度不同,有些题可能你觉得难,但别人可以轻易的答出,有些你答的出,别人不一定答的出,所以我们需要深入的把基础给打牢固。

    今天这篇文章来自一位很资深的前辈对于Android基础面试题目所做的总结归纳,一共有100+ 题目 ,知识面很广 ,而且对于每个问题都整理出了答案,不过因为篇幅太长,这里只放上面试题目,答案都整理好了一个文档,大家可以一起探讨,需要答案的可以 点击这里查看获取方式 传送门直达!!!

    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实现和使用场景
    111、对服务器众多错误码的处理(错误码有好几万个)
    112、adb常用命令行
    113、Android中如何查看一个对象的回收情况?
    114、Activity正常和异常情况下的生命周期
    115、关于< include >< merge >< stub >三者的使用场景
    116、Android对HashMap做了优化后推出的新的容器类是什么?
    117、说下你对服务的理解,如何杀死一个服务。
    118、断点续传实现?

    结语

    面试官面什么,完全是看他们个人的(性格,心情,天气,你的面相)。以上只是一些我觉得重要的点,当然还有很多深层的东西不是一时半日可以补上来的,还是要看自己平时的经验积累。面试不单单是技术面,还有高层面,人事面,这些都要看个人发挥了。

    PS:如果面试官说,还有什么想问的,千万不要给自己挖坑,说今天自己表现怎样,能不能被录取。要往公司的团队,氛围去问,尽量表现的对公司有兴趣。

    如:我想知道公司是否定期有开技术会议,老员工是否会分享自己的一些经验等这些问题。

    自己的知识准备得怎么样,这直接决定了你能否顺利通过一面和二面,所以在面试前来一个知识梳理,看需不需要提升自己的知识储备是很有必要的。

    关于知识梳理,这里再分享一下我面试这段时间的复习路线:(以下体系的复习文档是我从各路大佬收集整理好的)

    知识梳理完之后,就需要进行查漏补缺,所以针对这些知识点,我手头上也准备了不少的电子书和笔记,这些笔记将各个知识点进行了完美的总结:

    最后我在这里分享一下这段时间从朋友,大佬那里收集到的一些往年 BAT 面试真题解析,里面内容很多也很系统,包含了很多内容:Android 基础、Java 基础、Android 源码相关分析、常见的一些原理性问题等等,可以很好地帮助我们深刻理解Android相关知识点的原理以及面试相关知识

    这份文档把大厂面试中常被问到的技术点整理成了 PDF+知识脉络 + 诸多细节;还有 高级架构技术进阶脑图帮助大家学习提升进阶,也节省大家在网上搜索文档的时间来学习,也可以分享给身边好友一起学习,需要答案的可以 点击这里查看获取方式 传送门直达!!!

    接下来,列出一些面试需要注意的几个点:

    • 面带微笑,有礼貌,谦逊
    • 穿的体面一点,穿拖鞋的gg了8成
    • 一定要带简历和笔
    • 来了说谢谢,面完说谢谢
    • 要学会看面试官的表情,如果答的不好不要继续往下说
    • 不要吹的自己以前做过的项目有多牛b,也不要自吹
    • 答题要冷静,不要一轮嘴说一堆,面试官很烦的

    接下来会写几篇针对BAT等大厂的面试题锦集,很快就出炉拉,已经在整理。

    最后祝大家面试顺利,早日找到自己心仪的公司。

    相关文章

      网友评论

        本文标题:22年最新 Android 面试题整理~

        本文链接:https://www.haomeiwen.com/subject/auqxprtx.html