第一个面试官过后,我这心里就很没有底气了,之前怎么说也是大大小小面试过很多公司了,但是微软就是牛,从面试官就能感觉出来这个公司的水平真的很高,说实话,我觉得我能力不够,但是面试还得继续啊,一面过后,面试官就叫我到旁边的会议室等,说等一会下一个面试官就会过去。自己坐在那个会议室里,觉得很紧张,这时候接到了NEC的电话,说要发我offer,想都没想就给拒了,因为突然发现自己根本不喜欢日企,先不说这个了,大概5分钟后,进来了一个30岁左右的男士,同样是手里拿了一个IBM的本子,看起来很有精神,也挺随和,微笑着跟我聊了起来,起初是很简单的问题,无非就是自我介绍,项目经验,为什么申请PM这个职位,对这个职位有什么认识以及自己有什么优势等等。这些问题其实是面试中很经常遇到的“通用问题”,而且事先我准备得比较充分,所以答起来还算是比较顺利。之后就是一段英文口语面试,然后是一个英文写作测试,是说如果你现在是PM,你的项目被大大的delay了,你通过分析发现以目前的人力是无法按期交付项目的,你给你的boss写一封信来解释并试图解决这个问题,这部分就不多说了。这期间他一直在微笑点头(不过眼镜却一直盯着电脑屏幕,手也一直在敲键盘),突然他拿起桌子上的一只黑色签字笔,走向会议室的玻璃墙,说“下面咱们写个程序吧”,然后在玻璃墙上画了一个随机链表,题目是这样的“有一个链表L,其每个节点有2个指针,一个指针next指向链表的下个节点,另一个random随机指向链表中的任一个节点,可能是自己或者为空,写一个程序,要求复制这个链表的结构并分析其复杂性。”我想了一会,先说了一个时间复杂度为n的平方,而且还比较费空间的算法,然后又想出了一个改进的算法,我觉得我的算法比较垃圾,就不在这献丑了,不管怎么样,这个题目算是答得还可以。下一个题目我觉得简直是我这次微软面试之行的噩梦。大概是这样的“有一个大方格,将其划分成3*3的9个中方格,将每个中方格划分成3*3的9个小方格(希望我表述明白了),也就是说,现在这个大方格里就有9*9个小方格了,初始的时候,这81个小方格里某一些被随机填上了1-9种任一个数字,另一些则空白,写一个程序,将空白的小方格填上数字(1-9任一数字),要求大方格的每一行跟每一列不得有重复的数字,同时每一个中方格内不得有重复数字”,这道题可能有的人见过,我却从来没见过,而且当时一点思路都没有,完全傻了,面试官看我不会就很有耐心的提示我,我真想说我不会,咱换道题吧。可是我知道这样就犯了面试的大忌,面试官其实很希望能看到你在遇到困难的时候是如何解决的。我尽力按照他的提示去思考,吃力的在墙上写着代码,觉得思路很混乱,额头上开始冒汗(我觉得我心理素质不是很好)……这道题大概解了20多分钟,依旧没有写出最后的代码,只是写了些许思路,面试官说时间差不多了,就先这样吧,然后让我在这等下一位面试官,笑了一下就走了。我依旧看着这个题目发呆,呵呵,真的没有思路,我水平真的很一般啊。算了,摆正心态,下一轮好好表现吧。看看表,快12点了,也饿了,微软的面试时间安排的有些不合理,不过也没办法,人家面试官也是饿肚子的,呵呵,这时我听见有人过来了,还蛮快的。我赶紧坐好了准备最后的战斗!结果门一开,是打扫卫生的阿姨。那个阿姨看都不看我一眼进来就擦桌子,擦玻璃墙。我的第一个反应就是“不会这个就是第三面吧”?因为我知道有很多公司的面试特别注重细节,很可能你在不知不觉中就已经被面试过了(亏我当时能想到这是第三轮面试,我也挺佩服我自己,呵呵),于是我赶紧跑过去,要求帮那个阿姨干活。人家阿姨还吓一跳,赶紧说不用不用,我竟然跟阿姨争了半天,最后阿姨擦玻璃墙的时候,高的地方擦不到,我就接过来帮忙了,一边擦我还一边很自然的看周围有没有摄像头(再一次,我真佩服我自己当时竟然能想那么多,鄙视一下),忙活了一通,打扫的阿姨出去了,进来了一位30多岁的女士,原来她才是我的第三位面试官,见到我,她比较严肃的说“姚子亮吧?走,咱们一起去吃饭吧。”我清楚,这顿饭就是第三面了。我真不知道吃饭面试该怎么表现,不过我告诉自己,要镇定,正常发挥呗。于是我就跟着她往公司外边走,一边走一边聊天,原来这个女士在微软工作了10多年了,最开始在美国总部工作,现在回来做PM。说得我那个向往啊,她问我喜欢吃什么,我说随便,她说能吃辣的么,我说很喜欢吃辣的,于是她就带我去离公司不远的一个川菜馆了,路上她问我为什么喜欢PM,为什么申请微软,怎么看待软件测试的等等诸如此类的问题。到饭店点了3个菜,一个汤。等待上菜的时候,面试就开始了。一共写了2个程序,第一个是写一个函数,判断一个数是不是质数,并分析程序的复杂性。由于一面的经验教训,我这次写得格外认真仔细,而且在写程序之前问了许多相关的问题,呵呵。所以这个程序写得还算不错,另一个题目我忘了,是关于指针的问题,不过不难。写第二个程序的时候,菜上齐了,她就叫我先吃饭,不要写了。吃饭的时候闲聊了一些,但是我知道这其实也是面试,所以聊得比较谨慎。吃过饭她叫我把程序写完,然后简单的看了一下,并没有任何评论,然后就起身回公司,回公司的路上是英文面试,题目是“设计一个给小孩子用的手机,该考虑哪方面的内容”,这个题目我相信很多人都见过,我也见过。不过从来没想过要用英语答,不过问题也不算大,答得还算可以。聊完了,正好回到了公司,三面就结束了。
虽然这次微软面试是以失败告终的,但是我个人觉得受益很大。像微软这个层次的公司,对应聘者的综合素质跟专业知识要求都很高,专业知识方面数据结构算法尤为重要,所以大家如果有志于微软的话,一定要真的做到“精通”数据结构与算法。还有一点可能细心的人注意到了,微软很喜欢让面试者现场写代码,这一点大家不要小视,很可能某个问题你有思路,但是有思路跟写出漂亮的代码还不是一回事,所以我强烈建议大家能够多练一下自己现场写代码的能力。
到这已经跟大家分享了3个公司的面试经验了,其实面了很多公司,也希望多跟大家分享一下,本想再分享一下华为跟松下或者NEC的面试经验,但是我觉得面试大同小异,说多了也没啥价值,还浪费大家看的时间,况且关于华为的面经应该有很多了,松下跟NEC我面过之后就后悔了,因为看见日本人就烦,呵呵,所以就不说了,而且面过这2个公司之后也就再也不投日企了。
这里简单总结一下吧。我想细心的朋友也都能看出来,找工作,尤其是计算机相关专业的,想进好公司的人。技术是首要条件,如果技术不行,你就别想做开发了,这里我再提一下,之前我说过,数据结构与算法很重要,其中排序算法最最重要!我面试过好多次,都要求写排序算法,其次简历也重要,很多时候简历是敲门砖,而简历中最重要的莫过于项目经验了,我的很多很多面试都是在说我做过的项目,这点企业很看重,他们需要找有经验的人,而我们都是学生,不可能有工作经验,所以企业就更青睐有项目经验的人。在这里我强烈建议还没毕业并且毕业要找工作的人,在学校里的时候一定要尽可能找机会做一些真实项目,这都是自己的财富。大概就这样吧,希望大家花时间看了这么多之后不会觉得在浪费时间就好,同时祝愿依旧奋斗找工作的同学们早日梦想成真!
虽然这次微软面试是以失败告终的,但是我个人觉得受益很大。像微软这个层次的公司,对应聘者的综合素质跟专业知识要求都很高,专业知识方面数据结构算法尤为重要,所以大家如果有志于微软的话,一定要真的做到“精通”数据结构与算法。还有一点可能细心的人注意到了,微软很喜欢让面试者现场写代码,这一点大家不要小视,很可能某个问题你有思路,但是有思路跟写出漂亮的代码还不是一回事,所以我强烈建议大家能够多练一下自己现场写代码的能力。
到这已经跟大家分享了3个公司的面试经验了,其实面了很多公司,也希望多跟大家分享一下,本想再分享一下华为跟松下或者NEC的面试经验,但是我觉得面试大同小异,说多了也没啥价值,还浪费大家看的时间,况且关于华为的面经应该有很多了,松下跟NEC我面过之后就后悔了,因为看见日本人就烦,呵呵,所以就不说了,而且面过这2个公司之后也就再也不投日企了。
这里简单总结一下吧。我想细心的朋友也都能看出来,找工作,尤其是计算机相关专业的,想进好公司的人。技术是首要条件,如果技术不行,你就别想做开发了,这里我再提一下,之前我说过,数据结构与算法很重要,其中排序算法最最重要!我面试过好多次,都要求写排序算法,其次简历也重要,很多时候简历是敲门砖,而简历中最重要的莫过于项目经验了,我的很多很多面试都是在说我做过的项目,这点企业很看重,他们需要找有经验的人,而我们都是学生,不可能有工作经验,所以企业就更青睐有项目经验的人。在这里我强烈建议还没毕业并且毕业要找工作的人,在学校里的时候一定要尽可能找机会做一些真实项目,这都是自己的财富。大概就这样吧,希望大家花时间看了这么多之后不会觉得在浪费时间就好,同时祝愿依旧奋斗找工作的同学们早日梦想成真!