在历经7个月找工作的艰苦历程之后,我终于在美利坚拿到offers了。一个是M5 Networks,一个是Microstrategy,总金额同为85k年薪,因为后者的名气和地理位置,我打算从了后者,不过还需要背景调查。
以前以为EE也就比CS难找工作一点,现在才感慨,原来那是基于很多EE去找CS的工作,而且会付出比别人多的努力。EE的学生虽然也写代码,但是因为没有算法和数据结构的知识,写出的代码质量真的不高,而且要过面试那就更难了。
先说我找工作的经历吧。我是从3月开始准备面试,当时金磊同学告诉我大公司都在招人,然后让我看看careercup和版面总结也去投,他拿了很多面试(大部分都成offer了)。我看这些题真是个吃力啊,因为我对于数据结构,算法,设计模式的基础基本为0,虽然以前写了很多代码,最多也就是UI设计了。不过看看总结也不是特别长,就把那些帖子都翻出来慢慢看,看不明白就去查资料,或者就直接骚扰我同学了。后来发现这些算法也就那会事,看多了就会了。但是会用不一定会写,经常写出来的代码到处是错,从来不会没编译错误的。在看完一次版面总结后,又开始看第二次,并且再写了一次代码。接着在这个版面混了,有人发了面经就把题认真想,然后写代码。我觉得讨论是个好东西,自己想到办法不一定是对的。
复习到8月份开始投简历,对于大公司我是一个一个投,不想有重叠,5个招人挺多的公司,至今还有微软,facebook没面。其实我觉得学习到现在,对算法,编程兴趣都有热爱的心了,每天不看看面经不写写代码还觉得不习惯….
简历篇
需要除了基本语法,突出关键点,需要说的是地址,如果你距离纽约近,就随便找个纽约地址写,我就是写我朋友的地址,经常都有猎头找我。如果你是距离加州近,就写加州。如果都不近,我建议毕业了就2选一先找个便宜的地方住吧。
列出的qualification一定一定是你非常有把握的,不怕少,就怕虚!我在面google的
时候就吃了这个亏,我简历写了多线程,TCP/IP,结果面试官就给我一段TCP/IP的代码,让我找错,而错误又不是语法,而是经验问题。
列出的projects一定一定要熟悉,不一定是你做的,但是你一定一定要把为什么这么设
计非常清楚。
有朋友问fresh哪里有那么多project经验,我觉得对于master有3个就够了,如果不够
怎么办?拿来主义!找同学要project的summary,主要看为啥做这个,怎么做的,为什么这么做,而不用其他办法,代码看个结构。考官喜欢问你为什么这么做,难点是什么,解决方案。
面试准备篇
不打没把握的仗
如果你觉得mitbbs版面总结还有10%以上题不会或者写代码会有错,我不建议去浪费面试机会。
版面总结链接 http://www.mitbbs.com/article/JobHunting/31505215_4.html
如果要准备除了google facebook Microsoft其他公司c++的软件工程师,我个人认为需要看到
几个材料有
1. mitbbs版面总结
2. careercup 150题
3. effective c++
4. 面向对象设计的例子,设计模式至少会3个,懂得这3个用在哪里,能举例子。
5. 多线程同步相关知识
http://www.advancedlinuxprogramming.com/alp-folder
6. stl一定要知道大概每一个是怎么实现的,数据结构是什么,复杂度,什么时候用哪个
对于面很大的公司,需要有针对性准备,比如bloomberg,就要把online test的题搜集起来看,在careercup里面有人总结了的。比如google,Microsoft,facebook,Amazon,需要看海量数据处理,还需要看一些难题,这个需要经常看别人怎么解题的,多做题,多思考,思路就广阔了。
还有就是写代码的熟练度问题,常见题应该都要求自己写代码一次写对。对于比较难得,至少不能有语法错误吧。不是每个公司都要求你写代码这么牛,关键是你练充分了,去面试就不怕别人让你写了,心态就不一样了。
不要认为准备的东西太多就被吓着了,以前我觉得那个贴面google的准备材料那个帖子,很恐怖,后来自己还真把里面的东西都准备了,觉得也不可怕,再说了红宝书都背了,还怕这些?红宝那么枯燥。你可以把自己写的代码都保留下来,虽然经常会重复写,但是你会发现你每次写都会有进步,代码越来越简洁,bug越来越少,而且你会从一个题的解法联想到其他题的解法。
面试不怕失败,失败是成功之母,这句话对也不对。如果你没怎么准备就去了,失败了,那就不是成功之母,那就是浪费机会!机会真的不多,能大量招人的大公司就10多个,其他小公司基本找local。我4月浪费掉bloomberg的机会,让我后悔了很久,因为除了online test,其他面试都不难。于是我苦心练了4个月,然后才开始投amazon,结果又因为系统设计不熟悉,hashtable的设计问题被灭了。
当准备充分后,就可以大量投简历了,面试经常都是recruiter联系后就没回信了,不过不需要难过,因为这种电话其实也挺练习口语的。投简历一定要找他们家要求和自己
qualification 对口的投,不然真的是浪费时间。一周可以集中周2-周3投10-20个简历。如果猎头有contract的工作找你,你最好也别错过了,至少可以练口语,练心态。我面到现在,觉得口语已经有很大突破了,面试官居然夸我口语好。。。。。。其实就是说的太多了,能不好么?
面试经验篇
面试前一定要对公司的产品有很详细了解。
面试一定要有热情,一定要有轻松的心态,从容自若,如有机会可以给面试官开玩笑。比如考官问我自动toll的设计,我就跟他说我最讨厌toll,每次过比吃t。考官喜欢跟幽默的人做同事。
穿着我觉得西裤,衬衣,皮鞋就行了,表示对面试的重视,对面试官的尊重。
找reference也很关键,最好找口语好的同学。找老师就找一个,最信得过的,不一定是advisor。
Hi, this is a comment.
To delete a comment, just log in, and view the posts’ comments, there you will have the option to edit or delete them.