对于 微软亚洲研究院九年的建院历史而言,工作十年以上的员工并不多,邹欣便是这为数不多中的一员。他在美国获得计算机硕士学位后便与微软结缘,先后在微软总部参与开发了Outlook, Visual Studio 2005等软件项目,2005年回国加入微软亚洲研究院创新工程中心,担任开发经理。时隔十余年之久,邹欣回忆起了他当年的微软面试故事。

  大约是1996年春天,我在韦恩州立大学(Wayne State University)正忙着写硕士论文。一天,收到了一封电子邮件,来自Richard Brodie,我依稀还记得上面写着:

  "I'm the creator of Word. I found your resume… are you interested in a contract position at Microsoft?"

  他叫我写了一个程序 (好像是二叉树排序),我写好之后email给他。几天之后,他又安排了微软的一个电话面试,主要询问了一些关于项目、程序设计语言方面的知识。不久,他说还得去面试,就把去微软公司总部Seattle的来回机票寄给我了。在这之前,我已经得到了几家软件公司的Offer。因为以前有过在一个大型公司工作的经历,我对大公司的兴趣倒不是特别大,但是又一想,免费的机票、还有Microsoft 的名声,抱着去看看的心理就上路了。

  那天清早,从Detroit 经Pittsburg 到了Seattle,由于时差的关系,到达时还是早上。Richard 接了我,从机场到微软的路上,他和我聊了我在国内做过的项目。听说我们在目标码上汉化了SCO Unix,他吃了一惊,拍拍我的肩膀说,那你做这个工作是没问题的了。

  我进了微软17楼的门厅,觉得气派不小,一个叫Gary 的人把我领到他的办公室,屋里堆满了各种各样的玩具,一个大盒子上好像还有日语写的“棋盘”二字。寒暄之后,就直奔主题。

  他问道:“在一个含有DBCS的字符串中,如何从当前的位置向字符串头退一个完整的字符?”

  你们看到这个地方可千万别笑,当时的不少文字编辑器不能处理这些问题,编辑的光标时不时会跑到一个汉字的中间去。我在黑板上边写算法,他在旁边提问。这个问题的关键是了解DBCS (Double Byte Character Set) 中 leading byte 和 trailing byte 的区别,然后向字符串开始处搜索,写完大概的算法后,又讨论了优化的问题。写完之后,他好像挺满意。

  (现在想不起来午饭是如何解决的了,一般情况下吃午饭时也要安排面试,问一些和技术有关的问题)

  第二个见面的叫Daniel,看样子像中国人,他叫我做了几个指针的程序,大概是把单链表倒过来之类的。然后要我分析各种算法的优劣。这一关很顺利就过了。

  第三个见面的叫Matt,他跟我谈了他们正在做一个叫outlook 的email 和个人信息管理程序,远东版(中日韩语言)进度很慢,需要做不少处理双字节的工作,以及各种和中日韩环境有关的问题。我问他:“你们为啥不用 Unicode, 我觉得Unicode 一出,就再也不用DBCS了。”他有点尴尬地说,我们的程序是建立在一个叫MAPI 的平台上的,它还不支持 Unicode。正说着,门外一阵骚动,有人推门进来说:“哥们,快去……”。征得我的同意之后,Matt 带着我来到一个大厅,一帮人围着看一个人在被剃光头,有人还在起哄。被剃者面带微笑,岿然不动。他叫Mike,是Outlook 的开发经理(development manager)。据说他和大家打赌,如果在某月某日之前整个团队的bug 数量减少到一定数目,他就以光头回报。

  看完剃头事件,我从冰箱拿了一听 Mountain Dew,和 Matt 回到他的办公室,继续面试。Matt 叫我实现标准函数 itoa() 功能,就是把数字转换成为字符串输出。或许是累了,或许是Mountain Dew里的咖啡因起了作用,我觉得用简单的循环方法太平常了,就思考着是否可以用数学库函数来做。他说,这是我第一次看到这样的解法,你为啥不用简单的方法?你知道数学库函数有多慢么?其实,我当时的幼稚想法是想通过这种解法向面试官证明自己懂得并不少。

  下午,Richard 送我到机场附近的旅馆,路上他问,要不要在西雅图一带兜兜风?我说,我觉得我肯定会来这里上班的,以后有的是机会,这次就不用了:)。吃晚饭时,我还买了一份报纸,拿了几份房地产的广告,和中西部的价格比较了一下:)。

  回到底特律一两天后,Richard 来email 说,前两个面试都挺好,好象第三个面试官有些看法……又过了几天,他说,你可以来上班了。于是,我就推掉了其它公司的offer,来到了微软公司所在的雷德蒙,成为了Richard Brodie 公司的职员,在微软里开始为远东版的Outlook进行开发。 我那时的email 地址前有一个“v-”,表示vendor。

  当时我面试的公司中,我记得只有微软是要求我当场写程序,其他公司有一个是问了一些简单的问题后,就说,好吧,我们马上发传真Offer,你下个星期就过来吧。我说,这么快?于是要求和公司再了解一下,于是他们找了一个中国员工来和我谈,后来得知他们是给别的公司做外包,业务特别多,急着要人。

  我现在还记得曾经有个公司问我“你如何定义成功?”,这个问题真是难以回答,我真想亲自问一下提问人的标准答案是什么。还有一个公司还叫我做了两个小时的心理测试问卷,其中问到:“古今中外,你崇拜的人是谁,为什么?”我心想如果写中国的古代高士,那太难解释清楚了,于是我转而描述了某位美国开国元勋,而且尽量小心不要把他的事迹和其他开国元勋的事迹混淆起来。大概他们分析出来我的心理还算主流,不久之后我也得到了这家公司的邀请。

  当时一个芝加哥的公司听说我不想接受他们的offer,问我为啥?我说西雅图气候宜人,而芝加哥太冷了,他们就说,这样,你的薪水上还可以再加上几千元,这样芝加哥的冬天就比西雅图还好过了,如何?我想了想,还是直奔西雅图而去。现在回想这些面试过程中的趣事,还真是挺有意思的。

  在微软上班一年后,我成为了微软正式职工,没有经过面试。当时outlook 的总经理叫Brian,他经常采取一些非常规的办法劝说在那里实习的学生直接成为正式职工,好像Daniel 就是退学后直接转正的。我问我的老板,不是说成为正式职工要5 个人面试么?他说,别浪费时间了,你的工作就是最好的面试。我想与即将经历面试的毕业生朋友们一起共勉。

作者: 邹欣 出处: 微软亚洲研究院博客

听微软老员工讲述他们是如何走进微软的相关推荐

  1. [转载]华为老员工看华为(二):如何找到国际化人才

    原文地址:华为老员工看华为(二):如何找到国际化人才 作者:IT老记 IT老记冀勇庆:一家在海外没有任何资源的公司,却需要开拓海外的运营商市场,这注定是一个非常艰辛的过程.2005年,我去欧洲采访华为 ...

  2. 微软允许员工永久在家办公的背后或许暗藏杀机

    这两天关于微软允许员工永久在家远程办公,并且微软会承担远程办公费用的新闻,接连上了微博的热搜和知乎的热榜. 关于微软允许员工永久在家办公的新闻要点,如下: 微软近日宣布将允许更多员工永久性在家办公.为 ...

  3. 农行运营合规管理心得体会_老员工写诗讲述农行40年运营风采

    从手工操作到局域联网再到数据集中,让社会了解尊重运营工作 运营四十年 农行恢复四十年,幸与祖国同发展,运营风采犹气盛,拙笔丹青绘非凡. 手工时期 指动珠碰算盘响,折角验印审八项,日清月结六相符,年终决 ...

  4. 【值得学习】售前工程师的成长(四)---一个老员工的经验之谈

    售前工程师的成长---一个老员工的经验之谈<?XML:NAMESPACE PREFIX = O /> Jack zhai <续>   一.             与专家PK, ...

  5. 离职员工讲述易到混乱:CEO在办公室煮面条、逼员工下跪

    来源:今晚财讯丨作者:卫一 数据猿官网 | www.datayuan.cn 今日头条丨一点资讯丨腾讯丨搜狐丨网易丨凤凰丨阿里UC大鱼丨新浪微博丨新浪看点丨百度百家丨博客中国丨趣头条丨腾讯云·云+社区 ...

  6. 大肆行贿!微软前员工爆料,在中东、非洲每年花2亿美元回扣送礼

      视学算法报道   编辑:袁榭 [新智元导读]微软前员工曝出微软在中东和非洲的子公司.分包商大肆行贿. 2019年6月,微软前高管Yasser Elabd与美国证券交易委员会.联邦调查局和美国司法部 ...

  7. 微软某员工后悔跳槽阿里:工资才多20万不到,天天加班快崩溃!

    在互联网职场社区,一名标签为微软的员工疯狂吐槽起来,其称自己以前在微软,后来跳槽阿里,拿了个级别P6,工资多了不到20万,但是天天加班快崩溃了,现在很后悔,都怪自己听了什么外企养老会废掉之类的鬼话. ...

  8. [值得学习]售前工程师的成长---一个老员工的经验之谈(一)

    版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.[url]http://zhaisj.blog.51cto.com/219066/47 ...

  9. 没有文档,没有老员工讲解,悲催的新人如何快速熟悉一个新项目?

    本文来自闪客Sun的投稿,博客地址: https://www.cnblogs.com/flashsun/p/9450066.html 看完你就会明白,虽然有一定的方法论,但是不下功夫,没有耐心,还是万 ...

最新文章

  1. codis3数据迁移探索
  2. 通知中心NSNotificationCenter的使用
  3. Android UI法宝的设计资源的开发
  4. 构建针对 iOS 和 Android 的原生扩展
  5. 天翼云从业认证(4.12) 天翼云医疗行业解决方案
  6. python3 内置函数详解
  7. webview与js交互
  8. 台阶问题---动态规划算法
  9. 算法学习经典例题整理
  10. mysql交叉编译 cmake_CMake交叉编译配置
  11. 有关Accordion组件的研究——Silverlight学习笔记[27]
  12. $con=mysql_connect_php连接mysql mysql_connect()与mysqli_connect()的盲点
  13. CCIE培训分解实验内容
  14. HTML 前端设置浏览器页签图标设置
  15. 制作系统光盘Server 2003 总结
  16. html5图片无限循环播放,原生js实现无限循环轮播图效果
  17. 德巴赫猜想python_哥德巴赫猜想问题基于Python的验证方法研究
  18. 郭德纲绝句,没有一句不让你笑的
  19. QQ浏览器如何启用无痕模式
  20. linux一体机如何调整亮度,一体机在哪里设置亮度|一体机电脑怎么调节屏幕亮度...

热门文章

  1. R语言机器学习系列-随机森林回归代码解读
  2. chip2chip axi ip核
  3. 走上“前台”的桃花坞木刻年画青年传承人
  4. 【已解决】MongoDB 中根据指定字段筛选出具有重复值的记录
  5. 手机html特效菊花的彩铅画,小菊花彩铅画步骤_适合新手临摹的彩铅画菊花
  6. serialport中Cannot set headers after they are sent to the client
  7. Markdown中图片转PDF之后图片不能显示的问题(已解决)
  8. NURBS学习第一天
  9. JS动态获取DIV的宽度和高度px!
  10. docker启动redis简单方法