Archive for the ‘Career’ Category

微软Interview的秘密

Tuesday, February 26th, 2008

本文是“跟我一起来加入微软欧洲开发中心”的后续文章之一,如果您是一位优秀而富有经验的软件人才,能讲流利的英语,并且愿意暂时离开中国来参加我们欧洲的开发中心,那么我们最近正好有一些职位空缺,这对热爱软件技术的开发者来说可能是一个不错的机会。

当然本文并不可能透露真正的秘密,只是考虑到国内很多朋友对我们招聘、面试的过程不太了解而写一篇文章介绍一下。其实,这里所写的招聘过程并非微软独有,在国外很多软件企业都是类似的。相对而言,中国的大多数公司在招聘软件人才的时候,实在太太太不够严格了(当然可能存在客观困难),希望这篇文章不但能对应聘者有帮助,也能对招聘者有帮助。

面试游击战

Joe on software的Guerrilla Guide to Interviewing是我非常推崇的一篇关于面试的文章,可惜我读的时候已经有些太晚了。 :)  不过亡羊补牢,为时不晚。如果您有机会读到这里,我强烈建议您立刻先放下本文,去读Joe的文章先。

这篇文章我没有找到中文版,也不知道是这些方法在中国不太适用(你很可能用这个方法结果一个人也招不到,不过这比找到不合适的人要强很多),还是没有足够多人认同其价值。

微软Interview基本过程

微软developer的Interview基本包括这些部分:

  • Coding test / 编码测试
  • Phone screen /电话面试
  • Onsite interview /面试

Microsoft 内不同的group可能有不同的面试过程,但基本上是大同小异的,在微软作为SDE, 参加interview和编程序一样是一项基本工作,谁都得干,我们内部有专门的培训以便让大家能有效地参加招聘的活动。

Coding test

Coding test是参加我们group的必由之路,如果你不能编写正确有效的代码,我想微软不会适合您的事业发展。对我们team而言,即使非常senior的position, 甚至今后未必以coding作为日常工作的position也必须通过coding test.

Coding test的题目不难(至少我觉得不难 :P), 我认为只要读好大学一年级,或者真正喜写程序并且有实际经验就能通过。不过实际情况是,coding test放倒了惊人比例的人。 在来microsoft之前,我过去招聘人的时候也一定要考coding test, 我经典的题目是写一个wc(words count), 过去n年里这个简单的题目淘汰了98%的人,节省了大量的时间和精力。一般投递Microsoft职位的人已经在HR那里经过了一次screen, 所以coding test 通过率不会像我过去的经历那么夸张,但也绝对是令人惊讶的比例。

coding test不能通过,一定就over了。因为后续interview要花费大量人力物力,所以coding test是一个重要的把关手段。

我建议每个来面试我们的人花适当的时间复习一些基本的数据结构和算法,并不需要很复杂的,只是让自己恢复到一个状态。 

Phone screen

通过了coding test, 通常会被安排电话面试,往往会有多轮电话面试,但根据各人情况而可能很不相同。 Phone screen的面试内容比较广泛,可能包括对相关经历和技术的核实,但基本上可以肯定是,你会被考coding question 和design question.

电话里怎么考coding? 当然借助IM工具这要容易一些,不过如果没有这样的经历,并且不是真正的hard core coder, 这恐怕有些困难。 

回忆我的phone interview, 我以为就是有人和我随便聊聊,准备了一肚子的英文腹稿准备大坎特坎一番,结果对方第一句话就是“Hey, are you ready to write some code over the phone?”, 我几乎晕倒… 好在coding恐怕是我最擅长的事情,所以一阵短暂的慌乱过后对我并没有构成问题。

说实话phone interview中不会出什么难题,只是如果不习惯,加上语言沟通会对面试者构成比较大的压力。我有这些建议:

  • 如果没有理解问题,请interviewer重复直到你理解。要知道interview的时候,如果被interview的人没有听懂我的问题,我会更着急,一定希望尽量让对方理解问题本身。 因此,一定不要稀里糊涂地回答问题,勇于开口提问;
  • 如果你自己认为理解了问题,复述问题,请interviewer确认你的理解和他的理解是一致的; 这我相信是一个技巧,复述问题加深了你的理解,给你争取了更多时间;
  • 尽快反馈,你有了多少想法就尽快告诉interviewer, 你有了部分代码,就给部分代码。 原因很简单,interviewer被长时间晾在电话那头是很难受的,而且你不断反馈其实就能获得更多interviewer的提示,对正确解答有帮助;
  • 如果你在interview的时候可以有internet, 在预约前就安装并给出你的IM,这样可以在IM帮助下让沟通更容易。

Onsite

看到一些海外求职的BBS上很多人都比较担心onsite interview, 不过我觉得onsite其实是最容易的,因为onsite interview您有机会得到更多的信息,从而获得更多提示,而且onsite interview过程互动性更好。

不过我们team的一些onsite interview是远程通过IM, Video conference来进行的,来自中国的candidate, 由于visa的原因很可能是video conference为主,这将是一个比较严峻的挑战。 一般情况下,onsite interview会有连续的多轮,一个接着一个进行,对candidate来说一般是一整天时间。

onsite interview基本上主要内容还是coding和design, 由于microsoft的interview一般都没有题库,因此每个人有自己的问题。靠在网络上搜索”Microsoft interview questions”的结果除了有练习作用外基本上没有任何帮助, 不过如果您在interview之后发布这些问题到网络上,除了可能让你失去可能的offer外,对自己和别人都没有太大帮助。

Onsite interview肯定会有一些紧张的,我有一些建议:

  • 同上,总是首先澄清问题和复述问题
  • 充分聆听interviewer给的提示,onsite interview往往是个互动过程,interviewer往往愿意参与和你讨论(如同一起工作一样),讨论而得出最终的结论是很好的interview表现,因此并不需要苛求自己在听完问题就直接搞定。
  • 遇到困难可以请求提示和帮助,不要愣在那里,或者自己乱写东西浪费时间;
  • 每行你写出来的代码都反映了你的编码水平、习惯、风格,因此不要在白板上写很糟糕的代码,即使是你的草稿;

Offer?

一般来说,Microsoft会比较快给出offer,不会让人等得花儿也谢了,但我们不会当场给offer, 每个interviewer都有自己对interview的独立评价,在结论出来之前,没有人知道结果。 

如果您进入了onsite这轮,那么您已经离offer很近了,毕竟大多数人都在coding test, phone screen中被淘汰了,所以一定要在onsite中尽量发挥好,完成漂亮的最后一击。一般情况下Microsoft并非采用传说中的一票否决(要所有人都给hire recommendation), 但毫无疑问,你要尽量让大多数人给你hire 的评价才可能最终获得offer.

Reference check

这个专门针对中国的朋友而写,因为reference check在中国从来不备重视,但我们的每个hire在interview通过后都必须有reference check。reference check 需要若干个您过去的直接经理对你给出评价(一般是电话),注意必须是你的直接经理,您的同事、朋友不能给你提供reference, 如果过去你是freelancer或者没有经理,那么你的直接客户、大学导师可能是reference check的对象。 

Reference check体系在西方公司是非常普遍采用的,这确保了每个人事业发展的连贯性,也让人对自己职业生涯中每个过程都变得有其历史意义,很可惜这套体系在中国一直没有能发展起来。

希望上面的介绍让您对如何应聘我们的职位有一个基本的了解,如果看完后觉得这不过是小菜一碟可以自信应付,那么赶紧来这里看看有没有适合您的职位吧:

http://joinmicrosofteurope.com

我相信本文对正在招聘的人也许也会有一些意义,然而由于目前中国的实际情况,我不知道对于startup而言采用类似的方法是否导致一个人也找不到,不过无数的血泪教训告诉我们,招不恰当的人带来的损失是巨大的,对一些追求质量、技术、创新软件团体而言,宁可招不到人也比招凑合着用的人要强N倍,中国传统的“人多力量大”的说法在软件工程中是个荒谬的神话。

* 本文版权没有,欢迎转载,请连同招聘广告一起转载。

写有效简历的十条建议:五要五不要

Saturday, February 23rd, 2008

自从London归来忙得要命,正好国内是春节假期,因此也就偷懒没有怎么写blog。

最近这段时间仅写的一篇就是“跟我一起来加入微软欧洲开发中心 :) ”, 为我所在的team招兵买马. 发表这篇文章的时候有两个矛盾的担忧,一来担心没有什么人投简历 (没有足够符合要求的人, 身处机遇重重的有志之士对安逸且乏味的欧洲没有足够兴趣),二来又担心被太多简历淹没没有足够时间筛选。 现在看来,两个担忧都没有出现。

收到了不少来信,但有效的简历并不多,所谓有效的简历就是:1、它读起来的确是个简历;2、英文写的,因为我没有精力去帮忙翻译; 3、简历不是(至少一眼看上去不是)直接copy/paste来的模板什么都精通却看不出什么具体说明。 

统计了一下,所有有效简历都来自两类朋友:1. 在外企中国公司工作的;2. 现在或者曾经在国外读书的。最多信的来自国内的朋友,有希望约时间和我谈谈的,有询问具体工资待遇的,有对欧洲表示向往和询问的,有对M$表示鄙视的,… 可惜这些信里大多数都没有简历。回忆过去在国内招聘,很多年来遭遇的情况其实是类似的,求职简历五花八门,但有效的凤毛麟角,最头疼的是从51jobs等站点上自动生成的,当年我基本上直接过滤掉所有这些自动生成的简历。 其实总结下来,很多国内的朋友不擅长写自己的简历,不会写自己的简历是一件很吃亏的事情,因此我写些自己的建议,希望对谁有些帮助。 凑了10条,5条不要,5条要。

1. 不要抄袭别人的简历,不要使用简历生成器生成简历

不需要多说,如果一个人的简历都要抄,要靠程序来自动生成,那么基本上可以直接byebye了。 接受,review简历的同学们要看无数的简历,早对各种简历模板产生了强烈的厌倦情绪,因此千万不要自投罗网,让自己输在起点。

2. 不要罗列对自己价值没有实际提升的内容

一些简历喜欢罗列各种其实对自己价值没有实际提升的内容,比如各种语言,比如各种目前流行的框架、库、技术等等,刚刚毕业的同学还喜欢罗列自己的课程等。 往往这些罗列的内容对你的价值没有任何实际的提升,反而可能产生很多负面影响: (1) 你的真正优点被这些罗列内容冲淡了 (2) 让人怀疑你夸夸其谈、广而不精;(3) 很容易露出破绽,万一某个你罗列的东西让别人考倒了,基本就否定了你罗列的全部。

3. 不要用“精通”之类的言过其实的词汇

过去看建立最烦的就是“精通”这个词,我至今都不敢说自己精通这精通那,但过去常常看到写着这个也“精通”那个也“精通”的人被简单的问题放倒。 

当然由于精通被滥用了,真正精通什么的反而吃亏了,怎么办?我建议用X年经验来说明,例如“用C语言开发已经有15年经验了,用Ruby On Rail有2年经验了”。

不要言过其实的同时,要注意简历要最大化自己的优势,不言过其实的基础上对自己的经历和能力但绝对要足够“Aggressive”,参考第8条。

4. 不要写太长的简历,重点突出才是关键

Cover letter(求职信)要不要?我的观点是坚决不要。在IT行业,没有人因为你有没有写cover letter而对招聘决定产生任何影响。除了cover letter, 我建议去处掉简历中所有没有用的部分和描写。把任何简历缩短在3页以内,对于经验特别丰富的,建议只列举代表性的内容。

5. 不要写太抽象简短的简历

除非你是大牛或者业内名流,否则太简单太抽象的简历绝对是不利的。不幸的是我常常看到一些很“简练”的简历,除了能看出他读过哪些大学在哪些公司干过,对其本人的能耐一无所知。 

6. 要重点突出,对症下药

突出你最强的闪光点,针对你希望征求的职位。有效的简历应该能在第一页就能抓住review者的眼睛,让人对你的才能,经历有一个好的第一印象。

我强烈建议不要用通用的一个版本简历一网打尽,而针对你寻求的工作机会优化一个专门的版本

7. 要说明清楚自己的个人能力和经验而不是所在团队的

这是你的简历,不是你所在公司、项目、团队的简历。即使你是这些公司团队中举重轻重的成员,也要注重说清楚哪些是你自己的成就。 某些简历,常常可以看到对其项目、产品的重量级描写,但这个人是项目中的顶梁柱,还只是混混或者拉后腿的呢?

8. Be aggressive enough 但不要吹牛

Aggressive是个老外眼里非常动听的词汇,这些年来我觉得be aggressive的确是非常好的品质甚至是优势。 我们中国的传统教育往往是让人过于谦虚,这是非常不利的。 

Aggressive的基础是不要吹牛,你应该把你的芝麻大的优势用西瓜大的文笔和热情来表达,但说清楚你只是在热情地说芝麻而不是西瓜。 

我自己常说我已经有20多年编程经验,如何如何,其实我把高中玩Apple的时间也算进来了。:) 但我吹牛了吗?没有,这是事实,这就是一种aggressive。

9. 恰当地描写你过去的项目内容

某些简历中求职者把项目经历描写的过于详细,有泄漏公司商业机密的嫌疑,而有些则每个项目都写成buzz words似的不知所云,这些都是不利的。

我建议项目的描写要尽量简单,但采用让人能明白的通用词汇描述。例如 “我参与开发了结合了Voice Over IP和Instant message技术的新个人通讯软件项目”,而不要说“我参加研发了一个新一代的革命性个人通讯系统”。

项目本身简单,但如7所述,要更多说明“我”在项目里主要做了什么,而不完全是项目如何如何。

10. 采用常用的简历格式

在简历格式上,我建议采用常用的格式,而不要太创新。尤其英文的简历基本上有一个套路了。

要理解您的简历review者需要review很多简历,在格式上太创新,可能会把您的优势由于习惯原因而被忽视了,得不偿失。 

对英文简历格式不熟悉的自己去search一些学习吧。

最后,一个常见的问题是:我没有那么多骄人的经历怎么办?我认为答案唯有一个,就是花时间去创造出这些经历, 好好做好手头的工作,做出成绩来才去考虑下面的动作;不要好高骛远,要步步为营;在学校读书或者你所在的地方实在没有什么让你觉得能提神的项目?参加或者自己创建一些开源项目…

总之把写简历是对自己职业人生的一次review, 找到自己的不足取弥补和加强,终究有一天你会有令自己满意的简历。

最后继续做一下广告:并且希望能收到一些“好”的简历。

微软欧洲开发中心正在招聘!

我们的详细介绍和职位空缺请您移步到http://joinmicrosofteurope.com去进一步了解。

我们目前所有空缺的职位都是Senior position, 这意味着我们对您目前的技术水平和经验有着较高的期望值

关于工作和职位的申请,请您我们的网站上查看,您可以直接在那里提交简历,如果您有一些问题也可以把您的简历和疑问发送给我,我帮您转发(我的email: zhihong.mao@gmail.com)。

请您提交英文简历,您需要有熟练口头和文字的英文能力才能胜任这些职位。

本文欢迎转载,希望转载同时保留这个广告。 :)

关于微软欧洲工作机会的一些资料

Monday, February 18th, 2008

这是前些时候写的,主要是针对在美国留学的中国学生的, 但里面的不少资料可能是对感兴趣的朋友有意义的。文章主要对比了欧洲和美国的签证政策和生活的比较,先转载发表过来。

---

今年的H1B形势不容乐观,实在看不到任何理由今年能比去年有什么改善,与其走上千军万马过独木桥、靠抽签来决定未来的消极命运,还不如考虑是否有其他的更理想去处。无论您看到这些资料会改变您对未来的决定,还是您考虑为自己留一个“备份”方案,您都有必要来了解一下微软欧洲开发团队的最新工作机会。

我们的详细介绍和职位空缺请您移步到http://joinmicrosofteurope.com去进一步了解。那里有我们的工作环境、团队和职位的介绍,值得一提的是,这个站点中所有的照片都是我们实际拍摄的,画面中的人物都是我们团队成员,不是模特儿。:)

我们目前所有空缺的职位都是Senior position, 这意味着我们对您目前的技术水平和经验有着较高的期望值,但是这并不意味着如果您刚刚毕业就不符合我们的要求,我们更愿意看重人的综合能力和实际工作能力。

我们的团队是一个来自全世界各地的国际化团队,我们能讲的语言就超过了10种!:) 您的加入可能不能贡献一种新语言,但绝对对我们能讲的中国方言种类是一种增加。:)  我们的团队中有不少“明星”人物,不过我们始终期待下一个明星就是您!

关于工作和职位的申请,请您我们的网站上查看,您可以直接在那里提交简历,如果您有一些问题也可以把您的简历和疑问发送给我,我帮您转发(我的email: zhihong.mao@gmail.com)。

如果您有疑问可以在这里跟贴,我尽量做一些解答。

下面是一些大家可能关心的问题:

1、签证、工作许可

可能有朋友担心欧洲的移民政策比美国更为苛刻,其实目前欧洲各国对非欧盟的高科技人才持相当宽松的政策。爱尔兰政府从2007年开始对这类人才发放称为“绿卡”的新型工作许可(Green card)。爱尔兰绿卡和美国绿卡的性质是不同的,爱尔兰绿卡其实是一种类型的工作许可,而不是永久居民,但其提供了通向永久居留的快速通道。

爱尔兰绿卡工作许可(下简称绿卡)和美国H1B的简要比较如下:

* 绿卡没有名额限制,H1B每年有名额限制

* 绿卡随时可以申请办理,一般4周时间可以获批,一旦批准立刻可以开始工作; H1B大家可能比我更清楚,4月一号开始送材料(抽奖?),获批需要等到10月才能开始

* 绿卡是工作许可,此后还需要凭此办理爱尔兰的签证,您可以任意时间内多次出入爱尔兰没有任何限制;H1B的入境次数对持中国护照者是有限的,中途要离开美国可能存在麻烦;

* 绿卡的配偶、子女可以立刻获得团聚签证,入境后工作学习都没有限制;H1b的配偶在美国是不能合法工作的;

* 绿卡持有者在1年后可以自由更换雇主,2年后可以申请获得长期居留。H1B更换雇主应该是更容易的,申请永久居留也可以马上开始,但获得永久居留就看运气了;

关于爱尔兰“绿卡”的更详细说明可以从官方网站了解: http://www.citizensinformation.ie/categories/employment/migrant-workers/employment-permits/green_card_permits

被我们录用的人才应该都符合办绿卡的条件,可以很快申请并获得。 我本人也是去年获得绿卡开始工作的,从申请到获得正好4个星期,拿到绿卡原件后在上海领事馆办理了全家的签证1周就拿到了,整个过程非常顺利。

2、欧洲/爱尔兰的生活

欧洲的生活和美国应该是还是有很大的不同,我自己的第一感觉就是,欧洲什么东西都比美国小 — 房子比美国小,道路比美国窄,汽车比美国小… 物价比美国贵 — 什么都比美国卖得贵,包括一些欧洲自己出产的东西。欧洲的税收也比美国更高,不幸的是,爱尔兰虽然不是欧洲税收最高的国家,但也是很高的。 整体来说,欧洲更接近一些美国东岸。

爱尔兰在2007年全球GDP人均排名是第4名,在最近几年的全球最适合人类居住国家评选中,爱尔兰都名列前茅,不过在全球城市生活指数排名上,Dublin最近几年都是在生活成本很高之列(大部分美国城市都比较靠后,西雅图,旧金山生活成本都比Dublin更便宜)。好在,我相信如果您拿到我们的Offer您应该养活自己和小家庭没有什么问题。

欧洲的旅行交通非常发达,尤其欧洲著名的廉价航空公司都出自爱尔兰,因此从爱尔兰出发游历欧洲各国有得天独厚的优势:只要提前一段时间(约1个月)您一般都能用几十元甚至几元买到各地的往返机票,我保证您去机场的Taxi费都比来回机票贵的多。 :)  Dublin到欧洲大多城市飞行时间在2小时以内,因此对于想很好地深入了解欧洲的朋友,这里是一个绝佳选择。

欧洲和美国另外一个显著区别是,欧洲人更注重work life balance, 欧盟要求最低的年休假时间为21天,比美国要多。欧洲人整体上更注重生活,因此和美国比起来工作强度更轻一些。另外欧洲在医疗方面做得比美国好应该是人人皆知的事实(一个最简单的例子就是生孩子的所有费用完全是政府给你出的,每个月还给你的孩子Child benefit直到他们成年)。

3、关于微软和其他

我们的Interview一般包括Coding test, Phone screens, On site interview,我们也可能不需要您来on site interview而透过video conference来进行。 因此我建议您在准备我们的Interview时,安装和调试好IM和视频通讯软硬件。

我们对您目前掌握的语言没有很特定的要求,因为我们相信语言、平台、工具等对于一个Senior developer来说学习的时间很短,此外我们相信无论您用C/C++, Java, C#, Ruby, 还是Python等写代码,我们都能够看懂和评估,不过如果有可能,我建议您使用C/C++或C#来完成这些面试。

微软内部的Group变换和新招聘几乎没有什么区别,因此加入我们group和加入其他group没有什么直接的联系和区别。对于希望规避H1B风险的朋友,一个可能的选择是在微软的美国以外公司工作超过1年后,获得微软美国某个team的offer通过L1b签证前往美国继续打拼,不过我不能保证如果您在欧洲生活上几年之后是否还喜欢美国的生活。 :)

跟我一起来加入微软欧洲开发中心 :)

Monday, February 18th, 2008

申明:本文仅代表本人观点,不代表任何第三方观点。

关心我的动向的朋友常问起我有什么新的计划和动作,不过最近一段时间除了OPSN的研究,暂时不会有什么个人动作了,去年我加入了Microsoft欧洲开发中心,成为了Microsoft人。

加入Microsoft缘于一个半夜迷迷糊糊接到越洋电话 :) ,真是一个非常偶然的机会和非常偶然的决定,按照我的习性和技术经验,我自己都认为如果自己不折腾些什么要去加入某个公司的话,大抵可能是硅谷某Startup或者Google,不过各种各样的因缘,我既没去美国,也没去Google, 最终来到了微软欧洲。 然而对比各方面的情况和发展,我觉得这是一个非常明智的决定。

Microsoft 欧洲开发中心位于爱尔兰首都 — Dublin, 座落在一个绿树成荫的小树林或者公园(park)之中,这是爱尔兰政府为发展软件工业而兴建的“软件园”之一:South County Business Park。 我们中国也有数不尽的软件园,只不过这里的“园”更加像公园一些,其他也没有太多差别。爱尔兰的投资政策,吸引了大多数IT公司选择这里成为他们的欧洲总部,因此除了Microsoft之外,Google, Oracle, IBM等公司的欧洲中心也在这里。

image image  image image

21世纪最宝贵的是什么? 人才。 无论是Startup, 还是Microsoft, 都需要优秀的人才, 我们的team正有不少空缺的职位,面向全球范围寻找优秀的软件人才。 我相信在中国一定也有相当多能满足我们条件的人才,因此希望从我的blog作为一个出发点来寻找一些愿意加入微软欧洲团队的朋友加入我们。

如果您已经迫不及待需要了解情况,我们专门设立了一个网站:

image

http://joinmicrosofteurope.com

这里有我们的招聘需求、职位介绍和基本情况的介绍。 您可以直接按网站上的email提交简历,也可以让我转发您的简历(我的email: zhihong.mao@gmail.com)。这个网站是我们team (Global Product Development Europe)的专门站点,因此只有我们team的职位需求(其实微软欧洲中心有很多其他的空缺职位,但他们大多数面向欧洲。)

如果您对欧洲的生活,微软的生活还不清楚,需要进一步了解,请您接下来一段时间来看看我的blog, 我将从一个新加入微软,直接从中国来到欧洲工作的人的眼光中,向您介绍欧洲(爱尔兰)的生活状况、利弊,微软工程师的生活,微软开发团队的经验和趣闻。

目前我们空缺的职位都属于senior position, 这意味着我们对您目前的技术水平和经验有着相当高的期望值,当然我们更愿意看重人的综合能力和实际工作能力,您必须具备扎实的计算机软件知识和经验和熟练的英语沟通能力。微软有着相当严格的Interview流程,无论您过去是什么样的背景,包括Microsoft其他group的成员,都必须经过我们完整的interview流程,考虑到在中国这样的面试过程只局限在少数外企,因此我计划在未来的blog中详细介绍,甚至给出一些例子。

我们的团队是一个来自全世界各地的国际化团队,我们能讲的语言就超过了10种!:) 您的加入可能不能贡献一种新语言(因为我已经贡献“中文”了),但对我们team能讲的中国方言种类也许是一种增加。:)  我们的团队中有不少“明星”人物,不过我们始终期待下一个明星就是您!

* 本文版权没有,欢迎转载!

Close
E-mail It