Sunday, November 26, 2006

温哥华骑驴找马记(下):找到一匹高头大马

[上一篇 把驴骑丢了]
10月底的时候,我不得不再次开始了我的第二次找工历程。夏天时候的找工难在我的记忆中仍然鲜明,虽说自己已经算是有了一点本地经验,但是太短,怕反而会引起雇主的反感。自己莫名其妙把驴骑丢了,不得不再次杀入求职市场,心里的惨淡程度,不比夏天的时候低。

10月25日晚上重新整理了简历,加入了这三个月的本地经验,重新修改了cover letter。幸好我在找工辅导班学到的东西还没全忘,改好的简历让兔兔review一遍就过了,不然要是像夏天的时候那样,光简历就改个七八遍,心里就更难受了。

从10月26日,就开始疯狂网投。用我自己的话来说,就是绿着眼睛找工作,找到所有能找的网站,申请了所有能申请的职位。一共申请了35个职位:

10月26日 申请了3个职位
10月27日 申请了4个职位
10月29日 申请了2个职位
10月30日 申请了12个职位
10月31日 申请了5个职位
11月1日 申请了3个职位
11月2日 申请了3个职位
11月3日 申请了3个职位

11月1日的时候,在家赋闲的第一天。接到了一个公司的简短电话面试,一个游戏公司的email回复,让我答了一份卷子,还有另一个公司的在线逻辑考试。这是一个好兆头,夏天的时候,我可没有这么快就收到这么多的回复。

11月3日,我一直觉得那是个奇迹。其实我在前一天就看到那个职位在招人,但是这是一个中介的职位,而我在10月底的时候已经申请过同一个中介的另一个职位了,按理说我的信息已经在他们的数据库里了,所以我就没再申请。但是11月3日那天,我找了半天也才找到两个可以申请的职位,又看到了这个职位,又注意到虽然是同一个中介的职位,但是联系人的email不一样。于是想,管它呢,再投一份。
10:33AM 发出了简历
10:38AM收到了该中介的电话,约我11点面试,因为距离很近
10:45AM 收到了该中介的email confirmation, 和详细地址
11:00AM 中介面试,持续约1小时。面试时他告诉我,他下午就要去见客户,就会把我和其他两个候选人的信息给客户看。如果客户决定面试我,他会再跟我联系。
1:49 PM 收到中介邮件,确认客户要面试我,面试时间定在11月7日下午两点。之后,又收到了他的一些邮件,关于怎么准备HR问题,以及3个在线测试,分别是C#, ASP.Net和OO的测试。

11月7日下午,提前一小时出了门,结果坐skytrain下车后周围一片荒凉,心里有些慌,居然就走错了方向。走了大概500米才见到有建筑物,才发现门牌号的趋势不对,只好往回跑。而这个公司所在建筑物的门的结构又比较怪,最后满头大汗进入公司的时候,已经迟到了5分钟左右。一个看上去很和蔼的人接待了我,说没关系,这个地方不太好找,很多人第一次过来时都会找很久。坐在会议室中,擦了擦汗,心跳还没有平静下来,就开始了第一轮面试。第一轮是两个人,一个就是一开始接待我的那个白人,另一个是亚洲人,不太像中国人。先谈了谈我做过的项目,然后问了一些C#, Sql, XML, XSLT, AJAX的问题。这两个人都比较nice,经常说我回答的已经比他们期望的还好了。比如说让我去写一个使用AJAX的例子,我就写了if (browser.version….) obj = new XmlHttpRequest(); else …我说我已经记不清具体的判断条件了,可能是浏览器的版本高于IE6之类,如果版本较低则必须用另外一个类。他就说,已经非常好了,我本来只期望你写出XmlHttpRequest() 就可以了。还有他给了我一个XML和一个XSLT让我写出输出结果,我写出来了,后面他又给我了一个看上去更难的XSLT,有一些*.之类的符号,我看了看实在不知道到底什么意思,就告诉他不会。他马上说没关系,事实上这道题很偏,从来就没有人能做出来,如果你能做出来我们反而会觉得很惊讶。还有就是问我delegate是怎么回事,我说了几句,觉得比较难以说到点上,于是就去白板上举了个例子,于是他们看上去也很满意。我也不知道面试了多久,最后他们给我留了3套题让我45分钟内做完。一套C#的,一套好像是OO的,记不清了,另一套是SQL server或者ASP.net的,我选了SQL server的。题最后基本上做完了。
第二轮面试是一男一女,男的是白人,握手很轻,女的像是日本人,握手很有力。他们主要问javascript的问题,所以事实上也没几个问题。拿了几个打印出来的javascript和html code, 问我某些界面元素的behavior 之类的问题,还是相对比较简单的。因为实在也没什么可问的,他们俩还跟我聊了聊考MCSD的事儿,说在这个公司考证书老板会给报销费用的。最后那个女的还说最近公司要来好几个新员工,所以我过来之后不会觉得太孤单,呵呵,这话让我听得很高兴,好像已经定下要我似的。
第三轮面试是去了Director的办公室,由Director和他办公室里的另一个人一起进行的。这轮面试基本上没问太细节的问题,讲了讲在微软做的Automation test是怎么回事,另一个人问我关于我做过的项目的最大规模的问题,把我问住了,我说不知道如何回答,他说就是多少server之类的,我只好说这些事情BA知道,我不清楚。然后Director就给我解释说,这边的数据中心都是由我们公司维护的,所以developers一定要写高效的代码,否则我们就得买更多的服务器,花更多的钱,那么你们的bonus就没了。还问了我为什么会这么快就离开原来的公司,我实话实说,并且说我已经知道这样不好了,打算稳定下来,他并没有表现出不满。到了我问他问题的阶段,我就问了问公司的隶属关系,开发人员人数之类的问题。面试结束的时候,Director主动把他的名片给了我,并且把我送出公司大门,让我觉得希望还是挺大的。
此次面试一直持续了3个半小时。一出门,打开手机,居然收到了一个意想不到留言,是原来公司的老板留的,说他希望我能够再回去为他工作,让我感觉到BC省的劳工看来还真是挺紧缺的:)

第二天,收到了中介的反馈,说他们对我还是很满意的。我的C#, XML不错,SQL-Server非常强,是所有候选人中最强的,但是asp,javascript比较一般。所以他们考虑让我去做backend而不是frontend. 于是要再给我安排一个面试,定在了11月15日上午10点。

11月15日的面试,我特地提前10分钟到。这次的面试持续了2个半小时,面试我的只有一个人,就是我后来的team lead. 此人也是白人,说话没口音,但是不知道为什么坚持叫我Karry而不是Carol, 可能他觉得这两个词发音一样?呵呵。他一开始就说我上次面试得非常好,通常他的backend team是只要Senior Developer,而不要Junior或者Intermediate level的,但是由于前面面试我的人觉得我非常不错,所以一定要叫他过来看看我是否可以为他的team做点什么。
他一开始问我问题我就意识到这次面试果然跟前一次不一样,第一个问题是Stored Procedure和user defined function有什么区别。我说了几点他都说不是最重要的区别。他说比如这个查询select function1(id) from orders, 你猜一猜Microsoft是如何实现function的,我一时想不出来,他就说,ok, 你先把这个问题放一边,我问你另一个问题,你用过cursor么?我当时居然还没听懂这个词,还让他帮我把cursor写下来,我一看,突然恍然大悟,啊,你是说Microsoft实现function的时候用了cursor?! 他说对,这就是function的最大不利之处,效率差,所以MS建议能不用就不用。他问的问题基本上我都不能一下答出来,但是在他的提示下,基本上能说个大概出来。他后来给了我两份题,一份C++的,一份COM的,说让我只答有把握的题,还说这两套题的分数不会决定我是不是被雇佣,而是决定哪个team更适合我。结果我把C++那套题基本上都答对了,COM那套题基本上都没答对。面试结束的时候,他对我说他会再去跟Director以及中介谈,最晚第二天结束的时候会给我消息。

事实上,消息来得比我想象得快。中介当天下午就告诉我他们打算给我offer了,而且薪水比最初他帮我提的还要稍高一点。但是在给offer之前,他要check reference,如果没问题,应该第二天下午我就可以去他那里签offer了。结果我就把我的3个reference挨个催了一遍,他们都在第二天上午之前就把中介给他们发的表格填好寄回去了,还都说了我很多好话:) 中介第二天一早跟我说,因为这家公司是美国公司,所以必须还要再走一个步骤,就是要check我的犯罪记录。我需要去他的办公室签一下授权书,美国那边就可以开始调查了,估计下周一二应该会调查完。于是赶紧过去签了,就开始静等。按理说到了这个时候应该已经基本上算是稳拿offer了,但是由于见识过拿了offer还变卦的情况,我就还是挺不放心。总算,11月21日下午1点多,中介告诉我已经调查完了,跟我确认了开始上班日期,他又去跟公司那边确认了一下。于是说让我第二天上午11点的时候去找他签合同。后来他第二天早上9点给我打电话说他已经拿到offer了,如果我愿意我9:30就可以去签,我是如此的不放心,以至于当是以为又出什么变故了,后来才慢慢反应过来,可见那个神经病公司对我的心理伤害有多么的深,55555

然后,就很高兴的跑去把offer签了,11月24日第一天上班,考察了一下他们的厨房,发现内容很丰富,比微软中国的要好,呵呵。看一个公司的好坏,要看它的厨房。这个公司是世界500强的公司,能从一个名不见经传的小公司一步跳到这么好的一个大公司,确实让我很兴奋,更何况自己还是过来没多久,语言上还存在问题的新移民呢。

总结:
1)找工作要有胆量。
如果不是亲身经历,我怎么能相信以我这种三脚猫(或者甚至才两脚)的技术水平,和正在提高但是仍然不高的英语水平,可以进得了世界500强的公司呢。
我还给EA投了简历,投的时候,自己都觉得自己纯粹是在浪费人家时间,人家怎么能看上我呢,不仅技术一般,语言有问题,而且没做过游戏。没想到人家居然还就理我了,到现在为止,已经进行了一个简短的电话面试,和一次长达40多分钟的电话技术面试。不管我是否进入了下一个流程,至少我的简历不是白投的。

2)面试一定要准时。
到温哥华以来,我一共面试过4家公司,第一个就是我工作了3个月的那个公司,第二个是那个神经病公司,第三个就是现在这家公司,第四个是一个INC500的公司。我面试前3家公司都是基本上没迟到,结果就是都拿到了offer(且不说那个神经病公司后来又cancel掉的问题);第四家公司我面试的时候居然迟到了25分钟,我无法解释为什么会迟到那么久,真的就是迷路了,在距离公司直线距离不超过200米的地方死活找不到要找的路。这边有些地方确实很偏,路上人很少,想问人也很难,甚至问了一个老先生,他说他在那边住了20年了,都没听说过那条路。面试之前一定不要想当然,觉得下了车就400多米的路我还能找不到?结果是真得能找不到!如果真得很重视这个面试的话,不妨在面试前花费一点时间和金钱去过去看一趟,即使做不到这样,也要尽可能多的提前一些时间出门。觉得这虽然是老生常谈,但是确实确实非常重要,而且一旦迟到很久,基本上无法补救。

3)对公司的兴趣。
提前拿出时间来研究公司的网站,往往可以在company news这一栏里找到有趣的可以拿来提问的新闻。按照我的中介后来跟我说的,我的新公司发现我不是最适合我申请的那个职位之后,不是放弃我,而是找到了另一个更适合我的职位,最重要的原因是我显示出来了对这个公司的强烈兴趣。呵呵,我虽然不是很同意他的观点,但是我相信这应该是一个原因,虽然不是最重要的那个原因:)

No comments: