面试体验:Microsoft 篇(转)
http://www.cnblogs.com/cathsfz/archive/2012/08/14/microsoft-interview-experience.html
在上一篇《面试体验:Google 篇》中说到,我对猎头的标准回复是「有美国或者香港的职位吗?」在进入 Google 招聘流程后,Microsoft 有一位 HR 打电话来跟我说有一个北京的职位跟美国总部会有密切的合作,问我有没有兴趣。我当时想的是,如果加入美国公司的中国分公司,或许将来有机会 relocate 到美国去,至少会有去总部出差的机会吧,所以就决定去试试。
HR 在联系我之后,招聘经理 Alex 直接联系我跟我约了晚餐时间。晚餐其实不是什么面试,只是互相了解一下。Alex 原本在 Microsoft 总部工作,只是碰巧他来北京轮岗 3 个月,有候选人申请职位他自然也乐意见见面。至于这个跟美国密切合作的项目,总监和一半的成员在美国,中国这边已经有几个人但还要多招几个。
Alex 在晚餐中教会我一件最重要的事情是:什么叫做 「commodify 工程师」。所谓的「commodity」是指无差别的一般等价物,例如按桶算的原油就是这样子,无论中东产的还是中国产的都一样。在说原油价格一桶多少钱时,我们并不会关注到底是哪里产的,因为价格差不多,使用起来也没有区别。因此「comodify 工程师」就是把工程师当做一般等价物看,无视其人性和个性,把工程师看做无差别的人力资源单位,哪个项目缺多少人力资源单位,就为它补充多少人力资源单位。他帮助我意识到我不满的百度现状是什么,同时也支持我要换一家公司并找机会到美国工作的想法。
之后 Alex 帮我约了一轮电话面试,面试官是印度人。他问了我两道问题,一道比较简单写代码就能解决的,另一道则是分布式系统设计相关的,我全无经验只能说说我知道的概念。我感觉后面这一道题回答得不是很好,因为总是没办法说到点上,同时也不像算法题面试官给些提示就能向前推进。事后证明这一轮面试的反馈确实不是很好。
随后 Alex 又约了我到 Microsoft 办公室进行一天的面试。早上到了之后他先让我参加了当天的 daily scrum,让我知道他们是如何工作的。接着是跟美国的总监通过电话会议进行面试,没有讨论技术问题,更多的是互相了解对方的工作方式,看看双方是否合适。接下来是跟北京这边的经理面试,因为团队在北京没有专门的经理,所以人事方面的事情就交由北京的经理负责。看到经理 Norman 的姓后,我就知道他是说粤语的,同时因为他一开始就说自己普通话不是很好,所以我就提议说不如我们说粤语吧,于是我就在 Microsoft 一天面试当中用到了英语、粤语和国语。Norman 问了基础的算法题和逻辑题,也聊了一下分布式存储的设计,同样我对后者回答不上什么点来。感觉 Norman 的题目很重视逻辑思维,在我说某一道基础算法题不能用贪心算法后,他问我使用贪心算法的充要条件是什么,同时另外一道逻辑题考的也是是否清楚充要条件是什么。
在 Norman 面试之后,他叫上 Alex 跟我一起去午餐,然后下午我跟中国这边的团队成员聊聊天了解一下他们的工作内容就完事了。整个过程并不是很难,也不会像 Google 那样专门考算法。感觉 Microsoft 更重视逻辑多一些,同时跟美国团队进行面试也确实比跟中国团队进行的面试要让人更舒服一些。(Alex 和 Norman 分别是在 Microsoft 总部和湾区工作多年的人,所以面试风格应该都还是很美国的。)我下午离开的时候,口头 offer 算是出来了,HR 在电话中说很高兴招到了人,并让我提交当前的薪酬信息。
由于快到过年了,提交薪酬信息的事情我一拖就拖了两个星期,过年回来后才提交。事后 HR 跟我说,进行第一轮面试的印度人对我不熟悉后端这一点表示有顾虑,其它人尝试说服他但是没有成功,所以 offer 出不来了。于是这个到手的口头 offer 就飞走了。
事实上,我在 Microsoft 的面试经历到此只不过是进行了 1/3,不过后面的我就不想详细说了。在我过年回广州放假的时候,有一位 Microsoft 的 HR 打电话给我问我面试时间安排的事情,我说面试不是结束了吗,然后才发现这是另外一个团队的 HR,并且她不知道我之前的面试,于是我又面试了一个不同的团队。因为前面所说的口头 offer 最终发不出来,Norman 把我推荐了给另外一位经理,那位经理又约了我进行了几轮面试。
总的来说,我在 Microsoft 的面试经历就是不停地被加试。加试意味着还不能确定,但又还不想放弃。不确定的原因自然是我没有后端经验,不放弃的愿意估计是算法题和逻辑题我回答得还可以。最终我在 Microsoft 的 3 个团队中面试了 15 位工程师和 2 位 HR,还是拿不到 offer。Microsoft 的面试过程尽管没有 Google 那么体贴,但是安排还是挺专业的。因为 Microsoft 是各个招聘经理自己去招人,不像 Google 那样公司统一招聘,所以推动招聘进度的更多是招聘经理而非 HR,候选人也能直接感受到招聘经理到底有多在乎自己。
在整个 Microsoft 面试过程中,我觉得最有收获的是认识了 Alex 并且跟他聊了一些事情。我说如果有机会的话我想要体验一下在美国工作生活是什么样子的,然后才能知道我想要到哪里去。他帮我分析说去美国有 3 种途径:读书然后在美国找工作、加入美国公司的中国分公司后再找机会 relocate、直接加入美国公司,其中第一种方法最容易,第三种方法最难。他的首选建议是第一种方法,不过因为我短期内没有去美国读书的计划,所以第二种方法也不错。我觉得作为 mentor 最重要的是他要真的在乎你的个人发展,同时能够利用他的经验帮助你,因此我觉得 Alex 会是个很好的 mentor。在我加入豌豆荚后,他还联系过我,说 Microsoft 总部他所在的团队有职位开放,问我是否感兴趣。因为我当时刚刚加入豌豆荚,所以就拒绝了。
如果你对《面试体验》系列文章感兴趣,欢迎订阅我的博客,或者是在 Twitter 上 follow @CatChen。我承诺我接下来一定会完成 Yahoo 和 Facebook 相关的两篇文章。此外,我的博客也接受捐赠,通过信用卡支付,金额随意($1 起)。
最后是广告一则:如果有任何曾经参加过豌豆荚(豌豆实验室)面试的人愿意写类似的面试体验文章,欢迎联系我并把文章地址发给我,我愿意在我的博客上以链接的形式进行分享。
面试体验:Microsoft 篇(转)的更多相关文章
- 面试体验:Facebook 篇(转)
http://www.cnblogs.com/cathsfz/archive/2012/11/05/facebook-interview-experience.html 2012-11-05 08:2 ...
- 面试体验:Google 篇(转)
http://www.cnblogs.com/cathsfz/archive/2012/08/08/google-interview-experience.html 尝试在自己的博客上搜索点东西,结果 ...
- 通过第三方工具体验Microsoft Graph
作者:陈希章 发表于 2017年3月22日 上一篇文章我介绍了如何利用官方提供的Graph 浏览器快速体验Microsoft Graph强大功能,这是极好的起点.官方的Graph浏览器力图用最简单的方 ...
- 通过Graph 浏览器体验Microsoft Graph
作者:陈希章 发表于 2017年3月18日 上一篇介绍了Microsoft Graph的基本概念,接下来我们快速体验一下Microsoft Graph到底能做什么? 为了帮助开发人员直观和快速体验Mi ...
- 面试总结——JVM篇
前言:该篇主要对Java虚拟机相关的题目进行介绍. JVM篇 基本上在面试的时候,都会或多或少的涉及JVM,主要看面试官的侧重点,笔者在面试过程中,是通过volatile问题,引导了JVM相关问题上的 ...
- 面试总结——Java篇
前言:前期对Java基础的相关知识点进行了总结,具体参看:Java基础和面试知识点.近期由于笔者正在换工作(ing),因此下面将笔者在面试过程中或笔者朋友面试过程中反馈的题目进行总结,相信弄清楚下面题 ...
- 【JAVA秒会技术之秒杀面试官】秒杀Java面试官——集合篇(一)
[JAVA秒会技术之秒杀面试官]秒杀Java面试官——集合篇(一) [JAVA秒会技术之秒杀面试官]JavaEE常见面试题(三) http://blog.csdn.net/qq296398300/ar ...
- Go 面试每天一篇(第 65 天)
Go 面试每天一篇(第 65 天) 1.下面列举的是 recover() 的几种调用方式,哪些是正确的? A. 1func main() { 2 recover() 3 panic(1) 4} B. ...
- 2015年校园招聘12家IT公司面试体验
背景 2015年注定是一个不平凡的年头,作为一个应届毕业生,我也算是经历了工作上的大起大落.下面我先简单讲述一下自己的遭遇,然后根据自己亲身的面试经历,从一个学生的角度去谈谈自己对面试过的公司的一些看 ...
随机推荐
- JPA--联合主键
联合主键的一些知识: 使用@EmbeddedId标示联合主键: 在联合主键类中只是定义确定联合主键的字段即可: * 联合主键类的规则 * 1.必须包含一个无参的构造函数 * 2.必须实现序列化接口 * ...
- SharePoint 2010 master page 控件介绍(1)
转:http://blog.csdn.net/lgm97/article/details/6409204 以下所有的内容都是根据Randy Drisgill (MVP SharePoint Serve ...
- (转载)【C++】new A和new A()的区别详解
(转载)http://blog.csdn.net/xiajun07061225/article/details/8796257 我们在C++程序中经常看到两种new的使用方式:new A以及new A ...
- Swift不可变数组
Objective-C编写了2个不同的类来区分不可变数组(NSArray)和可变数组(NSMutableArray): Swift通过使用常量和变量来区分不可变数组和可变数组. 只要将数组定义为常量, ...
- 如何使用spring中的Log4jConfigListener--删除
使用spring中的Log4jConfigListener有如如下好处: 1. 动态的改变记录级别和策略,不需要重启Web应用,如<Effective Enterprise Java> ...
- Python脚本控制的WebDriver 常用操作 <二十八> 超时设置和cookie操作
超时设置 测试用例场景 webdriver中可以设置很多的超时时间 implicit_wait.识别对象时的超时时间.过了这个时间如果对象还没找到的话就会抛出异常 Python脚本 ff = webd ...
- Selenium-Python学习——通过XPath定位元素
用Xpath定位元素的方法总是记不住,经常要翻出各种文档链接参考,干脆把需要用到的内容整到这个笔记中方便查找. Xpath是在XML文档中定位节点的语言.使用 XPath 的主要原因之一是当想要查找的 ...
- devexpress 中Grid 的使用:为零不显示
如果要让为0的列不显示: this.gridColumn_FAmount.DisplayFormat.FormatType = DevExpress.Utils.FormatType.Numeric; ...
- [LeetCode] Two Sum水过
刷LeetCode的第一题,TwoSum,基本算是水过. 题目:https://leetcode.com/problems/two-sum/ Given an array of integers, f ...
- git ssh key for github
第一:检查.ssh是否存在(ls -al ~/.ssh) $ ls -al ~/.ssh Lists the files in your .ssh directory, if they exist 第 ...