美文网首页
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