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

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

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、线程同步方法有哪些?怎样防止线程死锁?

相关推荐
zhaoshuzhaoshu2 小时前
Android 系统启动与调试中的日志抓取方式全解析
android
雨声不在3 小时前
android 动画掉帧
android
在多学一点4 小时前
MYSQL第二次作业
android·数据库·mysql
骑着蜗牛撵大象3274 小时前
MySQL 8.0 迁移后 SQL 变慢:执行计划里 3 类被忽略的成本差异
android·数据库·sql·mysql·优化器·执行计划
我叫张土豆5 小时前
Android 14+ 模拟器抓包实录:把 Burp CA 装成系统 CA,让 targetSdk≥34 的 App 乖乖解密
android
booboosui8 小时前
Android 悬浮窗藏不住自己:一个标志位与 140 毫秒
android
传奇开心果8 小时前
【Flutter踩坑排雷】第5课:扩展方法冲突坑|同名扩展引发编译歧义,故障规避手段
android·flutter
.痞老板.11 小时前
mysql初阶--数据类型
android·数据库·mysql
StarsGreen11 小时前
Android 启动流程详解
android·linux·单片机·嵌入式硬件
booboosui1 天前
Android 上来电怎么判:7 个条件加 5 个中文词
android