10.24面试
八个candidate中,我离的最近,到西格玛的时间却最晚,去的时候迟到了:(
第一轮,面试官时中国人,一个中年男子,挺精干的样子。可是面试用的英文,首先问个些非技术的问题。然后就是一个编程题目,题目不难,但是要找一个比较高效的方法,首先用英文描述了下我的思路,面试官表示可行,然后开始写代码。比较顺畅,然后面试官让我在已有的代码的基础上,实现另外一个功能,以及如何优化等问题。好了以后,第二个问题,比较简单,效率问题应该不是个大问题,关键是要考虑些特殊的情况比如溢出的情况。之后随便聊了下,然后就带我出去,边走还边说,接下来几轮面试好好表现,不要紧张。最后说了一句:Greate talking to you。有经验的面试官就是不一样啊,能够很快让你不紧张,而且面完了还会鼓励你面好下一面。
第二轮,两个面试官,这个倒是我意料之外的。首先是讲项目的经验,针对项目问了几个问题,不是很好回答。然后是做题。题目不难,我说了大概三种方法,以及对应的时间空间复杂度,面试官让我再想其他的办法,他稍微提示了下,之后得出另一种方法,然后就是写代码实现。写完之后,他检查了下,再让我写测试用力,我从正常的,不正常的,特殊的端点等等情况加以考虑。然后问c++的问题。比较基础,不是很难。这个之后,问一个开放的问题,答的他们不满意,后来没办法,他们也看我答不出来,就不纠缠了。然后出了个问题,类似推销的问题。我从几个方面说了一通,面试官觉得说的还可以,但是有一点不满意。他在纠正我的错误的同时,给我提了点建议,并告诉我下一轮面试官是个外国人,要我不要紧张。
第三轮,一个小伙子,看起来比我年轻,不是第二个面试官所说的外国人啊。先让我自我介绍,然后问我项目问题,讲了半天。然后说如果重新让我做这个东西,我打算怎么做。县城池,内存吃,协议等等,都说了一遍。之后就是写代码,任务量比较大,而且之前的项目讲长了时间,时间不够,写了个大概,感觉不是特别好。中途还问了些C++的问题,问的稍有点深,不过也不算难。之后就是例行的提问时间。
再之后就是吃饭等待。吃饭的时候,发现两个菜都是素的,觉得奇怪了,这不是MS的作风啊,后来HR过来之后,才知道是送餐的搞错了。吃完饭等了好久,快两点的时候,hr来宣布结果。首先一个女生不幸被淘汰,希望这位同学能够找到如意的工作。然后又有两个人下午要继续面AA,再然后说了若干个人回去等下一轮面试的通知,其中没有我的名字,心想不好,现在就只有一个人淘汰,按比例我很可能也被淘汰了。
还好,上午的三轮,没有被淘汰。但是也得回去等待下一轮面试通知。
等了好些天,终于11.8可以面试了
第四轮。这天没有迟到,在前台等了会,然后一面试官过来,面试。面试官先在电脑上看了下简历,我见他看的很不方便的样子,就把我随身带的简历递给他。这样面试官方便多了。似乎对我的排名表示怀疑,说很多人都说top多少多少的,问我的排名是否是官方数据,我拿出成绩单给他看了看。之后问操作系统的问题,windows的问题,汗,一紧张,漏答了很多东西。然后问C++的问题,STL的问题等等。之后就是算法问题,让我写出对应的数据结构,算法。然后优化,减少时间复杂度,空间复杂度。优化之后,就指出如果我给出的数据结构中的指针不小心指错了,会怎么样,我分了几种情况讨论。并给出处理这种错误的策略。然后要求证明我策略的正确性,在纸上画了画,得出证明方法。最后还是例行的提问时间。
第五轮。出来到前台等,过了会来了一个美国GG,笑眯眯的朝我走来,我开始没反应过来,他一直笑眯眯的看着我,我反映过来之后就立马站起来握手问好。之后带我到电梯口,到地下一层,我很纳闷,他说,have lunch。我立马问道,will we have a lunch interview? 他说,yes。呵呵,顺便弥补一下上次只吃了两个素菜的遗憾:)到了一个餐厅,点餐。然后边吃边聊,随便聊天的性质。吃完饭,继续到他办公室聊。主要是他说。呵呵,聊的还很high的,这位gg把腿都翘在桌子上了,还想我展示了他们现在正在做的东西。
面完之后,面试官告诉我,3天内会给我结果。
当天晚上12点,接到一手机打过来的电话,告知我已通过上述面试。12点多打的,看来HR真是辛苦啊:)
今天翻程序员杂志,才发现,最后面我的那个美国GG,是刚刚从美国调过来的ATC高级工程总监。