上海 微盟
- 自我介绍
- Activtiy的启动模式
- View绘制流程
- Activity的生命周期
- Activity的绘制是从Activity的那个生命周期开始的
- setContentView()源码
- draw、 onDraw、dispath 三个方法的流程
- handle的原理,loop循环为什么没有产生ANR handle 的looper为什么不会造成ANR
- 模块之间通信
- js和webview怎么通信的
- ANR的原因
- Java垃圾回收算法,如何判断对象可以回收 java的垃圾回收标记算法
上海 掌门教育
一面面试记录
- jetpact
- imageView隐藏和显示在Activity里面会不会绘制
- drawable有哪些
- ANR?什么情况会出现ANR?如何避免?如何快速定位?
- Glide的源码,它是如果知道页面被销毁的,加载与释放图片的生命周期。
- 多线程
- 怎么降低Crush
- 组件化怎么设计的
- 热修复怎么做
- MVVM 和 MVP
- 单例模式写法‘
- 性能优化统计方法时长
二面面试记录
- 内存泄漏的几种情况,怎么解决,
- 网络造成的内存泄漏怎么处理,最重要的是取消网络连接吗?
- View绘制流程,setContentView,怎么在Activity里面测量View 的宽高。
- Application 的 进程管理,activity的进程和application的进程在同一个进程吗?为什么讲原理
- Activity 页面销毁时候,Activity 的执行过程
- 主要考察 onSavedInstanceState 和onRestoreInstanceState的作用,用于保存和恢复view的状态。
- 计算图片的内存大小,不是硬盘大小。
- LRUCache 的数据结构 和原理,LinkedHashMap HaspMap
- Js Brigh 的缺点
- 图片加载流程是什么样子的
- 第三方框架源码了解过哪些,
- Glide的原理,缺点?
- okhttp的缺点?有哪些拦截器?拦截器具体使用场景
- 性能优化主要做哪些?比如列表优化怎么做?视频优化怎么做?
- 你的优势
上海 捷捷健身
- 蓝牙
- 视频播放器
- 为什么在子线程中创建Handle会抛出异常?
- IntentService
- 重写是什么
- 重载是什么
- 怎么保证线程安全
- 线程池的什么什么方法
- handlerThread原理
- kotlin 的val 和var
- kotlin 的实现代理
- protracted 能不能被public?