微软面试经验一: 上周三晚上,我收到了ATC的面试通知(邮件)周四晚上,整整复习了一天,直到晚上2点钟,主要看数据结构,重点看了排序,检索,二叉书,自己还想了想怎么存储一个二叉树到文件中,怎么从文件恢复(这个据说今年考过),怎么不用递归实现前序,后序,中序遍历。图论部分稍微看了一下。结果,上周五(19日),我参加ATC的面试时候,我看的一个都没有考到2,惨啊。 第二轮的时候,考官的问题是:怎么实现在一个图中,判断能否沿所有边走一遍且只走一遍,如果能够,写出走法。需要自己定义数据结构和写算法。其实,这个就是著名的七孔桥问题,反正我当时一下就有点懵了,幸亏考官给我一些提示,后来还简化了一些条件和要求,但是我自己感觉答的不是很好。 不过,幸运的是,我还是能参加了下午的面试,只有一个人面试,呵呵。现在等待结果中。。。 总之,大家还是看看图论的一些东西吧,当然二叉树还是要看的。至于其它一些编程题,主要要考虑编程习惯,边界条件(保证程序正确),以及算法效率,估计都得靠临场发挥了。就像版上所说的,自己不会的时候,一定要和面试官多聊,试探性的说出自己想法, 他总不会让你往一个明显错误的方向走下去吧。 微软面试经验二: ATC PM 面经 首先声明,我是被人推荐面试去的。不要和现在的校园招聘混淆了,面试的流程应该是不一样的。感谢推荐我的Darren.Wang,这位ee的师兄是我的伯乐,虽然我们就见过2面。注:以下的面试都是全英文,就最后报告offer的是中文。ok,首先是电面,9月中旬,是hr打过来的,问了一些基本问题,问了简历上的问题,然后问我最熟悉的编程语言是什么,我大言不惭的说c#。于是她问了我3个c#的问题,都是概念性问题,期间听到有用笔在记录什么东西(汗)。 分别是thread pool, overload/overri de, 还有一个忘记了。。大概就是看你能不能流利的说出来的把。这一轮的重点大概就是英语。最后告诉我给我一个on-site interview, 过了一周左右,通知了我是在10-17号面试,天,一个月。折磨阿,早上7.45??折磨阿基本上是从10月12号之后开始准备的,在此推荐一个pdf,programer interview,有中文版。 17号早上6.30点钟起床,东川路么,很近的。但是我还是打了车。在上车之前的准备工作有:上厕所,吃半块德福的白巧克力,喝了一点水。其他都带着上车了。 7。30到了,5个人,3个工作的,一个intern,还有一个我 8点开始面试,一共5轮,2轮中国人,3轮外国人,遗憾的我一个名字都没记住。每轮 1个小时 1面,很nice的gg,英语说得很慢,明显照顾我。先问了问简历的问题,然后开始做题,首先是“TestString"->"StringTest"的问题,而且第二个单词是给定位置的,用区间反转解之。然后是一个随机数字的数组,求和是100的两个数字位置,用两边夹逼解之。这两个都要写detail的程序的。然后问了一道open question,怎么样在拥有很多书的情况下把书摆的适合查找,而且增加的时候也要保持查找的顺序。后来觉得这道题就是数据库的文件系统怎么设计么。还不用考虑删除,用物理索引解之。 2面,很有气质的gg,感觉是里面的资深工程师。先给我解释了一下sde,sdet,pm的区别。然后问了我简历上的问题。编程上问了我两个sorted single list的merge问题。让我写代码。 我是真的从上完数据结构课就没写过c 的东西了,居然把节点指针写成了in t *。。费了半天劲终于写好了。结果指针移位的时候多用了个temp指针,被指出,道歉,改正。。然后继续讨论sde,sdet,pm的选择问题。真的是很有风度,恩。 3面,很有趣的foreign gg,感觉是开发部的lead。先简单问了我实习的问题,然后问了我毕业论文的情况。令我惊讶的是我毕业论文写的是本体的进化,他居然懂得。。紧张阿 ,不是遇到这方面的大牛了八。还好没有继续问下去(虽然我不是没做,但总是心虚阿)。然后出了一道我至今见的最巧妙的面试题(大概是我孤陋了)。 首先,写个power(x, y)的test cases,就是x的y次方拉。 然后,用循环实现,不用循环实现(用递归),递归费内存如何解决。。我到写递归的时候已经晕了,test case 写了7,8个,自己写程序的时候每个都要注意,真正的test case driven... 这面感觉最不好。 4面,很pp的foreign jj,是test lead(我问的,确定)。先问我sde,sdet,pm有没有讲过,我想当哪个。我说sde,pm把,sdet不干。后来最后才知道她是test lead。。汗阿。首先问了我一个设计问题,让我设计一个媒体播放器,越细越好。我一顿mvc,3层架构,设计模式,插件结构,哈哈,我强项阿。然后吹了一通我的设计的健壮,完整,扩充。恩。然后她让我写个算法,一个随机整形数组,找出里面第一对相同的item。我当时吹得太兴奋了,头脑还是处于结构性状态中,于是只想出了排序的nlogn,没有能做出n的算法(但是我用空间换时间的办法得到了n,就是开一个65563的数组。。)。 4面结束 5面,很有气质的foreign jj,是unit manager。先问我sde,sdet,pm选哪个,我说sde,pm. 她说为什么每个人都是sde。我辩解一通。然后她给了我一个case,说如果一个世界冠军给你1/4 billion dollar让你造一台自行车,但是轮子是别人造的,而且要time-critical你怎么办。我当时想,这造火箭都出来了。 我用标准流程应对之,plan,采购,评估。。,后,她继续:如果造轮子的说好了周二给你又没给怎么办。我说首先通知客户,这是 integrity问题。然后push那边快点,实在不行就换人! 反正老子钱多。问题1结束。问题 2:假设现在你有几个best developer,你想做一个什么软件?并解释,设计它。这真是天赐良机阿,我前一周刚和allen讨论过要做一个personal的高级收藏夹一样的东西。于是略作思考,提升至personal knowledge center的级别一顿猛说,激动阿。感觉那个manager 跟你说话就能感染你,让你很有passion。基本上说完,中间她就提了一两个问题,还是我接下来就要说得,问题2结束。 离开atc. 感觉后两轮就是按照pm来面试我。等待睡不好,吃不好。听到手机响就紧张。周五我一个好久不见的高中同学过来了,陪他了一天,期间作了一点心理咨询。送他去车站的时候,电话响了,通知我给我pm的offer。 至此我job的**面试结束。总结一下:英语是基础,尽量做到能流畅的表达自己的意思,我觉得后两轮我能通过有很大部分是因为我的想法充分表达出来了。简历是过去,要有漂亮的实习和奖学金。前者是你证明自己能力的最好方式,后面是补充。热情是必须,当你表达出你对这个job的热情并且面试官也很high的时候,offer就来了。 恩,bless all who will have their interview and wish they get what they want. 微软面试经验三: 12月上旬面的(迟了点,希望对后面的人有一点点用,MS看见还有人要面)在美罗城体会上上下下的(可不是享受啊!每次上上下下都好紧张啊,谁让我不是牛人呢?DDMM们一定要好好学习啊,基础课是很重要的,唉,从前别人跟偶这么说的时候偶也是左耳进右耳出,但是基础课(特别是DATA STRUCTURE)真的非常重要(真的不是我罗嗦啊,实在太重要了)似乎面试官都是从北京飞来的,(包括HR JJ,PP哦),除了上海的DIRECTORHR JJ告知是3+1轮,不过实际面了3+2轮(3轮后淘汰或者是直接录取(这个偶不知道)了1/4,呵呵,其实就是1个人拉,一共才4个人那天)偶面的POSITION是SDET(不敢面SDE,本人实在太弱) 第一轮:自我感觉还比较良好,问了STATIC和POINTER的一点东东,然后是一个ITOA的实现+如何测试,然后问了二叉排序树中如何删除一个结点第二轮:让偶写那个删除结点的CODE,写的乱七八糟,错误多多,被强烈BS,不过MS的人都很和蔼,说还有机会第三轮:是ATC的一个VICE PRESIDENT,先问了些问题(非技术),智力题好牛(应该说是我弱),答不出,和蔼的告诉偶:今天辛苦了,感谢来应聘!(智力题是12球未知轻重问题)RP爆发了一下,竟然在如此情况下还有下面的2轮,感谢党,感谢**,感谢微软 第四轮:老外出现,负2进制,循循善诱后总算答出一点,英语太差亚,有人同去学口语不?然后是写STRCMP+如何测试,汗啊,KMP俺背不出。第五轮:BOSS出现,就是上海的DIRECTOR,颇有亲和力,上来聊了会,然后出了一个WORD COUNT 的实现+TEST,还有一道智力题然后HR就告诉说结果下周一会通知,确实非常准时。周一下午就收到了。 总结一下偶的一点心得,仅供参考:千万不要紧张,答不出不是问题。偶就是太紧张了,丢脸啊(XDJM不要BS偶啊)。答不出应该保持风度,或者请他换道题也可以。(这个感觉是面试经验问题,偶的面试经验确实是太少了,不过充分牛的话应该就不会遇到这个问题了(好像多嘴了,牛人应该不用看面经?!)还有英语是真的太重要了,那里人人都是讲英语的。偶就是太[被过滤],洋文这个东东啊,是一定要学好的,不仅要GOOD,还要BETTER,BEST!偶是下定决心学习口语+听力了,望懂行的XDJM给我支个招,上什么班比较好?要自信,感觉微软的确不是只根据你的强弱来录用你的,我想这个也是MS的风格吧,虽然以前也有所耳闻。 |