姑且把第一次面试叫一面,第二次面试叫二面吧。
第一次面试(周五)
面试官 1:一份比较基础的面试笔试题,然后比较笼统的问了问简历上的项目细节,部分细节追问。面试官年龄相仿,很随和。答笔试题的时候说,不用太拘泥于题目,不会的可以不答,或者自己会什么也可以写一写。
面试官 2:(本来应该是面试官 3,面试官 2 临时有事)比较详细的讨论了简历中着重强调的私有 mesh 协议栈设计细节,和自己在其中做过哪些工作。还聊了聊兴趣,大学情况等等。
面试官 3:风格和面试官 1 很像,只是问题偏重 linux 多一些,所以 linux 的问题回答的不是太好。问了很多单个知识点,比如经典的 TCPIP 握手挥手问题,这个答的还行,因为自己抓过包。最后还让写了个矩阵相乘的题目,没问题。
第一次面试感受:很基础问的也比较细。有很多知识盲区,回家后大致回忆了一下,搜搜相关资料查漏补缺。但总体感觉还是很稳的,因为面试官也给出了积极的反馈,虽然 linux、网络编程等经验不多但学习能力很强等等。
第二次面试(周二)
接到了面试官 2 的电话,说有其他同事想面面我。后来才知道是级别更高的面试官。 主管面试官 1:大致问了问项目细节,比如项目中用到的 hash 表存储实现,加密安全相关的问题。然后提了第一个开放问题,如果设计一个文件系统,需要考虑哪些问题。没答太好。然后提了另一个问题,设计一个读写锁。这个也没答好。
总监面试官 2:部门总监面。由于主管面试答的不是太好,所以这个时候已经比较紧张了。拿了两张纸,看来要写代码的。这次面试基本上是对技术、性格、潜能等多方面的综合面试。如果一句话总结,对人本身的考察居多,感觉很多问题都不太好回答。比如最大的缺点和优点?你是一个优秀的人吗?身边有优秀的人吗,优秀在哪?你最强的方面在哪儿?平时喜欢玩智能硬件吗?不喜欢玩怎么能做好?为什么来小米?能给小米带来什么?这里回答的最不好的问题是最大的缺点。有时候碰到同事遇到基本的技术问题搞不清楚,我会有些没有耐心(我是目前公司硬件部主力开发)。面试官说怎么解决,我说只能控制自己对事不对人吧,要说彻底避免这个问题肯定是说瞎话了,毕竟是性格问题。中间还考了一道翻转硬币的逻辑思维题目。还有查找链表倒数第 N 个元素的思路和手写实现翻转链表。链表倒数第 N 个元素没说出来思路确实不应该(当时说了两个时间、空间复杂度不是最低的方案),多刷一刷题目肯定行的(目前力扣只刷了 50 多道),思路很简单,只是没遇到过想不出思路。好在翻转链表写出来了没问题。
等结果
其实第二次面完自己已经从第一次的信心满满到很没底了。但还是存有一定侥幸心理吧。周一问 hr 反馈说前面面试反馈还不错,后面的面试结果要等等。结果迟迟不回复,估计就是悬了。昨天乍着胆子给第一次面试的面试官 2 发了短信,面试官回复说 offer 概率很低,虽然帮我争取了,但是最后的面试官(应该是总监面)行使了否定权,让我再看看其他机会。
总结
面试这种大公司,准备多充分都不为过,实力才是硬道理。还有就是面试心态问题。总监刚开始面的时候腿都发抖,后来才好点,但还是很紧张。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.