技术面->经理面->HR面 一面主要是基础技术,java相关的内容,以及项目相关的技术点;二面是综合面试,主要是看项目相关的经验,以及带团队的经验;三面是HR面,谈一些待遇之类的。
面试官问的面试题: - 技术面(Java和Android基础知识)
1. Java的集合有哪些?Map和List有什么区别?怎么选择使用Map还是List?HashMap的原理?继承HashMap需要重写哪些方法,需要注意什么?SparseArray了解多少?
2. Java中的异常有几类,分别有什么区别?简单列举几个RuntimeException?自定义不同类别的Exception需要继承什么?
2. Java中Object的方法有哪些?
3. Android中自定义View怎么实现?你在项目中用过什么自定义的View?View的宽高如何确定,和父控件有冲突时如何确定宽高?
4. 用过什么开源框架?能说一下okhttp的源码关键点吗?
- 项目相关问题
1. 项目中遇到过什么样的死锁问题?如何解决的?
2. 为什么要用kotlin?他有哪些优点让你使用它?为什么不基于Java进行优化?
2. 对齐心跳如何实现?如何保证应用延迟到对齐心跳
3. 用过哪些客户端架构,各有什么优缺点?怎么选中客户端框架?
- 其他问题
1. 你为什么从OPPO离职?离职后的这几个月在做什么?
2. 你觉得你相比别人的最大优势是什么?
2. 在之前公司有没有做过分享?分享过哪些内容?
3. 在之前有没有带过新人?给个新人你会怎么带?
4. 你有没有从头到尾完整主导过的项目?项目中遇到哪些问题?需要注意什么?