EE抢CS饭碗


想当初踏上万恶美利坚土地的时候,我可是抱着EE拯救世界的态度的。和大多数误入EE的朋友一样,高考填志愿之时总有一个大山炮跳出来宣称计算机专业已经 饱和,毕业不好找工作云云。选了一个专业自称光机电算全部涵盖,到最后我是什么也没学会,大学四年唯一学术突破就是考了一个还像样的GRE而已。

  在第一学期选课截止的最后一天,我大脑一热就把EE下的DSP三门课全退了,换了两门CS的课,走上了这条不归路。原因我已经淡忘,大概是我觉得学什么都 是从零开始,干脆学点新东西吧。想当年在天大我C++可是在鸡爷的帮助下才涉险及格,属于那种连class都不知道是什么的水平。但是熟悉我的朋友都知 道,我是那种看不上就吊儿郎当,看上就死磕的性格。Java真正学起来并没有当年学C++那样各种不知所云,后面的课也基本上没有遇到什么障碍。但那时候 并没有想到找工作找实习,主要还是觉得自己GPA太低,口语不行。促使我真正开始找工作的是一个朋友的经历,此帝只用了八个月就潇洒的拿下了临校的 master,GPA4,然后瞬间拿了oracle的offer,潇洒飞北加。那时候我才第一次开始考虑毕业后的打算,那是去年的五月。

  按照我个人的理解,学生被大公司分两类,第一类是“名校GPA3.8以上”的,第二类是else。作为else的代表,我不得不说,GPA3.8以上真的很难,第一类们确实确实有特权先被考虑,但本文正是献给广大else们的。

  面试这个东西,其实是没法准备的,全靠经验。我没有哪个问题在第一次被问的时候就能答的很完美,我相信谁也不能。从去年6月跟人家介绍自己都要磕磕巴巴, 到现在基本我虐面试官,大大小小的电面一百来次,onsite十来次,磨厚的不只是嘴皮,还有脸皮。其实面试的最高奥义就是厚着脸皮吹牛逼,并用丰富的吹 牛逼经验保证不被拆穿即可。当然了,知识还是要有一些,毕竟是技术职位,而且要对Coding有一腔热情。当然了,还要习惯每天吃subway。

  几本书足够应对所有coding面试:

1:入门书,ProgrammingInterviewsExposed. 这书的知识及其基本,但更是基础,一行字都不能少看。

2: 进阶书,CrackTheCodingInterview. 这书乃是宝典,一百五十道没有一道废题,普遍偏难,是大公司onsite级别的 (amazonMicrosoftGoogleFacebookQualcommOracle)。每做一遍都有新的体会,绝对是CS面试必备。

3:练习册: DataStructuresAndAlgorithmsMadeEasy (inJava). 五六百题,基本涵盖了所有初级算法和数据结构。逻辑都很简单,小学奥数级别,但是看懂和理解并自己写出来还是有很大差距的,推荐白纸练习。

4:HeadOfObjectedOrientedAnalysisAndDesign,  HeadOfDesignPatterns 这两本书能加深对Java的理解,设计类题目总是最难的。amazon,google,facebook面试必备。

  当然这些都是要靠慢慢积累,要一道一道写过来,只看懂逻辑是没用的。因为有时候算法已经想出来了,就是不知道第一行该干什么,很多面试官只需要看前三行, 心里就已经有数了。举例来说,像quickSort和mergeSort的coding,我之前从来没有写过,以为把逻辑解释清楚即可,但是还真就被问了 这么一把。这个公司就是bloomberg。然后,写不出来就没有然后了。

  我开始找工作的时候就是简单的在USConnect和indeed上面投投简历,但是发现很多公司都不理我。后来还是一个热心的面试官给我打电话说,像他 们这种小公司,只会招马上就能工作的,你还有一年毕业,现在太早。我当时并没有真正想找到工作,就是为了求虐,增加经验而已。于是乎我就长了个心眼,把简 历的毕业日期提前到投简历的下个月。这招奇狠,一下子电话全来了,那段时间平均每周都有三四个电话,然后就是各种被虐……

  面到9月多的时候,我找到些点节奏,终于知道了dataStructure和algorithms的重要性,买了以上几本书。也换到了一个pay的 intern做事。那段时间真的很忙,白天上班晚上要做project还要准备面试,经常2点才离开leavey,回家倒头就睡。前几天看到网友们留言说 USC是野鸡大学还说我们留学像度假,仰天长叹,无语。

  我在低谷的时候是在圣诞之后,元旦之前。那是我第一次被Oracle拒。面我的manager决定给我onsite,但是recruiter不让,直接把 我卡掉。原因不用猜,GPA。Manager给我发了一封很长很长的信,表达他对oracle制度的不满和对我的安慰。那封信我看着看着就哭了,我老婆也 看哭了。这是我来美国第一次感到有美国人在关心我。

“With 2 years of industry experience after you graduate, you will no longer be required to go  through college recruiting in order to be approved for an interview, at which point, I will have a lot more influence.  I’m going to keep your resume on file and your contact info.  Please keep mine as well.  Keep in touch with me over the next two years.  Let me know what kinds of projects you work on and where you are and in 2 years, we will try again.  If Oracle is your dream, don’t give up.”  

  在那之后,我还在继续投oracle,因为我发现oracle都是manager先电面,然后recruiter才审。这样的话,oracle就成了绝佳 的练习电面的渠道。我在后来又被十几个O的manager面过,送上去3次,都被recruiter拒掉。发生转折的是最后一次,那个manager还在 电话里问我,为什么被拒了这么多次还投?我当时愣了几秒不知道该说什么,然后感觉应该说点什么搪塞过去,就随口来了句:”Cause I never ever give up for my dream.” 我擦,我估计那边直接傻了,因为他也愣了几秒,然后留了一句,watch your email. 随后不久我就收到了onsite的邀请,我不知道他怎么逆天做到的,但是他真的就做到了。当然后来我也没有让他失望。

  过年之后,有很多大公司有了大动作。我也都一一尝试了一遍。对CS的职位也有了自己的理解,SWE在我看来就分两类:做底层的,通常做内核或者硬件,用C 和shell,要对OS(CSCI402, 神课)非常精通;第二类是做应用的,一般用java,对OOP和web要比较扎实。我是明显偏向后者的族群,所以在这时我就自己砍了一些公司 (cosco,nvidia, intel, IBM。这点我应该早一些发现的,因为自学OS浪费了我太多时间,学到最后才发现真的不喜欢。

  在这里我想说一说老中,我所说的老中是指现在40-50岁,30多岁的时候从国内直接跳槽过来的中国软工,错了,是 我们这儿 软工。我去qualcomm和amazon onsite都是栽到了老中手里。我现在也不明白为什么只有中国人看不上中国人,而人家阿三都是只帮阿三。我在qualcomm最后一个面的老中问我,有 没有学过OS,我说我自学的。他说你没有做过那些project也说你学过?我说你可以问啊,看看我会不会。结果这B问了我一堆我回来google都查不 到的鬼问题,还问我how to simulate garbage collector in C? 看我不会又得意洋洋的反问我,你没学过OS还想找SWE的工作? 我就说我的课都是application level的。他操着浓重的不知哪的方言腔说了一句让我一辈子都忘不了的话:If I wanna build a applicaiton, I will go to hign school and ask them “Who wanna do some funny stuff?”. Why I hire you? 我擦,我当时真想一口大浓痰吐他脸上然后大骂我去你大爷的。但是我还是忍住了,虽然我从他眼睛里也能看到我眼里冒出的火光。Amazon也是一样的,在其 他面试官都被我折服之后,他又问我为什么EE的不好好学EE,CS的基础课你都没学过云云….我当时以为我面的可以,因为他的题被我做完了,我还挑了 他一个错误。事后我感觉挑他的错这一下让他决定毙我的,要不然,就是和我竞争的人过于NB了。

  今年的形式比较好,很多朋友都有offer,抑或实习offer。大大小小我也拿了几个,最后还是签的LA的一家网络公司。拒掉Oracle应该是我今年 最疯狂的一件事了吧,去年的这时候,oracle和我还是天上地下呢。主要原因其实就是不喜欢。在pay差不多的情况下,我宁愿选择我喜欢的 project和我喜欢的boss。Oracle把我分配给了一个IIT毕业,在组里做了近20年的三哥,不,是三叔。我曾经发过毒誓一辈子不给阿三卖 命,就像Russell Peter说的那样:Chinese and Indian can not do business. Oracle 确实稳定,但是SWE就是要靠跳槽吃饭的。我对每个面试过我并且有姓名的人都一一进行了linkedin research,发现三五年一大跳的人才能混出头。在一个地方蹲着的,还在那蹲着。这就正好验证了我前文说的那句话:“其实面试的最高奥义就是厚着脸皮 吹牛逼,并用丰富的吹牛逼经验保证不被拆穿即可。” 

  终于结束了留学生的身份,此时感慨万千。我们不远万里飞过来找寻自己的美国梦,结果发现美国梦其实是TMD美国白人的梦。所谓自由与民主,我们都没有真正 感受到,感受到的只有被边缘化的孤独感。我们带着父母对我们的期望,和父母一辈子的存款,却要寄人篱下,只能捡美国人吃剩下的和不愿意吃的。等到身份稳定 之时,父母也已苍老,我们生活在地球的两端,这是谁想要的生活?

  唯一聊以慰藉的是,我还年轻。

 

Advertisements

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 )

Twitter picture

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

Facebook photo

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

Google+ photo

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

Connecting to %s