微软研发类实习生面试

来源:互联网 发布:软件工程推荐书籍知乎 编辑:程序博客网 时间:2024/06/06 03:15


想成为微软的intern必须经过以下环节 笔试+一轮电话面试+3轮现场面试(中间可能穿插着跟hr谈谈)

1 笔试

先说一下微软的笔试,微软所有的实习生都是必须参加笔试的无论是不是技术研发类的(只是笔试通过要求的分不一样而已),笔试就是4道acm题目,在我博客之前的文章中可以看到这四道题目,思维难道不大,但是在要求的时间类完成还是有难度的,自己由于那天状态好,还有刷过一些题吧,得了360分,知道自己稳进后面的环节了,就开始准备下面的环节了

2 电话面

由于我不知道有电话面这个环节,在某一天的周一收到邮件和电话,告诉我周二要进行一轮电话面问我合不合适的时候,其实我的内心是拒绝的,但是没办法只能硬着头皮上呗,约好第二天下午2点,接到电话开始我走马观花的看了一遍之前某oj上刷过的题(都知道微软喜欢问某oj上的算法题),第二天下午两点调试好设备,插上一直陪伴着我的机械键盘,打开了skype,等待了面试的到来,2点面试官准时打了电话过来,让我上skype,我说我一直在啊,面试官说看不到我的skype,搞了半天我也没弄好skype,面试官说那就电话吧,然后让我进入一个白板的网页(我在白板上写什么他可以看到,他在白板上写什么我也可以看到)。一开始让我自我介绍了下?不是一般都是英文自我介绍的吗?我都准备好了,面试官说中文就好,然后巴拉巴拉一波之后,面试官挑我项目里面的东西问了问,扯了扯犊子,然后就是噩梦的开始,说我们来点数据结构吧,你了解优步和滴滴是如何存储位置和建筑和如何查找你的位置的吗?用了什么数据结构,怎么实习的?给你你怎么实习。额,给我我怎么实习,给我第一想法就是map,我自己也知道肯定不是他想要的答案,但是先扯着呗,巴拉巴拉一波用map怎么实现,然后他就说你这样存储的数据量太大,查找速度也十分的慢,我一听额,没有第二种选择了,树呗,然后在面试官的提醒下想到了R树,然后给他讲了一下R树,怎么实现滴滴和优步的功能的,然后他就让我讲一下R树是如何插入节点和删除节点的,我又巴拉巴拉给他讲了一波。然后他说,可以了,基本的你都说出来了,时间不多了,下面我们来写个题吧(微软每轮面试必有题),题目就类似一下处理一个有标签的字符串,adh<ref>shakd</ref>ad 处理之后adhad,额,竟然怎么简单,我不假思索的说出了用正则表达式的方法,这么快果断悲剧,被面试官说了用正则表达式性能多么多么的不好,然后让我重想,我就只能老老实实想了碰到<ref>处理的方式,然后他觉得我的方法可行就让我在上面的白板写了,高潮来了,我当时十分紧张,写出来的代码有个明显的bug,然后面试官当场给我指出来了,说时间差不多了,也不给我改了。然后问我有什么要问他的,我就问了下他在哪个部门,哪个部门是干什么的,结果他跟我说他是bing的,R树就是他们经常用来覆盖搜索结果的,我日!然后我就问了感觉我今天面试结果怎么样,你后面那么简单的程序写的有bug,但是你前面答的很好,我只能给你个中等,凑合吧!(注意我这个教训,微软的算法题,手写千万不能有bug,微软太看重这了,我差一点gg跪在这上面)我连忙解释写代码的时候太紧张,脑子一时空白了什么的。然后也没有什么想问的了,就挂了电话。

电话面个人感觉由于太紧张没有发挥好,没有很好的发挥出自己的水平,那今天特别忐忑,害怕电话面跪了

3 现场面

怀着忐忑的心情等了好几天,有一天突然收到了微软邀请现场面试的和确认面试时间4月26的邮件,时间离收到邮件就隔10天左右,真是开心,然后又开始了一心准备ms的过程。坑爹的是25号要出发之前英语课还轮到我做presentation,25号下午准时和女朋友来到高铁站出发去苏州,然后2个半小时之后到了苏州,我弟弟接了我,然后带我到微软熟悉了下环境,找到了之前订的酒店,把包放下,跟准备跟他去吃饭,然后他公司叫他回去了,然后就跟以前的同学晚上一起去吃了份大餐(亮点是旁边坐那个女生真是漂亮,不夸张的说刘亦菲的级别),不扯犊子了,下面正式将现场面

26号下来1点来到了微软大厦,然后就开始了长达5个小时的面试过程。中间怎么等待什么的就不说了,进正题

1 面 来领我的是一个30多岁的叔叔(额,有点装嫩了,自己都20多了,应该是哥哥不是叔叔了),进去之后让我别紧张,喝口水,不知道怎么的,我现场面不像电话面那样,确实一点紧张的感觉都没有,然后让我自我介绍一下,调了个我的项目,让我在黑板上画了下架构图给他讲解,他说他不懂,讲问之后问了下相关的问题( 数据库,网络相关的记不清了),记得一个如果你项目中用到的数据库要从mysql换成oracle,你要做哪些事,扯了半天,说下面咱们来写个题吧(又是这环节),题目是:取一个数组中最大的k个数,要求时间复杂度不大于o(n),乍一看这道题是不是很简单,可是也有很多坑,比如k个最大数要不要求有序这些,要求的话堆排序,不要求的话快排的变形解决,如果你不问清题目,不理解意思,不好意思不管你写的怎么样,直接gg.(因为这么简单的题就是考察你的沟通交流能力),我问了,不一定要有序,用快排的变形写了一个,他没看出来bug,然后问我时间复杂度,让我推导出这个时间复杂度。结束之后还是老问题,问我有没有想我的,我还是那两个问题,面试官回答是,面试表现比较好,说到这我心里就吃下了一颗定心丸。

然后这个一轮面试官很友好的把我送到了waitting room,没过几分钟二轮面试官过来把我领走了。我一看,啊,好年轻的小伙子。进屋之后,说你一面怎么问了这么长时间,要求的是每个人一个小时啊,然后我说我也不知道,然后就打开电脑看了我的博客,跟我谈了数据库啊,内存模型啊这些东西,然后就是他问了一个开放性的问题:题目是 服务器有一个非常大的字典,每次备份的时候都要所有内容备份一次,如果备份的过程中突然crash了,又要重新写,问我有什么好的解决方案,我跟他说了说,然后他说差不多,然后就是咱们来写个题吧(又是这句话),题目还是不难:找一个值在有序数组中最后一次出现的位置,之前写过,思路立马来(就是一个变形的二分查找),三下五除二在黑板上写了出来,然后他也没看到什么bug。就说你有什么想问的,还是老问题了,让我等boss面我。之后他还是一样送我到了waitting room,等了boss(并不是老板,就是某个部门的负责人)半天,中间hr找我聊了聊,说我前两轮表现的比较好,让我好好准备第三轮,最关键有生杀大权的一轮,问我家那里的啊,现在有哪些公司的offer这些,谈了一会,boss来了,额,穿着拖鞋(穿拖鞋还穿着袜子),大神既视感,50岁左右的人,领我进了房间,让我别紧张,自我介绍什么的,然后又是挑了一个项目问了一下,只是随便问一下,也不提关于项目的什么问题,估计是在我说项目的时候,他在思索接一下问我什么问题。我巴拉巴拉之后,问了我一下java的优点,我又巴拉巴拉说了一通,他还是没发表什么意见。然后就是咱们来写一个题吧(又是这),额,难道依然不是很大,题目记得不太清了,反正不难,我哗哗哗的写好了,写了整个一黑板,他说你看看你的代码有没有问题,额,我那个汗啊,我认真自己检查了一遍,没有问题,然后就说没找到,然后他说你for循环那为什么没有大括号,你的代码在电脑上能运行吗?额,我就解释说,我写那个for循环的时候不知道这里面很有多长,所以没加大括号,可是我也缩进了,然后他说,你写代码别急,慢慢写,不是要你写的有多快,要好可靠,然后我无言以对,默默把所有喽的括号加上了。下面就是关键了,让我给100g的文件排序,内存只有16g,我给出了一种方案,可行的,但是有点复杂,他让我改进,然后我在他的提醒下写了一个比他想的还简单的解决方案,然后这个问题就结束了,最后就是IQ test了,一群人从0----100中选一个数字,谁选的数字最接近这群人的平均值的2/3谁赢,问你选什么,给三个选项 0 22 33.然后我选了22,巴拉巴拉了一波为什么选这个。然后技术环节就结束了,他说时间也差不多了,问我有没有什么想问的,这极大可能是我未来所在部门的boss,就问了写自己想问的东西,这里仁者见仁了,就不吐露了。然后boss还是依然送我下路,把我领到会议室让我等等hr。大概等了20多分钟,hr进来了,我问了下我今天三轮技术面面试官反馈怎么样,说表现很不错,额,心里有底了,只有最后一轮面试官说你大括号没加,有点小毛躁,但是不影响录取,总体表现很好,然后让我最近不要接别的公司的offer了,问了为大概什么时候能入职,能不能保障最少3个月的实习时间,怕影响我转正(微软的hr真好,时时为我们考虑),学校和导师同不同意你实习,对实习的地点苏州,北京,上海你选哪个这些的,谈了谈之后,心里也有底了,差不多了,已经到6点半左右了,还要赶回学校第二天早上有政治考试,就没留在微软混顿晚饭,hr把我送到楼下,我急忙打车奔向高铁站。


其实总结下来,微软的现场面题目难道并不是很大,但是要求的是你的完美解决,没有漏洞,而且特别补充一点,微软非常看重沟通交流能力,在面试的过程中切记有什么不懂或者不明白的要果断跟面试官沟通,把疑问问清楚。最后要给微软的面试官和hr一个赞,hr真是非常非常的贴心,是我面试过的所有公司hr中最好的,没有之一,面试官也非常的平易近人,非常的nice,不像有些的面试官装X。最后的最后还是要感谢我的女朋友在背后不停的鼓励我,给我勇气,给我动力,尤其是送我去高铁站,给我太大的信心了,也是我现场面试一点不紧张,可以很好发挥的。

2 0
原创粉丝点击