//序言
今天有幸去参加了平生第一次最正式的interview,有很多收获,写下来让自己记住。
//关键字
MSN CDC - MSN中国开发中心
微软中国所在地 - 上海美罗大厦23层
//准备
21号收到面试通知,于是花了大半天时间临时抱了下佛脚,看了些技术与非技术的书,调整心态准备面试,本来想准备一篇introduce myself in english,不料写完了草稿就不高兴改了,扔在了一边(这点很失败,以后一定要好好准备英文的自我简介)
//出发
早上早早的起床,6:45,开了两个闹钟才吵醒的,洗漱完毕,拎了书包就走(这里有个差错,后文会提),与greenfrog约好在北门,7:45出发,乘了K900来到城站,发现时间来得及,上了火车,直奔上海,去的时候,聊完了,我读南方周末,Greenfrog读读者,然后瞌睡,不久就到了上海(不好,成流水账了)
到了上海,地铁直奔徐家汇,发现到了徐家汇才12点,面试要3:45,于是到处找吃的,路上买了张上海地图,走啊走,找到一家必胜客,坐下吃,顺便休息一下(忘了提了,杭州上海都下雨),呵呵,其间有各搞笑的事,吃pizza还有抽奖,waiter拿来一个放满"竹签"的桶,greeenfrog摇了半天,抽出来个三等奖 - 价值十元的红茶 - 末等奖,哈哈,两个人傻笑,等一会,greenfrog拿了奖券去换红茶,不久空手而归,问之,答曰“当天不能领”,两人仔细研读奖券反面的“细则”,差点晕倒,“此奖券在当日第二天起一个月内有效(限上海)”,也就是说,我们还要在上海吃一顿必胜客 - 为了那杯红茶 - 。。。(又扯远了)
//等待
吃着吃着,好像一会儿两点了,再次出发,两个路盲拿着地图,走啊走(路上说笑话,说如果实验室那个MSM - My Stupid Map - 做好了的话,拿起手机来,按两下,路就找到了,多爽),经过一番哭找,找到了美罗大厦 - 微软中国所在地 - 进去(绕着大厦一圈才找到一扇小门进去,大门在装修),来到23楼,出了电梯,一眼望到巨大的耀眼的Microsoft,头再转过来,巨大的Windows XP标志,不错,相机在书包里,忘了拿出来拍了,遗憾。进去,被领到会议厅等(此时还有约一小时),碰到了VC版版大CoolDP,聊了会,就开始打瞌睡了。其间看到前一批来面试的,西装革履,就是有点土(因为有个人外面西装,里面穿了件圆领的毛衣,没打领带,特别别扭,一看就是象我们这种平时只穿皱巴巴衣服的程序员),再看自己,皱巴巴脏兮兮的衣服都忘了换,呵呵,可能是一种风格吧,哈哈。他们似乎比较紧张,似乎是为了当employee而来的,不象我们这帮来应聘intern的。
其间,HR MM 来打过招呼,说面试可能时间拖得比较长,做好心理准备
4点左右,greenfrog和CoolDP被“带”走了,留下我继续等,我等我等我等等。。。过了半小时,4:30我被一个GG领走了,进入了美罗大厦 - 2313办公室 - 正式开始了我的面试征程。
//面试第一轮
面试的是一个GG,拿着台本本,明显不是中国人。首先问了个好,感觉还是蛮亲切的。首先是introduce myself in engglish, 老一套了,我就随口balabala地说了一通(真后悔没有预先写一篇背下来),然后就开始正式的interview了。
他问我的长处,我回答web develop, 并且说其他也蛮熟的,然后他就开始问web方面的问题:关于ASP.NET的状态管理,给我一支笔,让我write it on the white board,然后我就画阿画(还好这方面比较熟,一列就一大堆:session, application, cookie, url, database, file, viewstate, hidden form),然后他又再次追问:如果两个页面之间跳转的话,推荐哪些方法?我就balabala说viewstate等不能使用,然后借题发挥讲到asp.net 2.0里面的cross-page post(这个还是今年搞DoteN IIX是我主讲的内容,不错,后文还会提到,这还帮了我大忙),这个GG很佩服,连着说"Good"。
接着他问了我一下项目经验,我说win32, .net, database, & smart device... 他问了一些关于软件团队开发的问题,还有一些系统架构涉及的问题,我就用我的经历说了一遍,感觉还好,但就是本人english太差(1 听力虽然马马虎虎,但还是有问题 2 口语太差,无法用englsih表达,这种感觉很难受的,就像一个博学的哑巴一样说不出来 3 词汇太差,听懂了是什么单词,就不到什么意思,说了N次Parden还是无法解决,最终面试GG做手势了,哈哈)
聊完,有问起关于security的问题,我虽然做过,但没有真正“研究”过,所以像挤牙膏一样,特别是讲到SSL的时候,我只能说出浅层次的应用,对其原理也是一知半解(记得好像是在传输层之上的一层),这点是我的薄弱,获取多研究点理论。关于security聊了很久,感觉马马虎虎。
最后一个问题,写一个function: convert int to binary, I 问是use c++ or c#, He said "C#",然后就在白版上画了起来,比较简单,但总觉得自己的code比较ugly,所以不爽。其间我用了个trick, using "StringBuilder", not "String", 果然面试官中计,问我为什么要用StringBuilder,然后我就开始胡吹性能问题,感觉他比较满意。
走的时候,他说what is your weakness? 我回答我比较shy,不会说话;他又问你怎么改进你的英语(看来对我的英语,他是服了)
走时,他说了声good luck, 感觉很感动。
就这样,一轮面试过去了,维持了近1个小时,好累啊,继续等待下一轮挑战
//面试第二轮
等了很久,门开了,近来一个GG(比较WS),上来就用很烂的英语对我说“introcude yourself”,我晕倒,又来一遍,我说着说着有点不耐烦了,就马上"That's all",他好像不满的样子,说了声“真够brief的啊”,我没理他,反正我来面试的目的就是玩玩的,怕你不成。
然后他手机开始震了,于是他说“你来做道题吧”,这样他可以放短信,让我把链表倒转过来,我一边写只听他后面业务繁忙,手机按钮声音就没停过(此人素质太差,不知道怎样混进microsoft的),然后我写完了就挑毛病,反正是一无是处,然后又问了几道算法题和网络架构方面的题,反正总是挑刺,我反正就把我知道的全讲了一遍。
有道问题我没解决,被他B4了,在火车上和greenfrog想了几个小时还是没想出来更高效的,郁闷。
回来发在了88上:
============================================================
发信人: Mick (归隐中的米克), 板面: Algorithm
标 题: 一道面试题
发信站: 飘渺水云间 (Sun Jan 23 18:07:09 2005), 转信
写一个函数,要求统计一个unsigned int值的其中"1"bit位的个数
如3 -> 00000000000...00000011 -> 2
如8 -> 00000000000...00001000 -> 1
要求效率最高(时间)
我用的是普通的位移法,被B4了
面试官提醒用hashtable,但我想了一天还是没想出来。
大家帮忙想一下
============================================================
发信人: SgHao (sgh@FT), 板面: Algorithm
标 题: Re: 一道面试题
发信站: 飘渺水云间 (Sun Jan 23 18:23:50 2005), 站内信件
unsigned int count_bit(unsigned int num) {
unsigned int rval = 0;
while (num) {
++rval;
num &= (num-1);
}
return rval;
}
============================================================
发信人: xuchuan (xuchuan), 板面: Algorithm
标 题: Re: 一道面试题
发信站: 飘渺水云间 (Sun Jan 23 18:57:15 2005), 站内信件
所谓的hash就是:
int h[65536];
int cnt(unsigned int n) {
return h[n & 0xffff] + h[n >> 16];
}
============================================================
反正此人转挑刺,不说一句鼓励的话,并且忙着他的短信,所以我想算了,反正是来玩玩的,锻炼锻炼的,就凑合着继续吧,反正等此人滚蛋之后,我坐在那里想,也好,受点打击也好,本来不就是来受打击的吗?
经过两轮面试,肚子饿了,口渴,累啊,看来这种面试确实是考验体力的
我等啊等,终于又进来了一个面试官,20几岁,一看就是个油腔滑调的,此人搞笑的故事多着呢。。。(稍后慢慢道来)
//面试第三轮
第三轮面试有点搞笑,面试官刚走进来就说“你好强啊”,我一听一下,心想怎么上来就讽刺我,然后他拿着我的简历就开始很一个“好强哦”竖一个“好强哦”,连看到我是哪里人都说“好强哦”,我彻底晕倒。他又说“听说你英语不错?”,我说“读读还可以,说就不行了”,他说“第一个面试官说你都能听懂他的话,说明你不错”,呵呵,我怀疑他又在说反话了。言归正传,他向我发了一个令人啼笑皆非的问题:那个刘XX是你们一级的,我想原来是greenfrog,说是阿,同班同学,然后他说“把你的优点和他的优点写在白板上”,我汗,他又说“渴不”,我说有点,他说“我去帮你那瓶饮料”,然后就走了,我汗。在白板上画了半天,胡乱写了点,不久他回来了,拿了两瓶,喊了一声“左手?右手?”,然后我拿了瓶饮料,他说写得怎么差不多的呢?我说我们优点就这么多,也差不多,他就pilipala说了一大通。
聊啊聊,这个面试官很随便,脚竟然翘到了桌子上,于是我也胡乱的吹。
他问到了GC算法,好在曾经研究过几遍,但说着说的感觉记忆就模糊了,他也听得不是很明白。
另外,问到了一些server control 和 user control 的用法与注意点
最值得一提的是:他问我asp.net的web模型,正中我下怀,我就给他好好的讲了一通 asp.net 2.0 新的几种模型, 真爽(因为这学期搞DoteN活动,我主讲的就是这个,现在派上用场了),听得他晕晕乎乎,不足的点头。
他好像还问了我一大堆技术问题和非技术的问题,反正聊得很开心。
走的时候,他说“你来当intern的话,报酬多少?”,我说“无所谓的,混口饭吃就行”,其实我就是这么想的,何必追求什么报酬呢,他似乎不相信,又跟我烦了半天
终于,第三轮面试结束了,好累啊。
//HR
等了一会,HR MM 进来,跟我谈了下关于以后的安排和intern具体事宜,等聊完,走出2313,看了看手机,8:00 。。。
从4:30正式开始面试,到8:00,总共三个半小时,除去等待时间,真正面试时间共计三轮大约两个半小时,好长的一场面试阿
//back
。。。(此处省略1000字,因为停电,文档未保存。。。)-〉2:15am 回到ZJU
//一些想法
这次面试时我经历过最正规面试的第一次,来的目的就是接受B4,积累经验,所以也没什么压力。
总体来说,面试情况还算满意(已经pass了这轮面试,这是后话),至少自己的一些强项被体现出来了,弱势倒没有完全暴露(除了英语,和一些计算理论) - 不像上回CMU面试,就根本无法体现自己的优势 - ,反正,这次面试经历确实能给我以后带来无穷的益处,因为至少经历了一次这样的挑战,下回就有心理准备了。
总结了一下:
1 重视数据结构与算法,写程序本来就要用,但为了面试一定要预先准备(就像无聊的考试一样)
2 简历上一定要实事求是,连“精通”这种词都不要滥用。
3 做过的项目或者曾经掌握的技术一定要重新温习一遍,否则这样说“我做过,我以前会的,但现在忘了”会很尴尬,而且给面试官不踏实的感觉。
4 英文实在太重要,面试中最重要的是听说,真正干活要会读写
5 introduce myself in english这种无聊的东西一定要好好准备
6 心态要放松,因为我们这回去面试intern纯粹玩玩的,所以很放松,以后正式场合也要保持这种心态。
7 注意细节,注意积累。
8 做人要低调。
//后记
过了两天,接到了M$的电话,我竟然pass了这一轮interview,好开心。但还有一轮formal interview等着我,继续努力。。。
结果不重要,关键是过程。
写于2005-01-27 00:34