其他分享
首页 > 其他分享> > 今年最新整理的《高频Android面试题集合》,再不刷题就晚了

今年最新整理的《高频Android面试题集合》,再不刷题就晚了

作者:互联网

1.组件化中路由、埋点的实现

参考回答:

因为在组件化中,各个业务模块之间是各自独立的, 并不会存在相互依赖的关系, 所以一个业务模块是访问不了其他业务模块的代码的, 如果想从 A 业务模块的 A 页面跳转到 B 业务模块的 B 页面, 光靠模块自身是不能实现的,这就需要一种跨组件通信方案—— 路由(Router)

路由主要有以下两种场景:

其原理在于将分布在不同组件module中的某些类按照一定规则生成映射表(数据结构通常是Map,Key为一个字符串,Value为类或对象),然后在需要用到的时候从映射表中根据字符串从映射表中取出类或对象,本质上是类的查找

埋点则是在应用中特定的流程收集一些信息,用来跟踪应用使用的状况

2.Hook以及插桩技术

参考回答:

Hook是一种用于改变API执行结果的技术,能够将系统的API函数执行重定向(应用的触发事件和后台逻辑处理是根据事件流程一步步地向下执行。而Hook的意思,就是在事件传送到终点前截获并监控事件的传输,像个钩子钩上事件一样,并且能够在钩上事件时,处理一些自己特定的事件,例如逆向破解App)

Android 中的 Hook 机制,大致有两个方式:

插桩是以静态的方式修改第三方的代码,也就是从编译阶段,对源代码(中间代码)进行编译,而后重新打包,是静态的篡改; 而Hook则不需要再编译阶段修改第三方的源码或中间代码,是在运行时通过反射的方式修改调用,是一种动态的篡改

3.Android的签名机制?

参考回答:

Android的签名机制包含有消息摘要、数字签名和数字证书

4.Android5.0~10.0之间大的变化

参考回答:

4.1.Android5.0新特性

4.2.Android6.0新特性

4.3.Android7.0新特性

4.4.Android8.0(O)新特性

4.5.Android9.0(P)新特性

4.6.Android10.0(Q)新特性

5.说下Measurepec这个类

参考回答:

作用:通过宽测量值widthMeasureSpec和高测量值heightMeasureSpec决定View的大小
组成:一个32位int值,高2位代表SpecMode(测量模式),低30位代表SpecSize( 某种测量模式下的规格大小)。

三种模式:

决定因素:值由子View的布局参数LayoutParams和父容器的MeasureSpec值共同决定。具体规则见下图:

6.请例举Android中常用布局类型,并简述其用法以及排版效率

参考回答:

Android中常用布局分为传统布局和新型布局

7.区别Animation和Animator的用法,概述其原理

参考回答:

8.使用过什么图片加载库?Glide的源码设计哪里很微妙?

参考回答:

9.如何绕过9.0限制?

参考回答:

10.对于应用更新这块是如何做的? (灰度,强制更新、分区域更新)

参考回答:

10.1.内部更新:

10.2.灰度更新:

10.3.强制更新:

一般的处理就是进入应用就弹窗通知用户有版本更新,弹窗可以没有取消按钮并不能取消。这样用户就只能选择更新或者关闭应用了,当然也可以添加取消按钮,但是如果用户选择取消则直接退出应用。

10.4.增量更新:

二进制差分工具bsdiff是相应的补丁合成工具,根据两个不同版本的二进制文件,生成补丁文件.patch文件。通过bspatch使旧的apk文件与不定文件合成新的apk。 注意通过apk文件的md5值进行区分版本。

11.会用Kotlin、Fultter吗? 谈谈你的理解

参考回答:

总结

最后为了帮助大家深刻理解Android相关知识点的原理以及面试相关知识,这里放上相关的我搜集整理的14套腾讯、字节跳动、阿里、百度等2021面试真题解析,我把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包知识脉络 + 诸多细节。

2020面试真题解析
腾讯面试真题解析

阿里巴巴面试真题解析

字节跳动面试真题解析
网上学习 Android的资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。希望这份系统化的技术体系对大家有一个方向参考。

本文已被CODING开源项目:《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》收录

标签:面试题,布局,参考,不刷题,Hook,版本,Android,埋点
来源: https://www.cnblogs.com/010java/p/15370721.html