发信人: dudu66 (嘟嘟), 信区: Java
标 题: 面试经验——走进微软
发信站: 北邮人论坛 (Tue Sep 8 14:16:01 2009), 站内
MS(Microsoft)微软是很多IT学生向往的地方,本文将由三位现就职MS的学长介绍一下他们的面试经验,给身在校园的我们一些启示与帮助。
1. SturdyEagle 硕士毕业
2. molaokeping 硕士毕业
3. ly 本科毕业
------------------------------------------------------------
SturdyEagle
转眼又到了找工作的季节,想当年我找工作从很早的实习,到各种中间的选择,到准备,到遇到困难,到最终收到offer,也积累了不少经验,分享一下。
因为自己当时找工作主要针对的是技术类外企,所以,这里的经验和银行,移动等国企的会有所区别。
找工作是个马拉松,一定要有持久战的准备。我去年还算是比较顺利的,折腾了两个月不到点,也有很多同学到了快过年才搞定。广投简历,渺无音信,笔试被鄙视,面试又面失,那那是段相当难受的日子。
去年正好金融危机,很多企业招人只有原来的一半或三分之一,甚至有的干脆不招了,那个时候,很担心究竟能不能找到份好工作,很迷茫,想想自己在这里读了七年,最后却可能不会有理想的结果,很不爽。
有一天晚上,为了准备一家公司的面试,凌晨2点还在实验室做PPT,那时候有个师兄从外面加班回来,看到我还在,惺惺相惜,说先回去睡吧,明早再来。因为 自己的楼那时已经进不去了,我就到师兄那个屋去睡。我躺在陌生的床上,怎么都觉得不舒服,不熟悉的环境让我辗转反侧。师兄说他刚找到一份工作,还挺好的, 想着自个什么offer都没有,很多面试笔试完了都石沉大海渺无音讯,心里不禁有一种胃难受的感觉。第二天早上6点,还起来继续赶ppt,9点钟面试,结 果还没面完就知道失败了。那是自己最痛苦的一个阶段。
但后来,拿到一份Offer后,忽然间机会就多起来了。很多公司的招聘都是晒简历,笔试,一面,二面这样一轮一轮来的,这里面有个时间差的问题,中间那些时间段,很可能就什么消息都没有。所以一定要有耐心,珍贵而稀有的耐心,与其迷茫,还不如做些有用的事情。
而且总的来说,虽然最后不知道去哪家单位,但我发现,基本上大家都去了和自己能力同一区间,风格还算相符的单位。
找工作是一个自我认识的过程,在挑选和被挑选的过程中,越来越对自己有更多了解,最后经过千辛万苦,找到一份工作,可能不一定是自己最喜欢,但却是不多的能接纳自己里比较合适的,这种感受和过程会让人成长。
技术类专业找工作需要复习专业知识,复习准备的时候我觉得可以先大概想一下自己想进啥样的公司,最好就确定一个公司作为“假想敌”。然后以这个公司的要求 做准备,网上搜面经啊,笔试题啊,按照它的风格训练自己等等。这样在为这个公司复习准备的同时,其实很多类似的公司也准备到了。
对公司的了解:
我当时准备的“假想敌”是微软,然后我就先让自己对这个公司产生兴趣。
比如,在美国,微软不是待遇最好的公司,人们都知道,挣钱要去加州,那边的小公司能开得起很高的价格。但在中国,虽然和金融大鳄不能比,一般来看,微软的待遇还不错,除了还算丰厚的基本待遇外,还有饭补,健身补助,旅游补助,股票等等。
它的工作地点在五道口或知春路,以后还会去中关村。还算比较靠近市区,和西二旗相比,下班后你感觉自己还处在一个热闹的城市,而不是荒凉的城乡结合部。
它的工作环境也还可以,有水果,酸奶和饮料供应,每个人都有两台机器,两个显示器同时显示,我们组还配有Mac机器。楼里有台球,乒乓球,跑步机,XBox,Wii等等。
它的工作强度整体上比较合理,制度上还比较规范。它的培训体系相当完善,内部的发展机会可能性很多,从长远看,在各个职位间切换的机会很多,去美国的机会也很多。
然后我就开始了解它的职位,它的工程类基本上有三种职位,PM,SDET和SDE。PM是Program Manager,SDET是Software Developer Engineer in Test,SDE是Software Developer Engineer。这是微软开发软件的三家马车,PM是客户需求的代言人,SDE开发产品功能,SDET测试功能。据我所知,工程类的SDE和SDET应 届生的待遇是统一的,对ATC,STC,MBD等这些个技术部门都是统一的。另外,微软的SDET的要求很高,需要很强的编程功底,经常开发工具和自动化 测试,如果社招,一般从其他公司的开发人员中招。
面试的准备:
微软的招聘基本上是先从筛选简历开始。通过简历的可以参加笔试,现在正式校招的笔试一般是大范围的机考,竞争相当惨烈。通过了笔试,一般会有电话面试,通 过之后会安排现场面试,现场面试一般是3+1。每个人一个小时,如果前三个通过了,会进入最后一个老大的面试,老大的决定是不是录取。
个人认为机试通过不通过具有一定的偶然性,所以最好能走实习生转正和内部推荐的方式。
微软对工程类员工的要求是基础扎实,聪明而有激情。基础扎实是要说做计算机的至少要知道链表,指针,排序算法等,聪明是说能系统性地分析问题解决问题,激情是说不要老是说做事情没什么意思的态度。
复习专业知识:
了解了这些以后,就可以针对性的复习了。我复习时的策略是抓基础,然后网上找题目和面经做,不钻牛角尖。对计算机专业来说,这里面的基础,主要比如包括数 据结构和算法,语言知识,操作系统,计算机网络等。其实我觉得,在技术上,基本上企业对求职者都会有比较合理的期许。
比如说算法,不可能到ACM这样的难度,能用高质量地C写出链表倒置,或者二分查找,或者树的简单操作,那么基本功就是还不错的了,最简单的动态规划已经算很难了。
再比如说项目经验,从公司的角度看,一般应届生的项目经验也是很有限的。但每个人对自己所作项目的理解又是不一样的,能不能从大局上有所认识,是不是做了有意义的工作,有没有解决什么问题,都是值得一讲的。
这里可以推荐一本书《编程珠玑》,一本让人聪明的书。什么叫做编程“猪鸡”呢?聪明的程序员像猪一样懒,它们并不第一时间就急匆匆地去写代码,而是静静地 坐在躺椅上,让好的想法慢慢涌现;聪明的程序员在战斗的时候又像鸡一样机警。曼哈顿计划原子弹爆炸时,费曼懒懒地背靠着墙,在爆炸声起来的一瞬间随手往上 撒了些纸屑,爆炸完了之后他通过几个箭步得到纸屑运动的距离,然后估算出了原子弹的爆炸当量。
简历:
再简单地说一下简历,简历的目的是让你有一个笔试或者面试机会,在一些相对不太正规的公司中,简历的不同甚至会让你的入职薪水不同。总的来说,对不同的公司,不同的岗位,简历要有所修改,有所着重突出。
如果你的经历不丰富,你可以选择相关的经历或项目写得详细点,突出你的优点。我们有次聚会,见到负责帮忙筛简历HR的实习生,他们说,如果你的经历就写了一句话,我也不知道你做了什么,怎么会让你通过筛选呢?
养精蓄锐:
找工作是持久战,所以在复习的时候,要注意劳逸结合,让自己的身体进入一个比较合适的状态。如果身体不适,会明显影响自己状态的发挥,特别是有一些关键战 役,要有所取舍。比如相对阿朗,我更看重EMC,而那两个笔试又在一天,于是我上午以最快速度做完阿朗的题目之后,就提前交卷,然后休息,等待EMC的笔 试。
在我最重视的微软的面试前,我提前好几天开始早睡,养精蓄锐。那个正好由秋转东,天气变凉,暖气将开未开时候,很容易着凉,所以我故意多盖了一床薄被子, 千万不能感冒。在前一周,我开始总结自己面试可能会问到的主要东西到一张纸,两张纸,直到十张纸上,这样一方面梳理了思路,二来可以快速地回顾。比如我所 知道的最基本的那些排序算法的复杂度啊,比如我要能把自己所作的所有项目都说的出来,包括自己的理解。比如我实习中的收获,等。
面试:
面试要带的资料要提前准备好,甚至包括笔,手表,还有红牛,巧克力。为什么手表,因为一个优秀的工程师的一项素质就是控制时间,在有限时间的限制下解决问 题,所以你会有时候需要看一下手表,知道接下来怎么做。为什么巧克力,因为这个小东西还挺能补充能量的。红牛有的时候可以帮你提一下神。
到了面试阶段,可以先想想,如果你是一个面试官,你希望见到一个什么样的面试者呢?你肯定希望这个人稍微优秀一点,简历上能有和别人不一样的地方,也希望这个人聪明一点,有观点。如果你和别人都一样,那么人家为什么选你呢。所以要多想想自己的长处,并表现出来。
关于态度,我觉得面试时态度可以轻松幽默具有喜感,但总得来说还是要正经一点。在有个Offer后,一些不太看重的面试中,自己表现的比较随便,效果都不太好。
注意细节:
面试中有几个小的要注意的地方,一是要懂得弄清楚题目,要会交流。有的人一拿到问题匆匆回答,或者一有代码题就开始匆匆写代码,这样是不好的,应该先把问题问清楚,通过几个小问题迅速定位题目的范围。
二是,面试时要有控制时间的概念,比如解决问题时,你知道这个问题面试官大概给你10分钟,你就不要扯太远,再比如写代码时,比如一个排序算法,如果你没时间写一个快速排序,你也可以写一个冒泡排序,等等。
三是,回答问题要系统,不用很着急回答,先想一想全局上这个问题怎么看,可以分为几点,这比你随随便便挑几点回答效果要好得多。
关于说话的比例一般是20/80,就是面试官说20%,被面试者80%,如果反过来就不好了。
总的来说,找工作有点像一场战争,需要聪明的战术,认真的准备,也需要运气。但,对自己来说,不能把希望放在小概率事件上。
祝大家好运!
-----------------------------------
molaokeping
本文目标读者:想去外企做IT工作同学。
个人背景:本人现在在一家外企作软件测试,找工作前没有实习经历,只是和同学一起做过项目来做,主要用的是C#和java。找工作过程中,只笔试了几家公司,只有一家没有鄙视我。面试了几家公司,只有一家给我Offer。但自己很想去这家公司,之后就没有再找了。
设立目标
个人觉得设立目标非常重要,我身边几个工作找的比较好的人都是目标比较明确的。目标明确之后你可以按照目标的要求去定位复习的内容和重点,然后合理的安排时间。
复习开始
找工作前的复习工作当然是越早开始越好,这样可以复习的内容也就越多,准备得也就越细。最好是两个月前就开始准备。
复习规划
复习规划分为长期的规划和短期的规划,规划复习的进度、内容、程度(不一定每个部分都复习的很细致)。长期规划中的内容较全面,时间比较长,是针对大部分 笔试,面试进行复习的。短期规划是针对突如其来的笔试和面试,长期规划没有来不及完成时使用的,主要是根据笔试面试的最可能内容、重点、自己的优势和缺陷 以及简历呈现的内容等方面进行快速有效的复习。
复习内容
复习的内容主要依据你的时间,离面试的日期(第一个对你很重要的面试时间或一个假定的时间点,如10月20日)还有多长时间,以及你找工作的方向。对于 IT行业,编程、英语、算法这些都是必须的。其他的数据库,网络,java、C++知识等也需要复习,但孰重孰轻就要看你找工作的方向了。有的还须要其他 方面的知识,如想作数据挖掘的,应该了解数据挖掘的算法,数学建模;想做mobile的最好了解一些mobile的知识;想作测试的要了解各种测试。要了 解复习内容的最好方式是找往年这些工作的要求来对比一下,找应聘上的人问一下。
复习资料
主要有往年的笔试面试题,复习内容的相关教材,针对笔试面试的书籍。这里我比较推荐两本书,《编程之美》和机械工业出版社出版的《程序员面试攻略》。《编 程之美》中的题是许多IT公司的面试题库,弄懂上面的题对你的面试有很大的帮助,看书的时候最好不要直接看答案,现自己想一下,上边的题一般不需要编程实 现。《程序员面试攻略》分析了面试中可能的出现的考题,书比较薄,但命中率比较高,这本书中的编程题最好都自己编一编。
撰写简历
简历最好一早就准备好了,不要等到快投简历了才准备。简历一般是中英文各一份,每份不要超过两页。准备得时候多看看别人的简历是如何做的,有缺点是什么, 把好地方加进来。做好之后让多几个人帮你看看挑挑毛病,不断改进。此外不同的公司、不同的职位简历最好也不一样,如面试的是网络的职位,在简历中将作过的 网络的项目或是项目中的网络部分突出一下;面试的是数据挖掘的职位,则突出一下你数据挖掘方面的经历。
投递简历
投简历时可以多投一些,但要有重点,对于目标公司的简历则一定要认真填写。因为填写简历非常花时间,所以一些一般的公司可以让比较认真的朋友帮助填写。
笔试:因为本人笔试不要,也没有什么经验,所以不在这多说,以免误导。
面试前准备
面试前除了准备技术方面的知识之外还有许多的事情要做,大概有以下几个方面。
* 公司文化:去面试之前最好能了解一下面试公司的文化,这可能看上去没有什么用,其实不是这样的,这可让面试官对你有一定的亲切感,在潜意识中接受你。这方 面要关注的地方有,公司的价值观、人事,还包括公司中员工的穿着。当一个公司的价值包括honesty,passion,creativity……的时 候,在面试的时候就尽量的表现出这些方面,这其实是一个公司对soft skill要求的一部分,也是很重要的一部分。当公司要求员工穿着要比较正式,你去面试的时候也要穿着比较正式,当公司中的员工都穿得很休闲的,你面试的 时候得穿着最好还是偏休闲一下。
* 面试流程:去面试前一定要把面试的流程弄清楚,有几轮面试,每轮的时间多久,从几点到几点,分别是什么类型的面试。这些你可以同过问面试过这家公司的同学或学长,也可以直接问公司的HR。
* 面试题:去面试前最好能找一些面试过的同学或学长问问面试题,然后弄懂它们,虽然碰到相同的题的可能性很小,但是还是有一定概率的。针对外文面试题,更重 要的作用是弄清楚面试体的类型(编程,开放性问题,建模,算法……),包括哪些部分(算法,数据库,网络……),难度(每种类型的难度,大概是用多少时间 能做完,会不会特别繁琐……),要注意的地方。
* 英语:英语是面试前要好好准备的,除了自己的自我介绍之外,最好每个项目经历,实习经历都要能流利的说出来。此外如果可以的话,最好是面试也能用英语说,因为有时候面试到一半的时候才考你的英语,然你用英语回答他的问题,还有可能面试官就是外国人。
* 简历:面试之前要把简历好好的过一遍。因为面试的时候,面试官会拿着你的简历,也是他手中拿到关于你的唯一的材料,所以问你简历上写的东西可能性非常大。 所以在面试前一定要好好看,简历中提到的项目要能流利的用中英文表述清楚,回答他包括设计实现等方面问题和挑战;简历中提到的技术要弄懂,不要把不会的东 西放到简历上去。
面试:自信、不要放弃、问题反馈、多学一些、回答的尽量全面。
面试后:多和同学交流,不会的问题回来讨论。
----------------------------------
Yuanliu
本科毕业即参加工作,能够读研却不读研,一直是许多同学朋友疑惑不解的问题。在本文中,我愿意与各位分享我关于这一问题的一些思考。
1、定位:工程vs科研
在本科之前我对工程师和科学家的区别并没有太多直观的认识,想必多数同学也是如此。但好在本科学习并不十分紧张,有足够的时间去思考这一问题。认真分析思 考自己未来的定位,对于做好个人的职业生涯规划非常重要。我个人偏向于工程,原因大致是希望自己所参与开发的软件能够被相当数量的用户群所使用,to help people and business throughout the world realize their full potentials(借用公司的原话了,自己想不到更好的。)当然,优秀科研所做出的杰出工作能够从根本上推荐社会的进步和发展。所以工程与科研的定位 并不是孰优孰劣的问题,而取决于个人的兴趣爱好,以及是否适应相应的工作。
在分析个人定位时,在校的同学往往对进入社会参加工作有一种恐惧心理,而留在学校继续读书从事科研则不失为一条安全的道路。事实上,这种定位大多都不准 确。在这种心理的指引下,学生参加科研并不是因为爱好,而真正从事基础研究的比例又非常少,最终大部分还是要走向工作岗位从事工程开发。工程更多是需要实 践经验,而非书本知识。把大好的青春年华浪费在对自身定位的犹豫与徘徊中,实在可惜。因此,尽早花时间清晰冷静地进行自我剖析,发现最适合自己的道路,是 非常有益处的。
2、找工作:本科vs硕士
现在虽然早已不是“万般皆下品,唯有读书高”的年代,但整个社会的主流还是希望学历越高越好。这一方面体现了对知识的尊重,但在另一方面却给广大学生带来 了不必要的负担。尤其是在保送研究生比例较高的重点院校,不读硕士似乎是浪费资源。因此,本科生找工作往往面临着心理上的双重压力:担心用人单位学历歧 视,担心专业水平不如硕士。
学历歧视的现象的确存在,而且某些职位有硬性的学历要求,但如果你希望在外资(尤其是欧美)IT企业中谋求一份软件工程师的工作(俗称码农,或代码民 工),则不需要担心这一问题。这类企业招聘工程师的最重要标准是能力,而非学历。在美国的高等教育体系中,通常硕士学位被称为专业学位 (Professional degree),而博士学位被称为学术学位(Academic degree)。专业学位其实类似于职业技能培训,往往是在职业发展遭遇瓶颈后进行学习提高的手段。多数学生在拿到本科学位后即开始工作。盖茨和乔布斯都 是本科辍学,可能并不偶然。
就这类企业所要考察的专业水平而言,本科生并不输于硕士。其考察内容往往是最基本的数据结构和算法。掌握堆栈树等基本数据结构及相关算法,了解常见的设计 模式和软件工程理念,熟练使用C/C++/Java等语言之一(包括相应库函数),即可应对大多数笔试面试。事实上,大多数同学在硕士毕业时,在数据结构 和算法方面的进步与本科期间相比并不明显,能够对求职有所帮助的只是积累的工程经验。而这些工程经验,如果本科生认真负责地对待专业课程中的实践项目,或 是在企业中参加实习,都是可以获得的。
3、现状:读研=工作
去年的经济危机影响波及全球,我国也不例外。鉴于高校毕业生就业形势严峻,教育部决定扩大硕士招生规模,并且大规模招收工程硕士。这从一个侧面反应出,硕 士招生实际上是延缓就业、减轻就业压力的一项重要手段。但被延缓就业的学生最终还要就业,减轻今年的就业压力有可能意味着加剧两三年后的就业形势。这种读 研等于工作的现状虽然再次为许多学生提供了暂时的避难所,但对于那些对自己已经有明确定位,希望从事工程开发的同学,尽早苦练内功,提高专业水平,积累工 程经验,才是长久之计。
【转载】面试经验——走进微软
最新推荐文章于 2024-06-12 09:12:10 发布