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

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

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

相关推荐
故事不长丨18 小时前
安卓相机开发:Camera、Camera2与CameraX的使用对比及选型指南
android·相机·camera·camerax·camera2·移动设备·相机开发
_李小白19 小时前
【Android 美颜相机】第七天:GLTextureView 解析
android·数码相机
honortech19 小时前
Android studio中配置gradle和对应的AGP版本
android·ide·android studio
廋到被风吹走19 小时前
【数据库】【MySQL】事务隔离深度解析:MVCC 实现与幻读解决机制
android·数据库·mysql
AC赳赳老秦19 小时前
技术文档合著:DeepSeek辅助多人协作文档的风格统一与内容补全
android·大数据·人工智能·微服务·golang·自动化·deepseek
赛恩斯19 小时前
安卓构建工具D8和R8的区别
android
—Qeyser19 小时前
Flutter CustomScrollView 自定义滚动视图 - 完全指南
android·flutter·ios
鸣弦artha20 小时前
Flutter 框架跨平台鸿蒙开发 —— Image Widget 图片处理:圆角、裁剪、阴影
android·flutter·harmonyos
—Qeyser20 小时前
Flutter ListView 列表组件完全指南
android·flutter·ios
独自破碎E20 小时前
包含min函数的栈
android·java·开发语言·leetcode