面试过程:
一面
1.android的消息机制
2.为什么每个线程最多只能有一个Looper?这是怎么实现的?
3.Handler为什么会引发内存泄漏?有哪些解决方式?
4.安卓中常用的四种引用类型是什么?它们的特点分别是什么?
5.flutter的使用体会
6.statelesswidget和statefulwidget的异同
7.flutter的状态管理
8.JVM的GC算法都有哪些?详细介绍一下分代算法中新生代部分。'stop the world'是什么意思?
9.android的事件传递机制。如何解决滑动冲突?
10.给一段代码,要求找出代码中出现的错误,并且说出这些错误会导致什么报错
11.HashMap的实现。红黑树的性质
二面
1.android线程通信有几种实现方式?
2.自己做的社交app有用到哪些第三方库?
3.为什么选用Glide作为app的图片加载库?有考虑别的库吗?
4.Glide使用时要注意哪些问题?
5.android的进程通信机制有哪些?它们是怎么实现进程通信的?
6.了解ANR吗?什么情况下会出ANR?为什么消息队列不会引发ANR?
7.android的事件传递机制
8.adnroid的自定义view如何进行优化?
9.app如何保活?
10.你写的应用的抽象架构是什么样的?为什么要搭建这样一个模型?
11.LiveData和ViewModel的实现原理
12.为什么谷歌开始建议开发单Activity的app?
13.了解模块化吗?什么是模块化?
14.flutter在状态管理上都有哪些解决方案?你对这些解决方案有什么看法?
15.算法题:合并两个有序链表
三面
1.Room库和传统的Sqlite有什么不同?它是怎么实现的?使用Room的好处在哪里?
2.如何对app进行增量更新?
3.在一个陌生的城市,如何确定该城市是否适合投放网约车业务?
4.要对1000个人进行新冠检测,最少要检测几次?
5.app国际化会遇到哪些难题?
作者:Android开发架构师
链接:https://www.jianshu.com/p/70d2c024696d
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。