回想起自己的历程。感觉其实自己的技术水平也称不上大牛,实习也不是超屌的那种,而且LC 也只刷了100多道一遍,为什么有些朋友们刷题很厉害,四轮题都写得完美但是都没有过。而我能够拿到offer呢?我觉得是因为我BQ 部分回答的比较完美,而地里也很少有讲BQ 的帖子,大多都概括一下,所以这次为了回馈地里,然后embody 一下M家的slogan: Be one who empower billions(可能还没那么多 啊哈哈哈), 特意发帖。
Step One:Foot in the door
这句话就是要让recruiter 或者公司认识你,make an impression。我是在今年的一个 Microsoft Resume Review 的活动接触到了微软。那时排了45分钟的队和一个微软实习过的姐姐聊了一下简历。当时她问我暑假的实习情况,我暑假是在北京某投资咨询做数据工程的,技术上其实就是写爬虫(不是什么很牛逼的ML项目),搭建一些数据处理的pipeline。虽然技术上并没有什么太多吸引眼球的东西(用node crawler 写爬虫程序,分析网页加载mechanism 之类,而且一般本科intern 也不会expect 你懂得特别厉害复杂的技术)但是我们的分析师用我们提供的数据给大型的私募基金提供投资参考,从而推动了超过2亿美元的风险投资。所以在和M家姐姐聊的时候,我说我在我们组运用XYZ 技术搭建了ABC Pipeline 然后as a team 我们推动了over 200 million dollars of investments across the emerging markets, empowering innovation etc… 后来小姐姐感觉挺惊讶的,也很认可,所以说:I will definately refer you.
我觉得在讲任何project 的时候,必须说背景(某投资咨询是干嘛的,我在公司or 团队里的role),事情(你做了什么,什么技术),结果(什么impact)。最后的结果是最重要的,就像讲故事一样的,大家关注的是结果。千万别觉得你的project 太小或者职位太小没什么impact,我相信往公司或者团队的大方向想,有很多地方你的劳动是contributed的,这你就有很多地方可以做文章了。
Step Two:Technical Prep
我买了LC premium 然后把M家的medium + easy 全刷了一遍,在Onsite的前三天把刷过的复习一遍(对的,像准备期末考一样复习,记笔记,整理思路)然后hard 就看看答案,照抄写写,看看视频刷题。。。
Step Three:Onsite BQ
我觉得我这次的昂赛和地里的有些不常规,我的是一个Technical + 一个AA behavioral + 一个 Technical + 一个behavioral and Design。我看到很多朋友们都是四轮tech 但是我相信其中也会有BQ 而且BQ 也是M家考察的一个重点(Literally 大家在M家都会code,BQ也就自然成了一个differentiator,特别是小本interns)。
这里我重点说一下AA 面试和最后一个烙印Team lead 的BQ:
我当时面试时并不知道 AA (As Appropriate Interview) 是什么,后来网上一查,一般是资历比较老的M家大佬来看你是不是一个good culture fit。在前几年的面试里,一般是4轮tech 过关后才会有一个AA面。在说这个面试之前,我建议大家准备好你的BQ素材,大家应该好好从多方面看自己的团队项目,每个项目都应该有几个标签:你是 lead 了这个项目?这个项目技术复杂?人员diverse?人际沟通比较challenging?etc 不要只看技术面,这种communication 和管理方面要重点整理。
现在回想起来当时AA和Team lead 面试有这三个问题起到了关键作用:
What is a class that you liked?
这一道题我答的是Software engineering。当时我们的SWE课教授从外面招公司项目给我们学生团队做,我当时作为Scrum Master 带领着一个group of six 给摩托罗拉做了个小网站,专门帮他们管理他们highschool leadership program 的申请logistics的。这道题主要突出回答我是如何建立团队的:当时很多人都不会MEAN stack,而我在暑期实习中接触到了一点所以有些地方可以帮助大家,我就在组的slack 里写:Hey 我xx 日会在图书馆 xxx 角落里学习,你们若是MEAN stack 作业不会做或者我们团队项目不会做的可以来问我! 接着一个月,我把我每天在图书馆自闭的时间写在了slack里,让大家方便找我。之后大家开始互相帮忙然后变得非常融洽,即使我们项目最忙的时候,大家都非常有默契,前段的人早上在编程然后晚上do other stuff,后段的人下午交接,晚上接着编程,直到第二天早上和前段的人交接。in the end,我们的project 做的让摩托罗拉特别满意,他们还继续雇佣了我们团队给他们做维护。从中我学到了 blah blah blah。。。。。
当时在组织这个答案的时候就从之前备好的BQ素材里选材,然后按照当时的经历加工成一个3-4分钟的小故事,我觉得当时让那个PM 挺suprized 的,也挺高兴的。可能是这个答案展示了我是有team building 潜质以及是个好team player。
What is a recent challenge you have faced?
这道题我回答的是领导比我更senior的人。当时我参加学校的某 Program,就是专门学生主队帮助各种公司做prototype的课程。我当时还是作为Scrum Master 带领 group of six 大四的学长学姐一起做这个project。然而我自身一直在担忧我因为没有上过很多高阶的课程(Networking, OS 之类的)而无法在组里起到较好的领导作用, 所以导致项目前半学期没有direction 也没有什么progress。后来我渐渐发现那些大四的学长学姐个有长处也各有短处,有一个特别的technical 但是无法和其他人合作,有一个非常有leadership但是 technical 不懂,还有其他的样样都均衡,但是没有魄力,所以无法让大家达成共识。那时,我也发现了我的长处,我虽然不是最technical 的,但是我和各种人相处没问题,我也不是那种正能量小超人,但是对于项目理解我还是可以的,再加上一点点魄力,我就是the right puzzle piece。后来,我和每个队员单独吃饭,get coffee 了解他们的性格特征,然后和公司的代表开会了解需求,在下半学期作出了高效的计划使我们项目顺利进行。经过这个项目,我学会了用多方面考察团队的成员,并且在组里让大家看到各自的优缺点,be honest with what you know and don’t know,这样大家才不会用 seniority 的标准看待整个组。
这个答案也是从素材中提炼的,而且大家一定要克服那种在美国中国人无法lead 的stereotype,leadership 不是任何一个种族所擅长的技能,虽然corporate america 大多数都是白人leaders, 但是咱们国人也并不逊色于任何人,咱们也有咱们的领导智慧,也能够学会美国领导力的那一套,Asians can definitely lead!!! 我觉得这个问题确实想问出领导力的潜质,也是对于adverse situation的一种考察。
Why computer science and Microsoft? I see you have much experience with the financial markets?
当时这个问题比较尴尬,因为我一直对financial markets 感兴趣,大一加入学校的基金会当风险分析师,大二创办了金融科技社,然后暑假又在投资咨询做实习,TM 干嘛来微软?连PM 当时都说了我可能更佳适合做Quant。若当时agree 那TM 就白刷那么多题,白飞来面试了!?我是这么答的:
我当时确实对金融市场有着浓厚的兴趣,甚至在我高中的时候就开始做投资。大学选择CS也是因为觉得CS是个不错的tool,但是随着我越了解金融行业,和对于CS的探索越深入, 以及我变的逐渐成熟,我发现我的兴趣和passion 从一个facilitator 转变成里一个maker,我觉得making something that helps people 给了我更多的满足感。而我目前对ML 的研究很感兴趣并且发现很多synergy between 之前做分析师时用的skills 和现在做产品所需的vision。而我想来M家是因为M家提供了我这个平台,让我更好的探索我的兴趣,更深入挖掘我在SWE上的潜质。
我觉得这个当时给PM一个能够持续学习,不断改变的一种印象,这也正好是M家比较推崇的Using MS as a platform to pursuit your passion 的理念。当时能够想出来也是对于之前的 experience 有充足的了解,特别是每个experience的意义是什么,运用的 skill 是什么。
Step Four: Any Questions For Me?
别小看这一个section,问题不能随便问!要看interviewer 是谁,然后按照你对他的了解问open ended questions 要不然很容易把天聊死。还有,最好在他给你回答的基础上进行更深入的探讨。
我问PM: What are some leadership styles you have seen that work successful in microsoft?
for some reason 聊到了公司diversity的方向
我又问: How does such a large firm like MSFT be agile and compete with newer firms? Does diversity considerations hinders bold execution?
我问Team lead:How do you balance the client and team expectations when both might not be aligned?
后面扯到motivation
我又问:How do you succesfully motivate people?
因为我和PM and Team Lead 都聊到了leadership 和 team building,我给他们推荐了一本书叫 “The Culture Code”,我说对我as a leader影响很大。这其实是想让structured 的 Q&A 变的更加 conversational,你应该有问也应该有回答.
Step Five: Tying up Loose Ends
在面试开始之前,和面试官稍微寒暄一下,问问他今天怎么样啦,累不累。这样不会显得特别僵硬,也体现你是一个可爱热心的candidate。
在每个面试结束后,我都会给recruiter(不管是campus recuriter 还是onsite的coordinator)写一封感谢信,提到你面试的几个highlight 以及感谢他们给你的support and advocation。甚至面到后面的昂赛,也要给你的campus recruiter 一个update 之类的。真的,recruiter 很累的而且他们literally 是你的advocate,推荐人,所以要和他们建立很好的关系。
以上应该是我所要说的了,当然应该不全因为是以我一个小本的经历来写的。我看到太多比我刷题刷的多,tech 比我强很多倍的学长学姐,学弟学妹因为BQ没有过关被刷下来的(咱们国人这点真有点弱),所以希望大家能够从我这提取点经验,祝大家面试顺利,offer 多多!