以前常在清华看面经,发现我们学校自己人写的面经很少,光索取不给予也不是一回事,另外,我个人希望我们学校有更多的人能获得不错的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的在线训练平台(),
不过可惜的是,可能大多数人根本就从来没有访问过,要是你经常在上面做题,那么面试的题对你来说简直就是小菜一碟,或者说叫用大炮打蚊子。当然,现在我们
学校acm训练平台上的题对于参加面试的人来说的确是太难了点,而且也用不着,我会建议我们学校acm训练平台的开发组,看能不能在原来的平台上面开辟一
个简单而初级点的训练题库供大家练习。
面试的具体题不能谈了,就说说我个人的一些体会吧
1.
写程序的时候一定要专业。其实我自己以前也做过面试官,在面试的时候,从程序上一眼就能看出这个人是不是学院派的,也就是说这个人是否具有专业素养,主要
就是看程序的写做风格,以及是否考虑了边界条件,是否检查了输入的证确性,举个很简单的例子,让你写一个求字符串长度的函数,很多人根本就不会首选测试一
下输入的字符串指针是不是NULL,有时候让你的程序很简单,但高下由此而分。建议大家看看assert()函数的用法,然后以后在自己的程序中有意识的
使用它进行输入值检验什么的。当然还有什么注释什么的,缩进什么的,也都是很体现一个程序员专业素养的地方。这点建议大家多看看我们学校XXX老师
(XXX)他们编的那个C语言教材,上面的代码风格很好,谭浩强那本C语言就不看也罢,不光错误老多,而且代码风格也不太好。
2.基本数据结构一定要熟悉,二叉树,字符串,链表,这三个东东的一些算法、结构要是不熟悉的话问题就很严重了!几乎100%会被b4~~,另外算法书也看看,简单的题会做就行,太深的也不用太细钻,这个前面已经说过了。
3.仔细检查简历上的描述,上面做过的东东是否真是自己做的真是自己熟悉的。因为面试官会针对你的简历问你,而且会问得很深,而且很有可能好几轮面试官都
会针对你简历上的某个项目,或说某个东西从各个方面问你(我就是头两轮面试都指着同一个项目问我),如果那东西不是你自己亲手做的,你只是了解但不熟悉,
就会被问得很惨,也会给留下很不好的印象。所以简历这个东西需要认真对待,有的简历上罗列了几十个项目,几十个语言,都是什么熟悉,精通什么的修饰词,其
实面试官也知道,真正要做一个具有一定规模一定实用价值的东东需要很多时间,短短的硕士一两年时间不可能完成很多,大家都是干这个的,俗话说外行看热闹,
内行看门道,都知道怎么回事就不要在糊弄了。有些人简历写得给人一看之后就感觉中国不能没有你,但一问就死得后抽象,举个例子,当年我在微软实习的时候,
听
说过这样一个故事,有人来面试,问他对网络熟悉吗?熟悉。对操作系统熟悉吗?熟悉。那你说说操作系统中网络的协议栈是怎么回事吧。。。。因此,当面试官问
你对什么熟悉的时候,如果自己不熟就直接说:sorry,这个方面我不太熟。这不是什么丢人的事,人无完人,没有人能面面俱到,你只需要突出你熟悉的方面
就ok了
4.做题时不要紧张(当然这很难,当时我也很紧张,第一轮的时候面试官两次提醒我不要紧张,不过到后面发现,一轮比一轮,越面越简单,就轻松多了),可以
先同面试官讲一下思路,如果得到面试官首肯了,再动手写程序,有可能面试官一看你思路很清晰,就不要你写程序了,这是最happy的事了。如果做不出来也
不要紧,面试官会提示你,一般都能在面试官的提示下做出来的。
5.对一些语言的理解要比较深刻,其实这个主要看积累了,其实紫丁香rogramming,c_and_cpp版,以前的纯C论坛,现在的sf(技
术讨论区,常常会讨论一些相对低层的东西,可惜的是观注者了了无几~~,在面试的时候,一般会问你一些c/c++语言实现上的一些细节,或者stl的一些
细节问题,虽然都是一些短小的问题,但是,的确是比较见功底的,这些只能靠平时的积累了,多看些书多参与一些这方面的讨论是很有好处的。
6.对自己的职位要有比较清楚的认识,这次微软工程院面试分三个职位,一个是SDE(软件开发工程师),SDTE(软件测试工程师),PM(项目经理),我面的是SDE,因此,前面一系列都是针对SDE而言的,其余的职位面试题目应当不同,但精神可能是大同小异的。
最后,祝大家顺利找到工作,让工大军团在各大企业中扬名,这其实也是在为我们自己辅路。
阅读(524) | 评论(0) | 转发(0) |