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

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

"I'm the creator of Word. I found your resumes……are you interested in a contract position at Microsoft (我是Word的发明人之一。偶然看到了你的简历,请问你对一个在微软工作的合同制员工职位感兴趣么)?"

他叫我写了一个程序 (好像是二叉树排序),我写好之后email给他。几天之后,他又安排了微软的一个电话面试,主要询问了一些关于项目、程序设计语言方面的知识。不久,他说我还得亲自去面试,同时把去微软公司总部Seattle的来回机票寄给我了。

说 实话,当时我试图用Word 软件写毕业论文,功能很多,但是并好用,我后来是在一个很旧的Macintosh机器上用Mac的软件写完了论文。在这之前,我已经得到了几家软件公司的 Offer。并且因为以前有过在一个大型公司工作不愉快的经历,我对大公司的兴趣倒不大。但是又一想,免费的机票、还有Microsoft 的名声,于是我抱着去看看的心理就上路了。

那天清早,我从底特律经匹兹堡飞到了西雅图,由于时差的关系,到达时还是早上。Richard 接了我,从机场到微软的路上,他和我聊了我在国内做过的项目。听说我们在目标码上汉化了SCO Unix(由于没有源代码,我们反汇编Unix的代码,然后在上面修改,让汉字能显示出来,比较Hacky)。他吃了一惊,拍拍我的肩膀说,那你做这个工 作是没问题的了。

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

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

读 者看到这个地方可千万别笑,当时的不少文字编辑器不能处理这些问题,编辑的光标时不时会跑到一个汉字的中间去。我在黑板上写算法,他在旁边提问。这个问题 的关键是了解DBCS (双字节字符集系统) 中 leading byte和trailing byte的区别,然后向字符串开始处搜索。写完大概的算法后,又继续把所有细节都实现了,然后讨论了优化的问题。最后,他好像挺满意。

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

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

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

看完剃头事件,我从堆满饮料的冰箱里拿了一听Mountain Dew,继续面试。Matt叫我实现标准函数itoa()功能,就是把数字转换成为字符串输出。或许是累了,或许是Mountain Dew里大量的咖啡因起了作用,我觉得用简单的循环方法太平常了,就写了一个用数学函数的做法。他说,这是我第一次看到这样的解法,你为啥不用简单的方 法?你知道数学库函数有多慢么?其实,我当时的想法是想用这种解法向面试官证明自己懂得挺多的,现在看起来比较幼稚:)

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

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

当时我面试的公司中,我记得只有微软是要求我当场写程序,而且要写得非常完整的程序,不是讲一讲大概的想法就行了。

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

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

不 久,Outlook97和它的远东版本也如期发布了,我写的代码也在其中。Outlook 的员工特别兴奋,喝了不少酒,也互相浇了不少香槟,把团队中的每一个同事都扔到办公楼外的大水池中。后来整个楼道的地毯和墙都是湿的,最后Outlook 团队不得不取消团队聚餐,用原定聚餐的预算来打扫“战场”。

在微软上班差不多一年后,我成为了微软正式职工,没有经过面试。第二天上班 的 时候,我把交给“v-xinz”的任务都转到“xinz” 的账户名下,就继续干活了。当时Outlook 的总经理叫Brian,他经常采取一些“非常规”的办法劝说在那里实习的学生直接成为正式职工,好像Daniel 就是先做了实习生,后来退学后直接转正的。我问我的老板,不是说成为正式职工要5到6 个人面试么?他说,别浪费时间了,你的工作就是最好的面试。

作者介绍:

邹 欣,现任微软亚洲研究院技术创新中心开发经理,主要负责研究成果向产品的转化。他于1996年加入微软公司,前后参与了 Outlook, Product Studio, Visual Studio等产品的开发工作。他利用业余时间写了《移山之道—— VSTS软件开发指南》(2007年),《编程之美——微软技术面试心得》(合作,2008年)。他还在清华大学软件科学试验班讲授 《现代软件工程》课程。邹欣于1991 年获北大计算机软件专业学士学位;于1996 年获美国韦恩州立大学计算机软件专业硕士学位。

原帖链接:http://blog.sina.com.cn/s/blog_4caedc7a01000bbs.htm

你的工作就是最好的面试-邹欣相关推荐

  1. 邹欣对话MongoDB CTO:新数据库时代将带来什么?

    [CSDN 编者按]MongoDB CTO Mark Porter认为,在过去的几十年里,最大的变化在于数据在企业中所扮演的角色变了.在新数据库时代,MongoDB又该如何在众多新兴数据库中保持自身优 ...

  2. 邹欣:你的工作就是最好的面试

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

  3. 终于在国庆前找到工作了!(面试全过程真实记录)

    1,面试准备 面试的时候99.99%的公司都会让你做一下自我介绍和最近做的一个项目,所以自我介绍和项目要提前打好草稿,特别是不太会说话的. 自我介绍: 我觉得简洁一点就行了,一般面试官都会趁着你自我介 ...

  4. 售前工程师工作内幕揭秘:面试实战技巧

    售前工程师工作内幕揭秘:面试实战技巧 前言 一.售前面试问题,基本就下面这些 二.售前工程师岗位普遍误区 三.售前工程师核心技能 四.面试中,主动出击,才是王道 五.对行业的了解是做好售前的基础 前言 ...

  5. 《构建之法,邹欣》阅读笔记

    前言: 从2018年10月30日开始,阅读由微软工程师邹欣老师撰写的<构建之法>一书,全书共435页,每天阅读15页,在一个月(30天)完成.每天阅读完成后,需要思考当日的阅读要点和一些思 ...

  6. 邹欣加入 CSDN 担任副总裁

    1 月 21 日,前微软 Azure 工程团队首席研发经理.技术畅销书<编程之美>及<构建之法>的作者.软件工程专家邹欣正式加入 CSDN,并担任 CSDN 副总裁一职.加入 ...

  7. 书单丨邹欣的书架:从程序到创新

    编者按:微软亚洲研究院首席研发经理邹欣在工作之余,出版了几本书,其中<编程之美>.<构建之法>在程序员界颇具名气.他还是在微博社交网络平台拥有30余万粉丝的大V.既然写书,可能 ...

  8. 官宣!前微软研发经理邹欣加入 CSDN 担任副总裁,CSDN 重磅招揽一流人才

    1 月 21 日,前微软 Azure 工程团队首席研发经理.技术畅销书<编程之美>及<构建之法>的作者.软件工程专家邹欣正式加入 CSDN,并担任 CSDN 副总裁一职.加入 ...

  9. 【成员故事】CSDN邹欣: 2021 年计划把 CSDN 做成中国第一的技术问答平台

    开发者生态英雄会简介: 由CSDN发起,面向开发者生态相关从业者,包括但不限于技术品牌.开发者关系拓展.生态拓展等.技术布道师.社区运营等,共同交流学习如何做好生态运营,资源互助的社区. 加入开发者英 ...

最新文章

  1. 模板 - 二分图(包含全套常用定理性质)
  2. matlab linprog应用示例
  3. 探秘区块链 - 头条新闻
  4. Dynamics 365-关于Solution的那些事(一)
  5. CUDA编程之快速入门
  6. 请解释自动装配模式的区别?_如何从齿条优化方面有效节约机床装配时间
  7. 问题记录——sqlserver视图重命名的陷阱
  8. dbstart $oracle_home,使用dbstart和dbshut命令启动和关闭数据库
  9. CentOS 6.5 安装 Redis 执行 make #error Newer version of jemalloc required
  10. 用Word2007写Blog
  11. python html做界面_[Python]简单的HTML页面合并脚本
  12. 选项不属于HTML语言特点,Web前端开发初级模拟测试卷一(2)
  13. 常用排序算法:直接插入排序
  14. python名词同义词只替换2个_用同义词替换句子中的每个单词的Python程序
  15. 考研数学线上笔记(一):凯哥极限计算系列课程
  16. 如何去掉CAD教育版打印戳记
  17. 四阶龙格库塔法(Runge-Kutta)求解常微分方程的 Matlab程序及案例
  18. FPS游戏方框透视基本原理
  19. JavaScript之this释疑
  20. 汽车纵向动力学模型简介(汽车动力学建模入门知识)

热门文章

  1. 2007年08月《安全天下事》
  2. PMP英文报名有效期怎么查
  3. 关于Windows系统中文件夹的【特殊权限】
  4. android7.0 谷歌拼音,谷歌浏览器在Android 7.0及以上版本支持使用指纹验证进行无密码登录...
  5. 关于DLNA的资料汇总(更新部分支持影音设备)
  6. 期货与期权(part7)--场外市场
  7. ubuntu |DNS-response|: does not exist
  8. CAJviewer7.2无法添加进打开方式的列表,在打开方式中“浏览”无法选择
  9. 小技巧--PPT播放控制,可控制每页时间
  10. PHP双码率视频云转码服务系统源码 m3u8切片支持秒切及api上传和防盗功能,亲测极速播放