Apollo Connecting the World

Diligence and Intelligence

[zz]CS菜鸟找小公司software engineer工作记(zz from mitbbs)

leave a comment »

转给正在找工作的人:

首先解释一下自己的背景和找工作的目标。本人烂校CS Ph.D.毕业,Ph.D.期间无工作经验,无Intern经验。目标是在local找一份工作,不求A,M,G,不求高薪,只要能给offer给办H1B就行。
先说说找工作的过程吧:2010年11月开始断断续续的看CRLS。虽然以前上过数据结构和
算法课,不过都快忘光了,基本上是从头学一遍。2011年1月底投出第一份简历。上周
拿到一个offer。还有一个onsite结束后面试官说我是目前的candidate里最好的,很可
能会给offer,但是要等到下周中才有结果。
第一个公司催的紧,而且地理位置很理想,也是我想要的职位,打算从了。花了一个半
月找工作,终于可以划下句号了。

以菜鸟的状态进入本版,这期间得到了版上的很多帮助和
BLESS。谢谢!
找工作的过程中有喜有忧,也有一点小小的心得,和大家分享。希望能对仍在找工作的
同学有点帮助。

先说说我觉得非常有用的资源:
1. 找工作的网站
我把简历放在monster, dice上,另外每天看看indeed。找工作期间一共投了42份简历
,其中一半在monster, dice这样的网站上投,另一半是通过indeed看到,直接email到
公司去的。
monster作用不大,联系我的都是些recruiter。
indeed非常有用。从indeed上看到职位以后,我去该公司的网站,找到HR部门的收件地
址(通常是careers@company.com,或者jobs@company.com),然后给该email地址发简历
。22份简历,拿到了3个phone interview,其中两个拿到了onsite,另一个莫名其妙的
在HR那关被灭。
总结:强烈推荐indeed!

2. 简历
简历这块儿没什么可说的,精华区里有很多讨论。
强烈推荐某位大牛的博客,也是在这个版上看到的(不知道这位筒子会不会看到这个帖
子。对你表示暴烈的感谢!):
http://randommumble.wordpress.com/
里面给出的cover letter格式,非常有用。我不管公司要不要cover letter,一律按照这位筒子给的格式写一份。一个manager level的朋友看到以后说,非常impressive.另外,简历命名规则,也很管用。至少我自己查找以前投的简历就方便多了。

以我自己为例来推荐一下cover letter吧。我把简历和cover letter贴在monster上以后,A家和M家都是第二天第三天联系我,G家是过了一周联系我(向毛主席保证,我没有投这几家!)
A家的phone interview fail了,在本版贴过面经。
M家联系我的时候,我在外地开会,和他们说好一周以后联系。等我回来再给他们写信,就没人理我了,不知道怎么回事。
G家HR说希望我在他们网站上再申请一次,然后安排面试。我算法没怎么复习,就还没投。

总结:cover letter啊cover letter!!!!!
(补充:cover letter的作用,就像randommumble筒子在他的blog里说的那样,可以帮你顺利通过HR那关。不过回帖中也有很多筒子说没啥用)

得色的楼主又想起来一点:不知道resume怎么写的吸引人的同学,可以google别人的简历。比如做machine learning的,就google “machine learning google”,可以查到学machine learning的拿到google offer的牛人们的简历。说不定有帮助。
牛人们的简历通常是这么写的:designed XXXX 系统,用了xxx和xxx听起来巨fancy的技术,性能提高了x%。不纠缠于技术细节,而牛掰性又显而易见。

3. 面试准备
版上大家都说,不打没把握的仗。如果mitbbs版面总结还有10%以上题(有的说法是20%)不会或者写代码会有错,面试就是浪费机会。
我进这个版的时候,大概95%的题不会做。现在超过一半的题还是不会,特别是算法题。
如果你要找的是M,G,A这样的大公司,确实需要做很多题,练熟了再去。
如果只求找份工作,我自己的经验是小公司不那么看重算法。基本概念会,有一定的编
程经验,就可以了。需要准备以下的部分:

a. careercup 150题, 和programming interview exposed
前者尤其重要,不管多强调它的重要性都不过分。后者的每道题都必须做的很熟练。
另外,看careercup的时候,最好能扩展一下。比如smart pointer,career cup上给出了它的实现;可以扩展到现在C++里有几种smart pointer(auto_ptr, shared_ptr,区别和应用, etc)。

b. effective c++
这本书很多人说很好,但是我看不进去。推荐下面这两个链接:
C faq: http://c-faq.com/
C++ faq: http://www.parashift.com/c++-faq-lite/
把这两个链接看完,C/C++的各种考题都能应付

c. design pattern
常问的是singleton, factory。有的时候会问MVC, strategy
我还会主动说一个std::iterator
wikipedia的内容足够应付面试了

d. multi-thread
看programming interview exposed,careercup, wikipedia

e. STL基本概念
推荐the c++ standard library,看auto_ptr和第五章(google book上有)
或者随便找个stl的slides看一遍就够了

f. 面试前的临时抱佛脚
* 最简捷有效的资源:wikipedia
面试前,我会把这个职位的招聘广告翻出来,job description和requirements里所有不熟悉的技术都wiki一遍。
面试的时候,如果面试官问到这个问题,就说:我虽然没有做过这方面的项目,但是对这个技术也有所了解.blah blah blah的把wiki背一遍。或者去搜一下这个领域相关的新闻。比如做machine learning的人,我就会和他侃一下IBM的watson最近在jeoparty上的表现。
* onsite之前一般都有一段时间可以充分准备一下。我会去youtube搜相关的教程恶补,或者干脆在google上找slide。
比如,要面ORACLE的话(打个比方),可以去youtube搜一遍oracle教程。或者在google里搜oracel database .ppt。
* 恶补面试题
记得careercup开篇说过,即使是牛人,如果不了解面试题目的风格,也可能会fail。哪怕是面自己非常熟悉天天在用的技术,也建议先看看面试题。
最好的资源当然是careercup和本版。
另外,可以去glassdoor.com看到以往的面试题。
如果公司很小,在glassdoor上没有面试题的话,建议查查类似公司的面经。比如要面淘宝,就可以看看ebay的面经,没准差不多。
或者直接搜关键词,比如面oracle,搜database interview questions,说不定也有用。我曾经前一天晚上刚看的题,第二天就被面到了。

g. 算法题
推荐两个网站,一个是在这个版上看到的,一个是朋友推荐的:
http://www.ihas1337code.com/

http://geeksforgeeks.org/
当然还有mitbbs精华区和版面讨论
4. local的优势:
我的目标是在local找工作(非湾区),定位为找小公司的职位。
小公司比较愿意招local的人。常常看到招聘广告上说,local resident preferred。而local resident candidate往往不太强。曾经有一个面试官对
于我能快快写出无bug的reverse a sentence程序表示惊奇,因为之前的candidate都败在这题之下。要知道,我的水平在这个版上就属于被秒灭的那种啊!可以想象其他candidate的水平了吧…

建议:把自己的地址改成bay area吧,机会应该会多很多。
5. 心态
找工作中也有不少教训,和大家共勉:
不要因为一次的失败而否定自己。
不要等。面完了,继续投简历,继续面其他家。不要像我似的,什么都不做,天天煎熬
的等待结果。如果面完了继续move on,也许我现在手上可以有更好的offer.

最后再次谢谢这个版那么多热心的ID们!
祝大家都拿到满意的offer!

又想起来一点,补充一下:

我的感觉是,面试有两种,一种是“算法类”(A,M,G这样的大公司),一种是”概念类”,考基础概念,小公司比较多。
算法类不清楚。对于“概念类”来说,考点就那么多,记住一个算一个。像我这样半路转到CS,很多基础课都没上过的人,面试的时候考的其实是背功,或者考你运气好不好,之前有没有见过这题。
比如,我被问过一道题,delete[]是怎么知道需要delete的size大小的。刚好前一天在C++ FAQ里看过这题,知道new class[]的时候,内存里第一位放的是object个数,后面才是new的内容。如果没见过这题,打死我也答不出来啊。

相信大家都考过GRE。GRE背单词的策略就是第一天,第二天,第四天,第八天… 反正就是不停的复习
我准备面试的时候用的是类似的方法。所有的”考点”,比如概念,经典题的算法,记在一个本子上(最后攒了若干个本子)。平时每天晚上睡觉前翻一点,早上起来翻一点。常看常背,考点记的比较牢。
以前也常拿这个方法来期末突击复习,应付考试,很有效的

from: http://blog.renren.com/blog/1667417205/716752192

Written by apollozhao

2013/04/06 at 02:21

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: