读书人

微软(美国总部职务)面试经历

发布时间: 2013-03-25 15:43:04 作者: rapoo

微软(美国总部职位)面试经历

与大家分享一下我的微软面试经历。

去年年底微软过来校园招聘,招聘的是美国总部的职位,于是就投了一下简历。大约两个礼拜之前收到电话面试的通知,选面试时间,看了看都是以太平洋时区表示的,转换成北京时间都是在晚上11点半到早上7点之间了。7点肯定是起不来的,于是就选了晚上11点半的一场(那边早上7点半)。

电话是用skype打来的,面试官Soumi印度口音,开始问了一些个人资料的问题,然后开始聊做过的一些项目,喜欢什么语言之类的,写过的最长的程序代码有多少行。结结巴巴说的不太多。然后问了一下C#与C++的区别,这个没有总结过,当时就说了一下C#库和函数比较多,可以用于各种平台,然后开发起来比较方便,C++就是比较高效。后来想想还有几个点没说到。发现面试的时候还是有些紧张,想问题会不太全面。

之后她问了一个关于测试的问题,假如微软有一款键盘,你会怎么测试。想了一会我就说了一下如何如何测试一下功能,然后如何测试下质量之类的。面试完了想想这类问题回答的时候,一定要对面试官进行提问,以确定问题的各个细节。比如这是为谁设计的键盘?我记得我回答的时候说要找盲人,残疾人测试看看,然后面试官说,这就是给正常人设计的键盘,不用考虑残疾人等。面试官其实会引导你往一个方向,所以回答之前一定要先提出问题,缩小范围。

后来又问了一个很常见的智力题。9个小球有个是劣质的,怎么用天平2次就称出来。之后又聊了一些关于微软的问题。

总的来说电话面试并不是太难,回答之前仔细想清楚,考虑问题周到一些应该通过第一轮面试不成问题,但是由于英语口语一般,有些想表达的没有表达清楚,然后有的问题回答的比较片面。

过了一周多还没有结果,于是便发了封邮件过去问,没有反应。又过了大约一周,收到邮件说面试通过,下一轮是on-site面试,地点在新加坡,时间大约是两个月之后,所以准备的时间比较充分。签证需要自己去办,机票酒店微软可以帮订,其他费用也一概报销。

面试的流程是提前告知的,3-4轮,每轮45分钟,中间休息15分钟。HR也提前列出了一些面试常考的内容,算法数据结构什么的,这些网上都有,长长的一页跟没说差不多,考察的主要形式是白板写程序。

面试前一天下午到了新加坡,新加坡酒店很贵,虽然在国内5星酒店住过不少,但是没有住过这么贵的。约了以前的朋友吃了个晚饭,晚上便在酒店看资料,也没心情享受酒店那些免费的设施了。晚上有点失眠。

面试是8点开始,所以起的很早,早餐也没心情吃,吃了几口便打车去面试地点了。面试地点在新加坡微软所在地,因为这边没有研发部门,面试官都是美国飞来的。面试官一共有4个,另外两个HR,上午和我一起来面试的一共5个人,3个Full-time,2个面实习的。HR在面试开始之前和中间休息的时候会说很长一段废话,他说啥反正我没仔细听,中心思想就是微软有多好,微软待遇多好多爽,听起来确实很爽的。

三轮面试流程大致差不多,面试官一来会先跟你聊几句,问问你对微软印象怎么样,为什么要来面试,以前做过什么项目之类的。然后开始考题目。第一轮的题目是写一个生成一个全排列,手机上每个数字对应了几个字母,现在输入一个手机号码,生成所有可能的字母排列。我确认了几个问题之后就开始写了,过程还比较顺利,面试官看完之后也没有提出什么异议,我看了下似乎还有时间,但是面试官没有继续出题了,于是第一轮就结束了。第二轮一开始问了一些很底层的东西,第一题是写如何分配内存,一听我就懵了,我说创建对象的时候可以用malloc分配一段内存,然后拿指针指向那段内存,然后面试官又问malloc怎么实现……我只好说太底层了,没接触过。于是面试官就说换道题,这题很容易,数组中怎么删除重复的元素。我说最快的方法就是开哈希表了,然后面试官说不准开额外内存……然后我就说先排序再扫描,然后面试官让我写代码。我一开始在写排序,面试官说不用写排序了,直接写排序完怎么做,于是我就写了。写完之后面试官指出了一个bug,数组最后一个元素没有处理,我一看完蛋了,这么简单的程序还犯错误,赶紧改了。后来跟面试官又聊了几句,他在微软干了15年了,我说sorry竟然犯这种低级错误,他笑了一下说just relax,我当时觉得差不多觉得面试要完蛋了,这种错是不能出现的。第三轮的面试官没有前面两个那么友好,基本上很冷静的感觉。题目是一个树,给你两个节点求最早的公共父亲节点。写了个递归,又犯了一个小错,他点了一下我马上改掉了,之后他有没再出题了,就跟我聊了一下Bing,因为他们团队就是做Bing的。

三轮面试完了之后,过了一会HR就过来单独告知结果了。结果就是没有通过,跟我一起来另外两个Full-time的也没有通过。另外两个实习的进入到了第四轮,结果怎么样就不得而知了。据说进入第4轮就有50%的概率拿到offer了。

总结起来这次面试的失败也是有很多原因的。首先虽然程序都很容易就写出来了,可是都犯了一些小错。其次因为看到网上攻略说正确性比速度重要,写代码放慢了速度,后来看到一些面试经历说一般45分钟内要写2-3题,就发现自己写的实在是太慢了。再次就是面试的时候很平淡的感觉,没有表现出多少对微软的热情。微软的校园招聘已经没有机会了,下次有机会面试的话也是社会招聘了。在这里把经历分享给大家,希望后来有面试机会的同学把握住机会。


读书人网 >其他相关

热点推荐