第15部分(第3/4 页)
里一定会留出几分钟的时间,让面试者提问,任何问题都可以。不管面
试者的表现如何,是否决定录用,都一定要尽心尽力回答。买卖不成仁义在。?而且我自己也有若干次的面试失败经历,知道有很多因素会影响到面试表现。往往这次不行,下次说不定就过关了。在面试结束后,会把面试者带回到楼下的大厅里,然后我会通知下一位面试官,并附上我的评语。
内部换组,还要面试?
和对外招聘面试差不多!在微软这几年,我又有过三次正式的内部面试。从多媒体组,到反病毒组,到现在的SWI(SecureWindowsInitiative)。每次面试都是4+1技术面试,问的问题和对外招聘面试一样形式。不过是自己解决中饭。在微软,鼓励人员的自由流动,这是我最为欣赏的一点。
每一次面试我都可以从面试官那里学到很多东西。有时候,觉得这个问题不错,下次我就改头换面去考别人了。看完我的面试经历,有什么感想?我想,只要你能和我一样,在第三次面试时候,轻装上阵,发挥出水平,就一定会成功!
后话
看完了我面试别人的过程,希望大家对微软的面试过程和方式有更多的了解。我自己的一个建议:就知识领域而言,基础(数据结构/算法)是最关键的。当然了,不排除有某位老兄,早上开车上班的路上吃了警察的一张罚单,决定要出ATL编程的考题的情况。如果你碰上了,可不要怪这里被我误导了。?
txt电子书分享平台
面试问题
微软的面试问题主要分为这样几大类:
?行为类问题。这类问题依据应聘人的经历询问应聘人在不同场景下的反应,例如“请描述一个你参加过的团队项目,你在团队里扮演了什么角色?当团队成员有不同意见的时候,你们是怎样解决问题的?”,或“如果你发现你的项目不可能在原定时间内完成,你会怎么办?”。这类问题的目的在于考察应聘人的“软”素质比如团队合作精神。这样的问题没有标准答案,提问者会不断根据应聘人的经历和回答进一步提出更深层次的问题,以最大程度地挖掘应聘者的潜质。
?专业知识类问题。根据应聘人的经历,提问者可能对感兴趣的技术问题进行发问,比如“请谈一谈你的这项关于图像处理的课程设计。这个项目解决了什么问题?用到了什么算法?你的算法比现有的做法有什么改进?”。这类问题主要考察应聘人的专业知识。微软面试不会过于强调需要死记硬背的细节,而是更强调对技术的理解程度。比如微软面试里通常不会问“在IP包里目的地址是第几个域?”,但是有可能问“为什么TCP要使用3向握手协议?”;不会问“在Windows上应该用哪个API向线程池提交一个任务?”而有可能问“在什么情况下你会选择用线程池?”。对于应届毕业生,微软招聘通常不会过于强调某一方面的专业知识,比如数据库或网络知识,而是更注重对计算机学科的基础知识的掌握。
?编程类问题。对软件设计工程师,一个必不可少的面试环节是编程问题。应聘人会被要求在白板上用30分钟左右的时间写一段小程序。这类问题考的是基本编程能力和解决问题的能力。对于应届毕业生来说,这些程序往往是关于基本数据结构和算法的。比如一道很常见的问题是“写一个函数把一个链表倒过来”。面试者不光要看这个程序是否正确,还要评估应聘人解决问题的能力,思路是否清晰和考虑问题是否全面。写完程序后,应聘人通常会被要求检查错误,分析算法的复杂度并举出其他的可能做法。
?设计类问题。在白板上写程序可以考察对小程序的设计能力,但是更进一步,应聘人可能被要求对一些更复杂软件问题阐述自己的设计。比如“怎样设计一个编译器来支持调试器的断点功能?”。这类问题往往要求口述回答并辅以框图或简单的伪代码。
?智力题。以前微软员工曾经流行用一些脑筋急转弯类的智力题进行面试,比如“怎样移动富士山?”,“美国有多少辆汽车?”,或“怎样用一架天平最快的在9个相同的铁球里找出偏重的一个?”。因特网上也有很多对这类问题的收集。但是近年来微软公司已经停止使用这些问题面试,原因是它们和微软的工作不直接相关。现在来申请微软工作的人不必再担心被问到这些让人挠头的古怪问题了。
电子书 分享网站
一道微软面试的智力测验题
——王志峰
微软
本章未完,点击下一页继续。