大家好!今天给小伙伴分享20道BAT等大厂Android岗面试都会问的问题,对于这20题还整理了一些视频讲解分析+完整的Android知识体系PDF,在文末有免费获取!有不对的地方也可以在评论区留言探讨,也可以转发关注下我以后会长期分享!
Android 面试帮助篇
1 、要做一个尽可能流畅的 ListView ,你平时在工作中如何进行优化
的?
①Item 布局, , 层级越少越好, , 使用 hierarchyview **
②复用 convertView
③使用 ViewHolder
④item 中有图片时,异步加载
⑤快速滑动时,不加载图片
⑥item 中有图片时,应对图片进行适当压缩
⑦实现数据的分页加载
2 、对于 Android 的安全问题,你知道多少
①错误导出组件
② 参数校验不严
③WebView 引入各种安全问题,webview 中的 js 注入
④不混淆、不防二次打包
⑤明文存储关键信息
⑦ 错误使用 HTTPS
⑧山寨加密方法
⑨滥用权限、内存泄露、使用 debug 签名
3 、如何缩减 APK 包大小?
代码
保持良好的编程习惯,不要重复或者不用的代码,谨慎添加 libs,移除使用不到
的 libs。
使用 proguard 混淆代码,它会对不用的代码做优化,并且混淆后也能够减少安
装包的大小。
native code 的部分,大多数情况下只需要支持 armabi 与 x86 的架构即可。如果
非必须,可以考虑拿掉 x86 的部分。
资源
使用 Lint 工具查找没有使用到的资源。去除不使用的图片,String,XML 等等。
assets 目录下的资源请确保没有用不上的文件。
生成 APK 的时候,aapt 工具本身会对 png 做优化,但是在此之前还可以使用其
他工具如 tinypng 对图片进行进一步的压缩预处理。
jpeg 还是 png,根据需要做选择,在某些时候 jpeg 可以减少图片的体积。 对于
9.png 的图片,可拉伸区域尽量切小,另外可以通过使用 9.png 拉伸达到大图效
果的时候尽量不要使用整张大图。
策略
有选择性的提供 hdpi,xhdpi,xxhdpi 的图片资源。建议优先提供 xhdpi 的图片,
对于 mdpi,ldpi 与 xxxhdpi 根据需要提供有差异的部分即可。
尽可能的重用已有的图片资源。例如对称的图片,只需要提供一张,另外一张图
片可以通过代码旋转的方式实现。
能用代码绘制实现的功能,尽量不要使用大量的图片。例如减少使用多张图片组
成 animate-list 的 AnimationDrawable,这种方式提供了多张图片很占空间。
4 、Android 与服务器交互的方式中的对称加密和非对称加密是什么?
对称加密,就是加密和解密数据都是使用同一个 key,这方面的算法有 DES。
非对称加密,加密和解密是使用不同的 key。发送数据之前要先和服务端约定生
成公钥和私钥,使用公钥加密的数据可以用私钥解密,反之。这方面的算法有
RSA。ssh 和 ssl 都是典型的非对称加密。
5 、设备横竖屏切换的时候,接下来会发生什么?
1、不设置 Activity 的 android:configChanges 时,切屏会重新调用各个生命周期,
切横屏时会执行一次,切竖屏时会执行两次
2、设置 Activity 的 android:configChanges=”orientation”时,切屏还是会重新调
用各个生命周期,切横、竖屏时只会执行一次
3、设置 Activity 的 android:configChanges=”orientation|keyboardHidden”时,切
屏不会重新调用各个生命周期,只会执行 onConfigurationChanged 方法
6、 Android 启动 Service 的两种方式是什么? 它们的适用情况是什么?
如果后台服务开始后基本可以独立运行的话,可以用 startService。音乐播放器就
可以这样用。它们会一直运行直到你调用 stopSelf 或者 stopService。你可以通过
发送 Intent 或者接收 Intent 来与正在运行的后台服务通信,但大部分时间,你只
是启动服务并让它独立运行。如果你需要与后台服务通过一个持续的连接来比较
频繁地通信,建议使用 bind()。比如你需要定位服务不停地把更新后的地理位置
传给 UI。Binder 比 Intent 开发起来复杂一些,但如果真的需要,你也只能使用它。
startService:生命周期与调用者不同。启动后若调用者未调用 stopService 而直接
退出,Service 仍会运行
bindService:生命周期与调用者绑定,调用者一旦退出,Service 就会调用
unBind->onDestroy
7 、谈谈你对 Android 中 Context 的理解?
Context:包含上下文信息(外部值) 的一个参数. Android 中的 Context 分三
种,Application Context ,Activity Context ,Service Context.
它描述的是一个应用程序环境的信息,通过它我们可以获取应用程序的资源和类,
也包括一些应用级别操作,例如:启动一个 Activity,发送广播,接受 Intent 信
息等
8 、Service 的 onCreate 回调在 UI 线程中吗?
Service 生命周期的各个回调和其他的应用组件一样,是跑在主线程中,会影响
到你的 UI 操作或者阻塞主线程中的其他事情
9 、请介绍下 AsyncTask 的内部实现,适用的场景是?
AsyncTask 内部也是 Handler 机制来完成的,只不过 Android 提供了执行框架来提
供线程池来执行相应地任务,因为线程池的大小问题,所以 AsyncTask 只应该用来执行耗时时间较短的任务,比如 HTTP 请求,大规模的下载和数据库的更改不
适用于 AsyncTask,因为会导致线程池堵塞,没有线程来执行其他的任务,导致
的情形是会发生 AsyncTask 根本执行不了的问题。
10 、谈谈你对 binder 机制的理解?
binder 是一种 IPC 机制,进程间通讯的一种工具.
Java 层可以利用 aidl 工具来实现相应的接口.
11 、Android 中进程间通信有哪些实现方式?
Intent,Binder(AIDL),Messenger,BroadcastReceiver
12 、介绍下实现一个自定义 view 的基本流程
1、自定义 View 的属性 编写 attr.xml 文件
2、在 layout 布局文件中引用,同时引用命名空间
3、在 View 的构造方法中获得我们自定义的属性 ,在自定义控件中进行读取(构
造方法拿到 attr.xml 文件值)
4、重写 onMesure
5、重写 onDraw
13 、Android 中 touch 事件的传递机制是怎样的?
14 、Android 多线程的实现方式有哪些?
15 、Android 开发中何时使用多进程?使用多进程的好处是什么?
16 、ANR 是什么?怎样避免和解决 ANR?
17 、Android 下解决滑动冲突的常见思路是什么?
18 、如何把一个应用设置为系统应用?
19 、Android 内存泄露研究?
20 、内存泄露检测有什么好方法?
对于这20道一线互联网公司常问的问题,不仅整理了一份完整的核心学习笔记还有配套的视频讲解分析在短期学习掌握,有需要的朋友可以
视频和核心学习笔记的获取方式:VX:mm14525201314免费领取
相关推荐
吊打面试官的Spring Boot灵魂35问!经典中的经典。错过就是你的损失!!!! 笔者录:Spring Boot 是微服务中最好的 Java 框架. 我建议你能够成为一名 Spring Boot 的专家。此文档精选了三十五个常见的 Spring ...
灵魂拷问.exe
* 网络知识点灵魂拷问——前端面试必问 Node.js: * 浏览器的工作原理:新式网络浏览器幕后揭秘 React: * React-Redux 100 行代码简易版探究原理 * 深入浅出 Redux 原理 * 你真的了解 React 生命周期吗 Vue.js...
因此,主播在介绍产品时应注重品质,提供专业建议,帮助消费者“躲坑避雷”。 综上所述,玩具电商直播想要取得成功,需要精细打磨直播的每一个环节。平台选择、直播时段、时长、主播选择以及产品介绍方式都将对最终...
以下是这五大灵魂拷问的详细解析: 1. 直播内容策划:如何吸引并留住观众? 直播内容是吸引观众的关键。对于玩具电商直播,主播需要了解目标受众——通常是孩子和他们的父母——的兴趣和需求。内容应包括玩具的趣味...
来自数字化转型深处的100个灵魂拷问.docx
本解析系列关注于湿垃圾的处理问题,探讨了垃圾分类制度如何影响餐厨垃圾处理市场,并分析了当前湿垃圾处理体系建设状况及其未来的发展趋势。 垃圾分类制度对餐厨垃圾处理市场的推动 垃圾分类制度的实施,尤其是...
接受这一设定,尽管可能让人不适,却能揭示对方对冲突的看法,帮助我们深入理解对方的立场和感受。 7. **沟通策略的应用**:通过上述方法,我们可以更有效地进行沟通,避免误会,并为解决冲突创造条件。在实际操作...
计算机技术、IT咨询、人工智能AI理论介绍,学习参考资料 计算机技术、IT咨询、人工智能AI理论介绍,学习参考资料 计算机技术、IT咨询、人工智能AI理论介绍,学习参考资料 计算机技术、IT咨询、人工智能AI理论介绍,...
写这篇文章的初衷,是与本科生的接触过程中看到了一些对于科研的困惑或者误区,所以想大概介绍一下本科生的科研之路第一脚该从哪里走起。所以本篇文章的定位不是侧重学术性,也不会侧重于教育性,而是一些个人经验的...
在农村信用社或农商银行的面试中,考生往往会遇到一系列常见错误,这些错误可能对面试结果产生负面影响。以下是对这些错误的详细说明及其解答策略: 一、面试外在形象中的错误及解答 1. 入场礼仪忽视:考生应重视...
产品质量的深度直击与尖锐拷问(下)_张锐.caj
网络安全与技术发展紧密相连,随着互联网技术的不断进步,网络空间的安全问题也日益凸显。ZAO事件中,用户信息和隐私安全问题成为了公众关注的焦点,反映出在AI换脸等新技术应用普及的同时,网络安全问题也需要得到...
二面是“拷问式”面试,由两位经理进行一对一提问。面试形式相对传统,但问题覆盖面广,包括个人经历、成就等方面,要求候选人用中英文流畅表达。为应对这种面试,建议提前梳理自己的经历,准备好中英文表述,展现...
试试看,你的产品能否经受这14个拷问:提到产品评判(ProductCritique),我们常常能想到白板上各式各样的箭头图表以及“产品–市场契合度”、“价值主张”等一些抽象的概念。在面试中问出这样的问题听到的也多是充满...
【中国春节大拷问PPT模板】是一种专为春节期间设计的互动工具,旨在帮助人们更好地理解和分享关于中国春节的传统、习俗以及文化知识。这个压缩包文件包含了一个名为"51pptmoban.com"的文件,这可能是一个PPT模板网站...
忘忧的个人微信公众号:算法之灵魂拷问,欢迎大家一起探讨沟通,有留言必回! csdn博客地址: 这个工程将持续更新一些比较有趣的算法题的题解,希望能够在接下来的过程中,与大家一起有所收获,有所成长。 大家有...
读《夹边沟记事》有感人性的拷问.doc