2021 Android面经分享01

123 阅读2分钟

上海 微盟

  1. 自我介绍
  2. Activtiy的启动模式
  3. View绘制流程
  4. Activity的生命周期
  5. Activity的绘制是从Activity的那个生命周期开始的
  6. setContentView()源码
  7. draw、 onDraw、dispath 三个方法的流程
  8. handle的原理,loop循环为什么没有产生ANR handle 的looper为什么不会造成ANR
  9. 模块之间通信
  10. js和webview怎么通信的
  11. ANR的原因
  12. Java垃圾回收算法,如何判断对象可以回收 java的垃圾回收标记算法

上海 掌门教育

一面面试记录

  1. jetpact
  2. imageView隐藏和显示在Activity里面会不会绘制
  3. drawable有哪些
  4. ANR?什么情况会出现ANR?如何避免?如何快速定位?
  5. Glide的源码,它是如果知道页面被销毁的,加载与释放图片的生命周期。
  6. 多线程
  7. 怎么降低Crush
  8. 组件化怎么设计的
  9. 热修复怎么做
  10. MVVM 和 MVP
  11. 单例模式写法‘
  12. 性能优化统计方法时长

二面面试记录

  1. 内存泄漏的几种情况,怎么解决,
  2. 网络造成的内存泄漏怎么处理,最重要的是取消网络连接吗?
  3. View绘制流程,setContentView,怎么在Activity里面测量View 的宽高。
  4. Application 的 进程管理,activity的进程和application的进程在同一个进程吗?为什么讲原理
  5. Activity 页面销毁时候,Activity 的执行过程
    1. 主要考察 onSavedInstanceState 和onRestoreInstanceState的作用,用于保存和恢复view的状态。
  6. 计算图片的内存大小,不是硬盘大小。
  7. LRUCache 的数据结构 和原理,LinkedHashMap HaspMap
  8. Js Brigh 的缺点
  9. 图片加载流程是什么样子的
  10. 第三方框架源码了解过哪些,
  11. Glide的原理,缺点?
  12. okhttp的缺点?有哪些拦截器?拦截器具体使用场景
  13. 性能优化主要做哪些?比如列表优化怎么做?视频优化怎么做?
  14. 你的优势

上海 捷捷健身

  1. 蓝牙
  2. 视频播放器
  3. 为什么在子线程中创建Handle会抛出异常?
  4. IntentService
  5. 重写是什么
  6. 重载是什么
  7. 怎么保证线程安全
  8. 线程池的什么什么方法
  9. handlerThread原理
  10. kotlin 的val 和var
  11. kotlin 的实现代理
  12. protracted 能不能被public?