前言
前期面试因无法实习,在一面阶段被刷。第二次面试已约好并发送邮件,后因确认无法实习取消。第三次面试在周六,连续三小时的车轮战。
首次面试 8 月 11 日 14:00
- 自我介绍。
- 介绍 Android 项目。
- Java 相关:
- static 关键字。
- final 关键字。
- String、StringBuffer 和 StringBuilder。
- 线程同步相关。
- 线程不安全的例子及解决方法。
- 访问控制权限。
- 垃圾收集算法。
- 计算机网络相关:
- HTTP 与 HTTPS 区别。
- HTTPS 加密过程。
- Android 相关:
- Activity 生命周期。
- Handler 机制。
- Activity 的四种启动模式。
- 算法:
- 用数组实现一个队列,细节需要处理。
- 找出一个排序数组中一个数出现的次数,需要优化。
- 反问环节。
总结:整个过程不是八股形式,每个问题都会深入,并且具体到实际的应用场景中。Android 要求很高,这是我的弱项。算法的代码有许多细节没有考虑到,减分项。这次挂了就当是个教训,后续被捞起后进行了连续三轮面试。
复面试 8 月 14 日 10:30(一面)
- 自我介绍。
- 面试大半篇幅都在问 Android 相关。
- 计算机网络相关(TCP 三次握手等)。
- 多线程相关(线程安全实现方式、线程池等)。
- Java 相关(类初始化顺序、组合继承等)。
- 设计模式相关(本人只会单例模式,所以着重问的单例模式)。
- 算法:二叉树的层序遍历和前序遍历。
- 着重询问是否可以实习。
复面试 8 月 14 日 11:30(二面)
- 面试官年纪较大,开始先聊天,没有自我介绍。
- Android 相关技术问题。
- 询问了一些算法思想。
- 现场搜索题目提问,问题很深很细节,面试官专业度很高。
- 再次确认是否可以实习。
复面试 8 月 14 日 12:40(三面)
- 自我介绍。
- 着重聊了做的三个项目。
- 规划类、岗位匹配度相关问题。
- 反问环节:面试官详细地从公司到团队层面进行了介绍,并分享了一些经验。
当前状态
目前一直在面试流程中,暂无进一步消息。相信以自身能力可以胜任该岗位。


