Xie Yubo‘s Blog

来源:百度文库 编辑:神马文学网 时间:2024/04/28 00:45:34
微软亚洲工程院面试经历~~~
Friday, October 21, 2005, 09:55 PM - 默认分类
发信人: WeskitKeeper (马甲守护神), 信区: Work
标  题: MS面经~~~
发信站: 哈工大紫丁香 (Fri Oct 21 21:33:55 2005), 转信
以前常在清华看面经,发现我们学校自己人写的面经很少 ,光索取不给予也不是一回事,另外,我个人希望我们学校有更多的人能获得不错的offer,其实对我们自身也是非常有力的。公司只有觉得hit的整体水平高,才会对hit出去的人有更多的感情倾斜,其实找工作主要的不是同自己学校的人竞争,而是同外校的,清华北大的竞争,因此我希望我们大家在找工作的时候,能有种精诚团结的精神,互通有无。这次我是去北京微软亚洲工程院做的面试,这里我就简单谈一下我个人的经历吧,希望大家都能找到好工作,并且能在这里看到更多的个人的面经,多多交流~~~
这次去北京面试,总共有十个人,工大这边有三个(以后还有几批,可能会有更多的人去),另外一些人有北大、清华、电子科大、北工业,好像还有几个其它学校的,记不清了,是8:45到的微软亚洲工程院,然后被领到一个会议室里,有个hr的人来讲了一下面试的流程:上面三轮,每轮一个小时,每轮之间有5分钟时间休息一下,中午吃饭1个小时,然后听下午的安排,并且一再强调不准在bbs上透露面试题。随后,就是一个一个的点杀,每叫到一个人就出去,然后会有一个人带里到一件大屋子里,那个大屋子里有很多小圆桌,有不少人在里面面试,你们俩个也找一个小圆桌坐下,然后面试就开始了。每轮面试结束后那个人会把你带出来,让你在外面的大厅里等候,然后5分钟后,会有另一个人来叫你的名字,叫你跟着他又到先前那个大屋子里找个小圆桌坐下面试,如果来叫你的人是个leader或者manager,有自己的办公室,那么你就会被他叫到他自己的办公室去面试,所有的面试都是one by
one的
每轮面试的过程一般都后类同,最开始就是翻你的简历然后看看你简历上写的项目什么的,然后详细问一通,之后,就会发给你几张纸,然后,面试官会说一个题,然后让你写程序实现,每轮会有两三道题,有时候也不用写完整的程序,看面试官心情了,一般做完题后,还有时间的话会再问你几个技术上的问题,让你谈谈解决方案什么的。我的第三轮出了一道比较open的iq题,其它轮都没有什么iq题,主要是写程序。
第三轮结束后,会被带到一个会议事等着,然后过一会儿就有人给送来盒饭,吃完饭后就一直等,一会儿最早的hr就会出现,宣布,参加下午面试的人,剩下的人就让回去等通知了。当时面试的10个人中留下了5个,其中两个都是我们hit的,一个清华的,一个北大的,还有一个不知是哪儿的,呵呵算来还是没给hit丢脸,下午面试一般就是大boss了,会有一到三轮,如果没有什么问题的话面完之后,hr就会给你口头的offer了
面试我时都用的是中文,其中第三轮的面试官想用英文,刚开始的时候,他用英文问了我一个问题。然后我就用英文回答,回答过程中发现面试官的面情极其痛苦,插一句,我英语实在是太烂,考六级考了八次都没过,面试官听不懂我说的是啥也可以理解,哈哈,希望这一点能给英语不好的兄弟们一点信心,微软主要还是看综合潜质,不太会死板的只盯着一个问题,所以在面试的时候,一定要想办法突出自己的优势,人无完人,没有人什么都懂,但你应当有策略让别人知道你懂什么。
面试都是一些算法方面的题,这类题的比重非常之大,就我个人感觉这类面试比较适合于搞ACM竞赛的选手,其实我们学院自己就有ACM的在线训练平台(http://acm.hit.edu.cn),不过可惜的是,可能大多数人根本就从来没有访问过,要是你经常在上面做题,那么面试的题对你来说简直就是小菜一碟,或者说叫用大炮打蚊子。当然,现在我们学校acm训练平台上的题对于参加面试的人来说的确是太难了点,而且也用不着,我会建议我们学校acm训练平台的开发组,看能不能在原来的平台上面开辟一个简单而初级点的训练题库供大家练习。
面试的具体题不能谈了,就说说我个人的一些体会吧
1. 写程序的时候一定要专业。其实我自己以前也做过面试官 ,在面试的时候,从程序上一眼就能看出这个人是不是学院派的,也就是说这个人是否具有专业素养,主要就是看程序的写做风格,以及是否考虑了边界条件,是否检查了输入的证确性,举个很简单的例子,让你写一个求字符串长度的函数,很多人根本就不会首选测试一下输入的字符串指针是不是NULL,有时候让你的程序很简单,但高下由此而分。建议大家看看assert()函数的用法,然后以后在自己的程序中有意识的使用它进行输入值检验什么的。当然还有什么注释什么的,缩进什么的,也都是很体现一个程序员专业素养的地方。这点建议大家多看看我们学校孙志岗老师(Sun)他们编的那个C语言教材,上面的代码风格很好,谭浩强那本C语言就不看也罢,不光错误老多,而且代码风格也不太好。
2.基本数据结构一定要熟悉,二叉树,字符串,链表,这三个东东的一些算法、结构要是不熟悉的话问题就很严重了!几乎100%会被b4~~,另外算法书也看看,简单的题会做就行,太深的也不用太细钻,这个前面已经说过了。
3.仔细检查简历上的描述,上面做过的东东是否真是自己做的真是自己熟悉的。因为面试官会针对你的简历问你,而且会问得很深,而且很有可能好几轮面试官都会针对你简历上的某个项目,或说某个东西从各个方面问你(我就是头两轮面试都指着同一个项目问我),如果那东西不是你自己亲手做的,你只是了解但不熟悉,就会被问得很惨,也会给留下很不好的印象。所以简历这个东西需要认真对待,有的简历上罗列了几十个项目,几十个语言,都是什么熟悉,精通什么的修饰词,其实面试官也知道,真正要做一个具有一定规模一定实用价值的东东需要很多时间,短短的硕士一两年时间不可能完成很多,大家都是干这个的,俗话说外行看热闹,内行看门道,都知道怎么回事就不要在糊弄了。有些人简历写得给人一看之后就感觉中国不能没有你,但一问就死得后抽象,举个例子,当年我在微软实习的时候,听说过这样一个故事,有人来面试,问他对网络熟悉吗?熟悉。对操作系统熟悉吗?熟悉。那你说说操作系统中网络的协议栈是怎么回事吧。。。。因此,当面试官问你对什么熟悉的时候,如果自己不熟就直接说:sorry,这个方面我不太熟。这不是什么丢人的事,人无完人,没有人能面面俱到,你只需要突!
出你熟悉的方面就ok了
4.做题时不要紧张(当然这很难,当时我也很紧张,第一轮的时候面试官两次提醒我不要紧张,不过到后面发现,一轮比一轮,越面越简单,就轻松多了),可以先同面试官讲一下思路,如果得到面试官首肯了,再动手写程序,有可能面试官一看你思路很清晰,就不要你写程序了,这是最happy的事了。如果做不出来也不要紧,面试官会提示你,一般都能在面试官的提示下做出来的。
5.对一些语言的理解要比较深刻,其实这个主要看积累了,其实紫丁香programming,c_and_cpp版,以前的纯C论坛,现在的sf(http://sf.hit.edu.cn/bbs)技术讨论区,常常会讨论一些相对低层的东西,可惜的是观注者了了无几~~,在面试的时候,一般会问你一些c/c++语言实现上的一些细节,或者stl的一些细节问题,虽然都是一些短小的问题,但是,的确是比较见功底的,这些只能靠平时的积累了,多看些书多参与一些这方面的讨论是很有好处的。
6.对自己的职位要有比较清楚的认识,这次微软工程院面试分三个职位,一个是SDE(软件开发工程师),SDTE(软件测试工程师),PM(项目经理),我面的是SDE,因此,前面一系列都是针对SDE而言的,其余的职位面试题目应当不同,但精神可能是大同小异的。
最后,祝大家顺利找到工作,让工大军团在各大企业中扬名,这其实也是在为我们自己辅路。
--
※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM:202.118.236.219]
哈哈,好像有点狭隘的只针对哈工大的同学:),毕意是在工大的BBS上贴的,我也是哈工大的人嘛~~~