刘毅同学

About Python, MySQL & Life

小米面试内核驱动工程师总结

| Comments

此为吐槽贴,略涉及技术。

之前网申投的是内核驱动工程师,这个职位是凭着自己对Linux Internal还保持非常浓厚的兴趣,虽然实践不多,还有就是一看到这个title就有种高端大气上档次的赶脚。之后前几天打来电话去面试,这才知道这次是小米的bsp团队招人。

怀着忐忑和兴奋的心情去小米参加bsp团队的面试。结果比较让人失望,一方面是自己还有很多不够深入的地方,一方面是bsp团队明显准备不足。

小米总部真够偏僻的…

地铁上地站下来之后,非上下班时间,没有公交车可以直达,只能打车。

面试原来可以这样

五彩城的环境还是蛮不错的,我直接到15层会议室,之后被告知面试官正忙,等一会儿。好吧,我就等等吧,这一等就20分钟
之后进来一位年纪轻轻的面试官哥哥。
面试原来可以被当做临时指派的任务。我有很大的把握说面试官是在看到我之前的几分钟才看我的简历。
#自我检讨# 对自己的研究工作没有弄的足够深入,被面试官稍一刁难就被问倒。一直纠缠于cache和spm之间的性能和功耗上的比较问题,最后只好作罢。于是乎慢慢的气氛变成了质疑我们实验室的研究水平,当时有点气愤,不过在有效的说明了自己发表的关于单程序trace获取的论文时还算将气氛扳回来一些。
聊了半个多小时面试官哥哥就又被叫出去开会,囧rz…大概10分钟后,另外一位面试官哥哥进来,然后由于不知道之前的面试官哥哥都问过我什么问题聊过什么话题,于是又有好多重复的问题出现…囧rz

不过第二个面试官哥哥谈吐和问的问题上明显感觉很专业,对内核和存储乃至trace这块都有很深的见解,和他聊我的毕业设计时,我还取得了非常很有价值的反馈。很赞!

由于自己在内核驱动这块知道的不多,第二位面试官哥哥几次试图问一些汇编语言、内核驱动的问题时,我都很无奈的回答懂得不多,面试一大忌讳就是回答不了解,这样让双方都会有些挫败感,面试官可能会降低印象分,但是对这几块确实连突击的时间都没有,只好这么回答了。检讨:对简历上技术点挖掘的不够深,写了自己常玩github,就被问到了git的用法;写了自己爱玩新技术,就被问到了自己感兴趣的新技术有哪些,这些很可惜都能没有准备。
再聊了半个小时左右之后,就结束了。感觉应该是挂了。

之前打听过bsp团队之前没有招过应届毕业生,所以我吐槽的这些还是可以理解的。但是没有为面试拿出足够的准备还是蛮失望的。

最后询问时就聊了一些比较轻松的话题,让面试官哥哥介绍了一下目前bsp团队。现在获得的情报是:目前团队规模五六十人,负责了miui之下的大部分工作,包括驱动开发、底层系统优化等等,甚至包括Java层的问题调试,工作范围面很宽。
依旧是个创业团队的节奏——连续多年每周6x12hr的工作量。无愧于外界所说的高执行力的团队。

校园招聘是一个双向选择的过程,既是企业挑选人才,也是真正的人才选择企业。在面试的方方面面都会体现出一个企业,一个团队对人才的重视程度,也是赢得口碑的机会。在认真程度上来说,这次面试的体验不如阿里巴巴。
总体上这两位面试官哥哥给我的感受是非常实干的类型,对小米的这个创业团队强度的团队技术实力上的印象还是很好。祝愿你们能找到适合的人才。

自己这次面试的经验

  • 简历上的内容还需要加强。
    • 在简历的准备上功夫还不够,还是有被问倒的可能,需要加强和巩固。
    • 简历涉及的技术点还是挖掘的不够细致。
  • 面试中还没有hold住场面的能力
  • 面试中需要事先准备一个可以让面试官眼前一亮的闪光点,可以是技术上的,也可以是表达或者其他方面

Update:问到的题目

昨天没写是因为自己当时没记起来多少…今天复习时才慢慢都想起来了,在此分享下。

  • 关于抢占的理解(何时抢占,怎样实现的抢占)
  • kmalloc与vmalloc的区别
  • kmalloc内核是如何实现存储管理的,比如申请了14B的空间
  • A,B两个进程,运行顺序是A—B—A,有多少种可能导致的,比如阻塞,抢占等。

Comments