技术面一面 时长22分钟(电话面试)
- 大学期间做过的比较满意的
Android
项目 - 为什么用
MVP
? RxJava
和Retrofit
为什么选用?- 学习Java和安卓多久了?
- 软引用和弱引用的区别是什么?
提到了虚引用
- 虚引用的使用场景?
- 图片缓存的库有用到吗?谈谈理解?用到的是什么引用?什么是
LRU
?使用的数据结构是什么? LeakCanary
库的使用?为什么选用这个?他是怎么实现内存检测的?- 泛型的使用场景?类型擦除说一下?泛型的
super
和extends
的区别是什么? - Java 多线程有了解过吗?多线程的状态说一下?多线程上锁的方式有哪些?可重入锁和
sycronize
的区别 - 有了解过乐观锁和悲观锁的区别吗?
Service
的启动方式有哪些?Activity
的启动模式,SingleTop
是只要顶部没有就加入吗?SingleInstance
的使用场景是什么?- 自定义
View
有用过吗?需要重写哪些方法?需要注意哪些点? - 广播有使用过吗?广播的注册方式说下吧
Handler postRunable
和sendMessage
,区别是什么?Looper
起到什么作用?- 为什么主线程中不用特别地调用
Looper
?
没有反问环节,也没有算法题
技术面二面 时长 61 分钟(视频面试)
- 先简单介绍一下你在学校负责一些项目的情况
- 整个安卓团队有多少人?你在其中担当什么角色?任务之间是怎么分工的?
- 为什么选择用 MVP?
- 刚刚提到的MVP的缺点中,P 层代码量较臃肿的话,你有没有解决方案?
- 如果P层做完做完封装之后还是有很多代码的话,怎么办呢?
- MVVM 有了解过吗?
- ViewModel和LiveDtata平时用得多吗?实现 ViewModel 层怎么做?
- 介绍学习过的设计模式
- 说了单例
- 介绍下刚刚提到的DCL
- 两次判断分别的作用是什么?
- volitile 作用是什么
- 指令重排序怎么理解
- 除了DCL,饿汉式,懒汉式,还有什么方式可以实现单例?(答了枚举类)
- 为什么枚举类可以实现?
- 模板方法
- Framwork 层的源码有没有了解过?
- Handler
介绍一下 Handler
Looper 不断循环取消息,为什么不会阻塞主线程
Msg 的消息池的机制
Looper.prepare 的作用
- 平时项目遇到的难题是什么?
- DialogFragment 内存泄漏的解决方式,你是怎么分析的?
- 为什么要把 Dialog 传到 Listener 里面?
- 怎么避免内存泄漏?
- Vp 和 SwipeRefreshLayout 滑动冲突
- 外部拦截法
- onInterceptTouchEvent 返回值的作用是什么
- 内部拦截法
- 性能优化有接触吗?
- 滑动卡顿怎么定位
- 怎么定位耗时操作?
- 你用到了 dokit,谈谈 dokit 的原理
- ANR 的出现场景是什么?一定是 5s 无反应吗?有没有尝试分析或者定位问题
- 算法:链表反转
- 平时的学习方式
- 反问
HR面 时长 18分钟(视频面)
- 3-5-10年理想的生活状态是什么?
- 给自己的面试评分?
- 为什么打这个分数?
- 如果有欠缺的话,你觉得你哪部分欠缺?有做什么改进吗?
- 说一下你印象最深的一个电影或者一本书?说一下你印象深刻的角色?
- 如果在学校的话,可以接受多长时间的实习呢?如果一周的话,可以来几天?
- 满意薪资是多少?
- 理想的工作时间怎样?
- 反问
有点尴尬的是,当时候面试官说希望能戴上耳机,然后身边没有耳机,还是准备得不够充分吖。
总体来说,CVTE的面试体验非常好,面试官也很会引导你去回答问题,面试官也非常和蔼!!!
如果文章对您有一点帮助的话,希望您能点一下赞,您的点赞,是我前进的动力
全部评论
(3) 回帖