本文转自知乎大佬Charmont的分享,原文可在文末点击阅读原文获取。Charmont大佬从非科班、半路出家的外包同学到拿到微软offer,非常励志,本文为其面经。虽然是开发的同学,但是开发和算法的面试大同小异,只是项目有所不同。我之前实习和校招都有拿到微软的算法offer,面试微软,也是工程和系统设计占据相当大比例,除了最后的boss面,每轮都写算法题。所以本文无论是精神层面还是内容本身,都非常值得学习。以下为原文。
6月入职微软, SDE2, 在此总结了一下面经, 希望能帮到需要的人。
先说一下本人情况, 华南某工科大学毕业, 非科班, 半路出家。了解到微软这个公司先是因为学校里有个社团叫微软学生技术俱乐部,某次在水王神殿qq群看到过轮子哥 @梅启铭(vczh) , 才发现原来是在同一个俱乐部呆过=-=
1. 投简历后1星期左右会有HR 联系,简单问一下我的基本情况,比如刷了多少道leetcode, 为什么考虑换工作, 目前薪酬和期望薪酬等。
2. 几天内约了一面,一面比较简单,45min左右, 面试官是组内的同事 也不会太为难, 就简单让我介绍了一下项目基本情况,没有深挖, 然后问了一下用户从浏览器输入你的网址,这个过程发生了什么, 最后是简单的算法题,LC 695 原题, 可能是因为我做得太快了, 还没有到45mins, 面试官就加了一道算法题,具体忘了,估计不是LC原题, 也不难。
3. 一面过后3天是loop面,共4轮,每轮1小时, 一般会安排在同一天内完成。
loop4面第二天后出结果说通过了。
对于大多数公司来说, 投简历:优先走内推, 因为内推的话简历会直接到hire manager的。其次是官方投. 最后假如你觉得自己是不可或缺的年薪百万以上的高端人才的话也不是不可以走猎头。
一般来说面试考察 项目经历(视情况是否深挖), 算法 , 系统设计, Behavioral Question.
1. 项目经历没啥好说的啦, 自己要对自己项目一定要熟悉。
2. 算法方面, 相对于亚麻来说, 微软家的算法可以说是极度简单了。据说有同学只刷了65道题就进去了的。建议去leetcode里面挑微软近半年的高频题刷。《非科班半路出家,从外包到Microsoft的小镇做题家的Leetcode刷题巧》一文总结了其刷题过程和技巧,https://zhuanlan.zhihu.com/p/561074193。
3. 系统设计 (以后有机会出个专题)
4. BQ, 微软家基本不考BQ, 不过有时间的话建议了解一下亚麻的16 leadership principles, 对普适性面试也有帮助。
5. 英语?因岗位而异, 有的岗位对英语要求高, 有的则对英语没很大要求。不过英语自我介绍, 和英语项目介绍背一下是必须的, 英文介绍完后就会进入中文模式,不用太担心英语水平。