2007年3月28日星期三

2005届cs ss大牛的求职小结

今天在学院的网页上看到“就业之星”Yu Xing前辈的就业小结,非常精彩。想必不论是本科的小弟弟妹妹们还是和我们这样的即将面临就业的ss们,都是很有帮助的。特别是文中提到了作为一个计算机牛人所应该具备的某些素质。感慨:如果不想走弯路的xdjm们一定要好好规划自己的学习道路~~

原文如下:

随着work版的人数下降到三位数,06-07年度的Job Hunter大潮渐行渐远了。在大潮中淘到金的实不胜数,我也只是其中比较幸运的一位而已——拿到了大多数计算机系学生梦寐以求的Google的 Offer。另外,在研究生期间,我曾担任过微软技术俱乐部主席的职务,使得我与微软有着很深层的接触,再加上找工作期间也面了不少IT名企,希望我在这里共享的经验,可以帮助大家在来年找到称心如意的职位。:)

一、内练一口气,外练筋骨皮
先引用一段我同寝的杨超(他也拿到了Google的Offer)的一段我很佩服的话吧:“大三,还年轻,没必要追技术,不然很容易浮沙高台的。还是好好打牢基础吧,什么The Art of Computer Programming啊,Introduction to Algorithms啊,Concrete Mathematics啊,把它看上个十遍八遍,英语也最好能学好。这其实就是和练武功一样的,内功牛了,根本不必在乎这些外家的招式,就像张君宝,有了九阳神功的内力,就算使套平常的武当长拳也照样牛。”

其实找工作也是一样的,招聘其实就是把自己的内力展示给公司看的过程,实力是一切的保证。所以,要找到满意的工作,首先在大学的学习期间要努力扩充自己的知识,这样才能在最后游刃有余,笑傲江湖。

当然也不是说外家招式没用,在内功充盈的情况下,再去锻炼一下实际的能力是非常有益处的。一方面增强了实际经验,而很多公司在面试的时候就喜欢从实际情况中选题让你去分析;另一方面也巩固了理论知识,实践是检验真理的唯一标准嘛。至于实践方式,则不一而足。举个例子说,如果对算法感兴趣的,可以去参加校算法竞赛,加入集训队系统学习训练,接下来争取参加Regional甚至World Final,在做题和比赛中领悟算法的真谛;如果是潜心于软件开发的,那么认真做实验室的项目,也可以自己抽空去做做一些有意义的实际开发兼职,要相信每一笔认真的付出都会是你面试时候的一个资本。

总之,先争取可以当上一名内外兼修的武林高手,那么你离成功已经不远了。

二、Who am I?
事实上,“内家功夫”是有很多种的,也绝少有人可以做到兼各家所长。既然各人有各人的长处,那么明确地知道自己长于何处,短在何方是很有必要的。

因为不同的公司对人才有自己的定义,他们各自需要有不同技能特点的员工,因而笔试面试等考核的方向也不一样。比如说,Google喜欢有算法背景的学生,需要应聘者有扎实的基本功,严谨的逻辑思考能力和足够的智力水平,所以Google的面试方向主要是数据结构与算法题,计算机基础知识和一些puzzle;我也面试过Microsoft的ATC(亚洲工程院),面试过程与Google比较类似,不过ATC要求更多的工程能力,比如在现场编程的时候,要求更多的Exception Handling,还要求有完整的Test Case(Accuracy/Failure/Stress),而在算法难度上则比Google要求低一些;而Autodesk要求较强的C++能力和 MFC基础,NI要求扎实的C++基本功,Morgan Stanley要求清晰的逻辑、至少一样过硬的技术和优秀的项目经验……

优秀的公司千千万,只有明白自己的长处才能选择出适合自己的应聘方向,并不是所有的牛企、名企、米企都适合每个人投的。比如你不擅长算法编程,那么你在面试Google和Microsoft的时候肯定会觉得吃力;比如你所长是Java,那么去一家只要C++的公司吃闭门羹的概率也会非常大。

知己知彼,百战不殆,这句兵法的箴言用在这里再恰当不过了。

三、君子坦荡荡
这里的意思是说,在面试的时候,要体现真实的自我。

面试官们都是身经百战的,你的隐瞒基本上很难逃过他的目光。比如在Microsoft,面试时的5位面试官在每一轮面试完之后,是有一次碰头会议的,除非你“圆谎”的能力无与伦比,否则一点点纰漏也会在面试官之间的交流下无所遁形。公司对诚信看的是很重要,即便不是什么严重的隐瞒,可能也会使你的分数大打折扣。

我在面试微软的时候,最后一轮的Boss面。前面的编程我完成的很出色,接下来的技术聊天中,作为.Net资深专家的他问了我一些. Net底层方面的问题。其实.Net我用的非常多,不过大多是在项目开发中,对于底层的实现,我却没有深究过。于是我只能按照我的想法,和对于C++, JAVA等的经验,尽我所能地来回答他的问题。面试结束后,Boss对我说,他相信我不是不懂装懂,但是对于自己不知道的问题,应该大胆地说“我不知道”,要“truly be yourself”,没有一个人可以什么都懂的,学习的态度和诚实的精神在一定程度上比优秀的学识更重要。这些话,我拿出来与大家共勉。

四、三日自省吾身,自信自然出色
在笔试面试过程中遇到的失败是很正常的,失败是成功之母嘛。但如果不对前面的失败进行归纳总结,那么接下来等着你的,可能还会是失败。

我曾看到过有人在被拒之后义愤填膺,在BBS上谴责甚至诅咒对方公司,这些都是没有必要的。找工作如同寻找生活中的另一半,是一个双向选择的过程;公司没有选择自己,是自己表现不够优秀,或者也可能是双方不合适。与其不满,还不如低下头来深省一下自身来的有效得多。

首先问问自己,我在笔试或者面试的过程中,有没有哪里有缺陷,做得不好的。比如说有哪部分知识掌握得不够清晰,那么在去面试下一个同类型公司的时候,先要把这部分补上;或者说是因为面试迟到导致面试官不满而失败的,那么下次要留心守时了,等等。

另外,要看看自己在面试之前是不是准备得足够充分。这里要提出的一点是,给各个公司的简历并不应该都一样。简历是应聘者的门面,不同的公司对应聘者的能力方向要求不同,那么在他们看简历的时候对于你的各方面表现评价也会不同。可能公司A特别看重的你的这个特质,而在公司B那里就不是那么重要。所以,如果时间充裕,应该针对不同类型的公司制作不同的简历。还有最好在面试前多认真了解一下目标公司,这会使你在面试的时候比较得心应手,对于面试官来说,他也会欣喜你的诚意,同时也是一种对自己负责任的态度。

在遭受被拒的打击后,千万不要自暴自弃,要以良好的心态去相信“天生我材必有用”。然后做出更大的努力去争取下一次成功。我在最终被Google录取之前,也受到过几次失败,但我始终在下一次尝试的时候面带笑容,信心满满。成功源于心态,我觉得确实是这样。

五、海投or not,这是个问题
另外,来说下海投,我总共投了6、7个公司,算不得多,因为我个人不喜欢海投。海投的问题在于,除非一路下来顺理成章地收了很多 offer,否则一连串的打击肯定会对后面的面试心态产生影响,到了自己真正心仪的公司可能就发挥不出来;另外,数个月来回奔波对于体力是一个考验,这也会影响到后面的面试状态。

在这里说一个故事,在森林里面有一群猴子,有一天有一只猴子捡到一只手表,聪明的他很快搞清楚了手表的作用,于是乎猴群有了在阴雨天也可以知道时间的智者,他于是就被封为王。猴王认为是手表给了他一切,于是他拼命在森林里找寻第二只第三只手表。不幸的是,后面捡来手表的时刻都不一致,由于弄不清究竟哪个时间是对的,面对来询问时间的猴子,猴王也只能支支吾吾,直至被赶下王位了事。

这个“手表定律”带给我们一种非常直观的启发:对于任何一件事情,不能同时设置两个不同的目标,否则将使这件事情难以完成。

我觉得对于找工作,虽然不能说定多个目标一定不好,但是定太多的目标是肯定会互相干扰的。所以应该选择合适的公司,有目的有主次地去尝试,同时要学会适度地中途放弃。

但是肯定有人会说,海投也没什么不好,一方面我可以承受得住,另一方面这可以增加我的面试经验。嗯,这个理由我也认同,因为这本来就是个仁者见仁,智者见智的问题么。:)

六、与善人居,如入芝兰之室
最后在这里,顺便提一下学习生活环境的问题,也同时感谢我的室友、朋友们对我的促进和帮助。

熟悉我的人都知道,我大一时候的成绩是比较差的,但是到了本科后半段,尤其是研究生阶段,学习成绩突飞猛进,技术能力也进步神速。这一方面是个人自制力的问题,另一方面就是我找到了一个可以帮助我促使我进步的集体——算法集训队。研究生和我同寝室的,也都是集训队的翘楚,在他们的帮助下和日常交流中,我真的学到了很多东西。于是我借这里向他们几个以及整个集训队说声谢谢。

多和优秀的人在一起,你也会学着变得优秀的。这是真的。

已经写的比较长了,就在这里收尾吧。祝大家都能心想事成,愿我们浙江大学的牌子在业界内越打越响。Best Wishes to all! :)

没有评论: