摘要:[这是应开心的要求写的命题作文]
大约是96年春天,我在Wayne State Univ. 正忙着写硕士论文。一天,收到了一封email 号称来自Richard Brodie,上书:
I'm the creator of Word. I found your resume… are you interested in a contract position at Microsoft?
他叫我写了一个程序(好像是排序),email 给他,几天之后,又安排了微软的一个电话interview,不久他就把Detroit/Seattle 的来回机票寄给我了。在这之前,我倒是得到了一家New Jersey软件公司的Offer,还有Detroit 和 Chicago的公司也在联系中。根据以前在HP公司的经历,我对大公司不太感冒,但是又一想,免费的机票… Microsoft… 还是去看看吧。
闲话少说,清早从Detroit 经 Pittsburg 到了Seattle,由于时差的关系,到达时还是早上。Richard 接了我,从机场到微软的路上,他和我聊了我在国内做过的项目,听说我们在目标码上汉化了SCO Unix,吃了一惊,拍拍我的肩膀说,那你做这个工作是没问题的了。
进了微软17楼的门厅,觉得气派不小,一个叫Gary 的人把我领到他的办公室,屋里堆满了各种各样的玩具,一个大盒子上好像还有日语写的“棋盘”二字。寒暄之后,就直奔主题:
“在一个含有DBCS的字符串中,如何从当前的位置向字符串头退一个完整的字符”
各位别笑,当时的编辑器有不少不能处理这些问题,光标时不时会跑到一个汉字的中间去。我在黑板上边写算法,他在一旁提问,这个问题的关键是了解DBCS leading byte 和 trailing byte 的区别,然后向字符串开始处搜索,写完之后,他好像挺满意。
[现在想不起来午饭是如何解决的了,一般情况下吃午饭时也要问一些程序的问题]
第二个见面的叫Daniel,看样子像中国人,他叫我做了几个指针的程序,大概是把单链表倒过来之类的。然后分析各种算法的优劣。这一关很顺利就过了。
第三个见面的叫Matt,他跟我谈了他们正在做一个叫outlook 的 email 程序,远东版(中日韩)进度很慢,需要做不少处理双字节的工作,以及各种和中日韩环境有关的问题。我问 – 你们为啥不用 Unicode, 我觉得Unicode 一出,就再也不用DBCS了。他有点尴尬地说,我们的程序是建立在一个叫MAPI 的平台上的,它还不支持 Unicode。正说着,门外一阵骚动,有人推门进来说“哥们快去...”。Matt 带着我来到一个大厅,一帮人围着看一个人在被剃光头,有人还在起哄。被剃者面带微笑,他叫Mike,是Outlook 的 dev manager,他和大家打赌,如果在某日之前bug 数量减少到一定数目,他就以光头回报。
看过剃头,我从冰箱拿了一听 Mountain Dew,和 Matt 回到他的办公室,Matt 叫我实现 itoa() 功能,或许是累了,或许是Mountain Dew里的咖啡因起了作用,我觉得用简单的循环方法太平常了,就想了一个用数学库函数作的,他说,这是我第一次看到这样的解法,你为啥不用简单的方法?你知道数学库函数有多慢么?
下午,Richard 送我到机场附近的饭店,路上他问,要不要在西雅图一带兜兜风? 我说,我觉得我肯定会来上班的,以后有的是机会,这次就不用了。 吃晚饭时买了一份报纸,拿了几份房地产的广告,和中西部的价格比较了一下。在饭店时太太从Detroit 打来电话说微软有个Recruiter 在找你,我和她刚谈了两句,她听到我正在面试,就挂了电话。
一两天后,Richard 来email 说,前两个面试都挺好,第三个有些看法... 又过了几天,他说,你可以来上班了,我就推掉了其它公司的offer,来到了Redmond,成为Richard Brodie 公司的职员,在微软上班。 我当时的email 地址前有一个“v-”,表示vendor。 当时一个芝加哥的公司(CASE)听说我不想接受他们的offer,问- 为啥?我说 - 西雅图气候宜人... CASE说 - 我们加上N千元,这样芝加哥的冬天就比西雅图还好过了,如何?我想了想,还是直奔西雅图而去。
上班一年后,我成为了微软正式职工,没有面试。当时outlook 的GM 叫Brian,他经常采取一些非常规的办法劝说在那里实习的学生直接成为正式职工,好像Daniel 就退学了,直接转正。我问我的老板,不是说成为正式职工要5 个人面试么?他说,别浪费时间了,你的工作就是最好的面试。
后来:
Richard – 据说是微软的第77个员工,Word 的作者,一度成为Word 项目的General Manager。......[
阅读全文]