不到上午 11 点,到达深圳宝安机场,打个车就直奔南山区南海大道,各种过路费加燃油费加出租车费,花了我 70 左右,心想要不要找公司报销。约好的面试时间是上午 12 点。我赶在 12 点前到达 Pure 的办公室。办公室不大,大概一共就十几个人,连前台都没有,不过一进门就被各种 Pure 的产品吸引了,各种收音机,音箱成列在进门就能看到的位置。据面试官说最便宜的也要人民币 500 大洋,而且大陆没有卖。我还以为要一起吃完午饭之后再开始面试,结果被 HR 带到会议室休息了一会儿,就进来一个法国人,简单的做了一下自我介绍之后,面试便开始了。他首先是让我在白板上做题,一共出了五个编程题,有两三道常见的,有两道第一次碰到。每次编程完之后,面试官都会问,: “Do you have a better solution”, “Can you improve theperformance”等等之类的问题,导致我每道题都给出了至少两种解决方案。这样还不算完,面试还要针对我写的每一行代码,让我一行一行的解释是什么意思;有时候问到关键部位,会问为什么要这样实现,这样实现有什么好处等等。我们的英语交流非常顺利,我唯一碰到的问题是不知道质数用英语怎么说,然后我就直接问他啦, ”It’s a number that can only be divided by one and itself.”。估计这 5 编程题的面试持续了 1 个小时。然后喝了口水,休息了几分钟,面试官又拿着足足有 10 多张 A4 纸回到会议室,开始理论面试。理论面试分为两部分,第一部分是编译器专业领域的知识,第二类是计算机科学涵盖的基本算法和基础知识。每张纸上都有一些问题,每个问题下面都有一大片空白,他一边问,一边在空白处记录着我回答的。问题也是从最基本的排序算法,CPU 缓存,流水线,到高阶的编译器领域的寄存器分配算法,循环优化算法都有。如果没有准备,直接用中文回答这些问题,可能都会有点困难,更不要说用英语回答了。不过幸好的是我已经准备得非常充分,问到的大部分问题我都有用英语写下来并且晨读过。
之后的一段时间便是各种等待,同时猎头又推荐了 Samsung 和 Cambridge Silicon Radio 两家公司的职位,看来我做这一行缺的人不少。完成第一面之后,猎头已经把我这次剑桥之行的日常安排得满满的,除了 ARM 剑桥,还要在 ARM 剑桥通过视频面 ARM 瑞典,之后要面 CSR,然后还要造访 Broadcom,最后给我留了两三天时间可以让我去伦敦玩玩。
大概还有2,3 天就要出发去英国了,已经面试完的两家公司也没有一点消息,心总是悬着,在 ARM 马上就要确认给我定机票的时候,突然收到猎头发来的邮件,内容如下:
“ARM have had a review and havesubsequently decided that they now no longer wish to interview you. I’m tryingto find out what has changed but sounds like one of the senior managers hasdecided against it. Also Broadcom now have a hiring freeze, this is a yearlyoccurrence and will usually only last a couple of weeks. However in themeantime they feel it unfair to bring you over and waste your valuable time.
I’ll follow up with Samsung and CSR now andsee what we can do to move things along with them.
Also that good news I spoke of atImagination looks likely to come either today or tomorrow, so all this maybecome academic!
ARM and Broadcom apologies for getting tothis stage but decisions made higher up in the organization have been out ofthe hands of the managers we have been speaking with.”