那些年我拿到阿里巴巴Offer所参加的面试
2017 年尾第一次经历了转岗,离开了 YunOS/AliOS 事业部,虽然新部门还是在阿里,但这种感觉其实就是换了份工作。想当初加入阿里踌躇满志,期待在 OS 领域大干一场,然而时隔一年多,我已转型为风马牛不相及的 Web 前端开发,曾经的 OS 梦随着前事业部的战略失败也逐渐凋零。2018 年的第一篇博客,就来纪念一下这段狗血历程的开端吧。
回想研究生时期的我还在嵌入式领域里游荡,尽管会写一点网页和脚本,也懂点机器学习的皮毛,但我一直认为我会去一家电子公司,比如传统的半导体厂商 Intel, NXP,最不济也是 MTK (笑)。老牌名校的明星院系,实习、神人导师的各种摔打,以及自身对嵌入式的热爱,想不出有什么理由会使我去互联网公司。
然而,命运有时候就是这么神奇。
2015 年初夏,机缘巧合认识的学弟妹在团队缺人的情况下,拖我去台北参加了阿里百川举办的黑客松比赛,随后结识了若远师兄。在 16 年春天开始找工作时,我咨询了若远:1. 阿里有没有搞系统底层的职位?2. BAT 的官网都只招实习生了,阿里还有校招吗?在得到肯定答复后,自然而然获得了他的内推帮助。
简历通过评估后,无需笔试,即将开始漫长的面试之旅。我总共经历了 7 场面试,之所以会有这么多场的原因,总结有三:
- 16 年互联网寒冬已经到来,BAT 在三月春招时只招实习生,而我在前三轮面的不错的情况下想“强行上位”,需要多多考察(某位面试官原话);
- 其中一场面试面砸了,听到有正式 offer 机会的当下心态失衡;
- 当时人在台南,边写论文边面试,时间紧任务重,拒绝了回杭州终面,所以还是需要多多考察,毕竟学校名字听起来太野鸡?
讲完八卦,是时候上干货了 = =+。以下是 7 次面试的重点记录:
一面
- 电话
- 根据线上简历(主要是简历上的开放式问题)进行提问
二面
- 电话 + 笔试
- strcpy() 越界
- 链表节点的插入
- size of array pointer
三面
- 电话,内容广度爆炸… Orz
- ld.so,VIVT / VIPT / PIPT,cache flush / clean
- 加解密算法
- TLB 作用
- 宏内核 vs 微内核
- IRQ vs FIQ
- ARMv7-M vs ARMv7-A
- ARMv8-M,Trustzone
- MPU 用途,和 MMU 区别
- 动态链接函数库,那些数据共享,哪些数据独有
- Run-time 时期 Bss Section 数据的行为
四面
- 电话 + 笔试,搞砸的那次
- 指针的数组,数组的指针,sizeof() ?
- 同二面第一题,刨根问底是什么情况
- 写出 linux kernel 双向链表的删除操作,但问的时候未说明是双向链表…
五面
- 电话
- 首先,解释四面表现为何如此之差(心塞…)
- 一个智能灯系统,有 WiFi,如何做到低功耗
- Hypervisor 原理,若上面同时跑两个 RTOS,整个架构是怎么样的
六面
- 电话
- 详细自我介绍,项目经验
- mutex vs spin lock
- 有序数列查找元素效率最高的算法?时间复杂度?
- RB Tree VS AVL Tree
- 过往的笔试题
- TCP 四次挥手过程,端口号什么时候结束使用的
七面
- 电话,HR 终面
- 来实习的话可能面临的挑战?
- 来实习的工作内容?
- 自己最大的优势是什么?
整个面试的过程还是不错的,面试官都很专业,上来直接询问技术相关的问题,并且会有意识的引导,态度也都比较和善,是我个人认可的面试方式。面试完后,阿里校招系统上的信息更新也非常及时,不得不夸一下这个招聘系统很专业,大大提升了面试者对这家公司的信心与好感度。当时唯一觉得不爽的就是不知道面试电话什么时候会来,除了一位面试官提前电邮与我预约时间外,其他面试都是时间未知,我只好抱着海外漫游的电信手机一直等,度过了难熬的一个多月时光。
现在站在上帝视角,再看看当初的想法,也是有许多感慨。我以为四面后就彻底结束了,没想到还有第五面;我以为这么多次面试是一个连续的过程,其实在第四面之后我已经被淘汰回了简历池;我以为我拿的是校招 offer,其实最终花费了团队一个社招 offer;我以为我来了做的是面试里聊得 ARM trustzone 等安全领域的活,没想到入职后就拥抱变化做了 Web 前端开发。
面对难以预知的未来,唯一能做的就是把握现在,不断地努力。如果没有在研究生时期疯狂饿补计算机体系知识,面试时期常常刷面经、leetcode 到三四点,我一定过不了面试。如果没有放平心态学习 Web 以及前端相关的新技术、思考技术需求与方向,我不会在想转岗时,谈一个 offer 拿一个 offer,不愁没下家。如果没有危机感和对技术的执着,我不会从一个石油专业院校走到一家知名的互联网公司,想想从光电跨越到电子再到计算机领域的“艰辛”,其实也没什么,毕竟整个过程是非常充实且富有成就感的。
最后,面试这一路走来也真的是非常幸运,结识了一些师长和同事并得到他们的帮助。例如带我进入计算机领域的前联发科技技术顾问、后来做我硕论导师的开源大神 Jserv;实习时只要有空便与我分享技术心得、劝我对自身技术发展不要设限的 Richard 大哥;给了我加入阿里机会并让我仰望的峰哥和超级 nice 的 HR 姐姐珈夜;以及内推我进阿里、在转岗时给我许多建议、现在成为一个部门同事的高富帅若远。感恩!
Learn from yesterday, live for today, hope for tomorrow. Let’s cheer up!