本人遇过的常见安卓面试题(持续更新)

结合个人经历,记录下常见安卓面试题:

1、是否阅读过glide源码,glide有多少级缓存,说下glide加载图片流程。

2、讲述下mvvm架构、mvp架构

3、rxjava有哪些常用方法,如何并行执行任务?

4、handler原理,为何一个线程最多只有一个looper。子线程如何启动消息循环?

5、页面如何显示出来的?比如一个activity从setContentView开始,一直到页面显示出来,执行了哪些流程? 哪个方法调用后可以看到页面?

6、HashMap原理,HashMap是如何实现查找的,该算法时间复杂度是多少?

7、知道哪些线程安全集合?

8、了解安卓组件化开发吗?如何实现组件化开发?组件间如何通信?

9、协程是怎么实现的

10、如何实现一个线程池,参数都是什么意思?如果线程池中线程数达到最大值,继续有任务加入,线程池会怎样?

11、说下Android类加载机制

12、了解安卓插件化开发吗?宿主如何加载插件apk中的类?宿主如何访问插件apk中的资源。

13、是否做过flutter开发?

14、安卓各版本有啥差异

15、Java和c++有哪些区别

16、https证书校验过程

17、多个进程访问同一个资源文件,如何同步?

18、apk打包流程,签名校验流程

19、Android事件分发机制

20、详述下AMS

21、如何自定义控件,onMeasure方法用到的几种测量方法都是什么意思?

22、udp协议和tcp协议区别是什么

23、TS的异步方法是在子线程执行吗?

24、是否用过jni,如何用?

25、说下对称加密和非对称加密算法

26、如何性能优化,有什么经验,用的什么工具?

27、详述TCP协议3次握手、4次挥手的过程

28、怎样判断一个点在一个封闭图形内部?

29、LRUCache缓存实现原理

30、熟悉哪些设计模式?讲讲

31、okhttp怎么用,有哪些常用方法?过滤器能实现哪些功能?

32、从点击app图标开始,讲述应用启动流程。

33、安卓跨进程通信方式有哪些?aidl跨进程通信原理是什么?

34、广播有优先级吗?广播接收器可以终止广播传播吗?

35、IntentServie如何使用,任务在哪个线程执行的?

36、了解数据库锁吗?如何使用?乐观锁、悲观锁都是什么意思?

37、了解git哪些命令?git命令中rebase是什么意思?

38、怎样防止应用崩溃退出?无论如何都不能让应用崩溃退出,如何实现?

39、bindService和startService有什么不同?分别说下service生命周期。

40、activity启动模式有哪些,请详细说明差异和使用场景。

41、个人亮点,解决过什么疑难问题,如何解决的

42、某一项工作,比如开发一个音乐播放器,任务如何给组员拆解安排?

43、ANR问题如何解决?

44、如何实现消息推送?

45、如何实现即时通讯?

46、ThreadLocal原理,如何实现变量的线程隔离的?

47、java volatile关键字是什么意思,怎么用?

48、线程同步方法有哪些?怎样防止线程死锁?

相关推荐
_祝你今天愉快3 小时前
UI核心 - UI绘制流程及原理
android
mmsx3 小时前
Android 一个设备多个 App 抢:跨进程共享服务的架构设计
android·kotlin·app
mmsx4 小时前
Android GIS系列 栅格怎么存、格网怎么归算:两个容易混淆的 GIS 链路
android·性能优化·app
陈柒吖4 小时前
安卓代码加固(1):加密DEX
android·前端
mmsx4 小时前
Android GIS系列 串口、蓝牙、USB、网络:一套统一抽象怎么扛住四种通道
android·app·产品
二流小码农4 小时前
鸿蒙开发:ArrayList,可不会让UI更新哦
android·ios·harmonyos
hai_android4 小时前
深入理解 Java 的四种引用:强引用、软引用、弱引用、虚引用
android·kotlin·android jetpack
恋猫de小郭4 小时前
Flutter Golden Tests:给 AI Agent 的 UI 测试系统
android·前端·flutter
知昂七昂4 小时前
AOSP编译:敲下 `lunch xxx-userdebug`,你知道系统偷偷干了什么吗?
android
千里马学框架6 天前
一起学 Android 14:ShellTransition 屏幕旋转过程深度剖析
android·智能手机·性能优化·framework·性能·屏幕旋转·rotation