美文网首页
Android面试题总结

Android面试题总结

作者: RmondJone | 来源:发表于2021-02-28 20:58 被阅读0次

1、设计模式
2、IPC机制、Binder原理
3、多线程、线程中通讯、Volatile、ThreadLocal
4、四大组件
5、Service的2种启动方式
6、String、StringBuffer、StringBuild
7、静态内部类和内部类
8、mvc、mvp、mvvm mvvm中的DataBinding、LiveData、ViewModel
9、子线程为什么不能更新UI?因为ViewRootImpl绘制的时候会检测当前线程是否是主线程不是则抛出异常
10、Android 性能优化:内存、卡顿、耗电、启动速度
11、Android UI绘制流程、刷新流程
12、Android 帧率的检测
13、Handle机制:sendMessage和post的区别
14、AsycTask原理
15、JetPack一些组件的使用
16、类加载机制、双亲委派模型
17、JVM、JMM、GC
18、OKHttp、RxJava、Retrofit、Dargger2原理
19、自定义View、事件分发机制、ViewGroup的onDraw和View的onDraw
20、项目中遇到的难点、Bug:硬件加速闪退问题(so文件缺失)、内存溢出、Android9.0适配问题、Android5.0之前65535问题
21、App的启动过程
22、锁、锁的升级、读写锁与排它锁、乐观锁和悲观锁、公平锁和非公平锁、可重入锁与非可重入锁
23、死锁的原因,怎么预防死锁:
产生死锁的4个条件

  • 互斥使用:即当资源被一个线程使用(占有)时,别的线程不能使用
  • 资源不可抢占:资源请求者不能强制从资源占有者手中夺取资源,资源只能由资源占有者主动释放。
  • 请求和保持 :即当资源请求者在请求其他的资源的同时保持对原有资源的占有。
  • 循环等待:即存在一个等待队列:P1占有P2的资源,P2占有P3的资源,P3占有P1的资源。这样就形成了一个等待环路

死锁的预防

  • 加锁顺序:线程按照一定的顺序加锁
  • 加锁时限:线程尝试获取锁的时候加上一定的时限,超过时限则放弃对该锁的请求,并释放自己占有的锁
  • 死锁检测

24、Android每个版本的特性
26、Android APT的使用
27、TCP与UDP的区别、TCP的三次握手与4次挥手、http与https的区别、http1.0与1.1、1.2的区别
28、AMS、PMS、WMS
29、牛客网各种算法题

相关文章

网友评论

      本文标题:Android面试题总结

      本文链接:https://www.haomeiwen.com/subject/cpsnfltx.html