文章里的都是偶个人对找工作的理解,和从别人那里听来的经验(我从来没有工作过,也从来没有找到过工作),有没有用那肯定是不保证的,但如果你能做到这些要求,并且没有犯sb错误,还找不到工作的话,偶觉得实在是很难理解~
* 偶中文很垃圾,看起来诡异的话请谅解~ 哪位大牛如果看到有啥讲得不对的请谅解~
* 本文定位比较高,可能不需要这么高的要求也能进很好的公司~
* phd大神们,请勿吐槽.. (yes, shaoyi I am talking to U!)
首先,欢迎你来到伯克利这个cs听起来很牛,但其实本科教育质量一塌糊涂的学校~ 学校的座右铭是swim or sink,而你又选择了最最难的专业cs或者eecs.. 所以在未来的4年里,你将会体验啥叫真正的被虐,但如果你能坚持下去的话,那四年后,你一定会脱胎换骨成为一个不错的code monkey(鼓掌.....)。就像某位九几年的学长说的:"In EECS you will experience 4 years of misery and hell, but in exchange you will be rewarded a lifetime of honor and pride." (原话忘记了,但差不多这个意思吧~)
文本的目地是帮助那些非神人,但愿意花心思花时间去读书,愿意通过提早准备和最优化计划来给自己加buff,从而在毕业后找到最好工作的人~ eric那样的神人估计随便读读就能进google,但对大部分的人来说可能还是需要通过提早准备和最优化的时间安排来最大化自己找到好工作的几率。
适用人群:
首先你必须有一定的脑子和能力,最好还有一些兴趣,虽然大部分的人都是因为eecs好找工作才去读,但其实如果你不是很适合的话,被虐4年之后,出来工作也不好找 (我没有开玩笑,美国人除外)... 偶个人感觉一个不错的自我测试是 cs61a 能不能拿 a-/b+或者以上。cs的课都是越读越难的,所以我感觉61a如果a-都拿不了的话,那继续读下去可能会比较悲剧。当然也有人 61a很悲剧,后面的课就厉害不少,但我感觉a-/b+是很低的标准了。
进程表:
大一 cs61a,cs61b
大一暑假 cs61c
大二 cs70, (>2) upper div,研究
大二暑假 实习
大三 cs162, (>2) upper div,研究
大三暑假 实习
大四 upper div, grad lvl(?),(泡mm?)
*不要觉得这个课表进度很快,大部分的eecs牛人比这个还快一个学期..
一些想法:
*千万别上cs3, 那个课完全是个浪费时间的东西...
*实习都是早一年的秋天开始找的,然后以同年的1-3月为主要的申请时间,大三暑假理想的话,应该是申请到最好的公司实习 amazon google ms facebook之类的~
*研究的话,eecs的内部研究网站和urap都是不错的选择,有时直接找任课老师也不错。记住你做研究的主要目的是积累项目经验,而不是发论文,所以找的项目最好都是有industry buzz words的那种,cloud computing, machine learning虾米的,然后最好有比较多的implementation。这样,你简历上就不会有那些每个eecs专业的人都会做的项目,而是一些很有意思听起来特别nb(研究项目没几个听起来不nb的)的项目。很多时候虽然你只负责做整个项目很小一部分,但在交简历和面试的时候,还是可以谈自己所在的项目,这样就能瞬间让你比其他只上课的人要nb很多~ 当然啦,你得了解你自己所在的项目,能经得起别人问题的考验。
*最理想的研究项目应该是代码多然后又有buzz words的玩意儿,例如parlab整天有那种啥新一代的云计算框架,或者用ML做了些啥的项目~
*我记得没错的话,系里很快就应该会推出新的每年都有的课,叫cs189(也许会改成别的代号)Introduction to Machine Learning和cs167 Introduction to Cloud Computing? (去年这两节课都是cs194).. 这年头纯java c++的码民已经不是最吃香的了,machine learning和cloud computing才是最热门的东西,所以如果你想进特别好的公司,那两个至少要掌握一种,途径的话可以通过做研究项目,上课(博士生的课就挺不错的)或者自学~ 虽然大部分时候你工作的时候并不一定会用到这两个玩意儿,但相比只会c++/java/RoR的人来说,你就会有很大的优势.
*记住编程虽然只是一个工具,但编程烂的人他们是一定不会要的,所以啥数据结构啦,算法啦,这类的题目还是面试前多看看,61b cs70 cs188和cs170应该能给你足够的基础去对付绝大部分的面试。
*Resume和包装自己很重要,很多老外都有天生的自我包装的能力,可能他们随手做一个nb程度1的东西就能说成nb程度10的那样,所以resume一定要做的好,然后碰到hr的人还有面试的人的时候,也要想清楚自己有特色的自我介绍,不需要吹的太离谱,但还是要有点霸气吧 ><。 *一些我觉得对找工作特别有帮助的upper div课: ee122,cs186,cs162,cs188,cs170,cs169 *课程介绍去hkn的网站上看,记住不要逞强,有些课一起上你会体会到啥叫生不如死的~ *gpa的话,一般3.5以上就足够了(专业课的gpa),超过3.5后,基本就没啥很大的好处了,毕竟公司招人需要能办事能写代码能完成项目的人,而不是一个考试机器~ 所以与其拼命追求4.0,还不如多去做做研究,课外的项目,或者上博士生课程。所以你大三第一学期如果发现你resume上都是课上的项目的话,那请尽快去做研究!! *一定要找一个(群)靠谱有能力的朋友(们)~ cs最好刷gpa的办法就是找个牛人,然后他上什么课你就上什么课,虽然我知道大部分的国人本身就是抱团上课,但俗话说得好: "Do not fear the god same enemy, fear the pig same teammate," 特别是如果你本身不是超神般nb的话. (永远被随机到猪一样的队友的人飘过~) 很多大型项目课,例如cs162,cs164,cs184这类的都是n人一组,这个n人一组是有道理的,请在上这些课之前确保你已经找到一个(群)你认识,愿意和你一组,然后能力不错的人(们),不然悲剧了你就自己看着办吧.. *不要抄作业!! 特别是往年的作业!! 记住,你们不是eecs第一批想抄作业的人也不是最后一批,他们会查的!! 你想直接f,然后向用人单位解释为啥核心课程拿f的话,请尽情的抄吧~ *找工作啥的细节问题,多向找到工作的学长/学姐们请教,记住学生最喜欢的是free food,所以你懂的~ (我没找到工作所以别来找我 ><)
*有能力或者有机会的话,hkn和tbp还是要去加的,里面都是一堆比较nb的人,将来的networking,找工作时的内部推荐还是非常管用的。虽然可能刚加入的时候要做一堆事情,但是值得的.. 而且如果有兴趣将来可以去当officer甚至是president~
说些总结吧~
*eecs绝对不是cake walk,我见过最牛最牛的人,也吃了很多苦... 但记住所有人都在被虐,所以你唯一要做的就是坚持下去,而不是放弃.. 还有不要以为你现在的课已经难的要死了,在没上184 162和hilfinger的164之前,你上的课都是浮云般的简单。(除非他们又把这些课给变水了)
*eecs是所有专业中同样学术实力的情况下,最好找工作的一个专业。。所以比你还苦逼的人多了去了,努力码代码吧~
*cs的ms是一个非常水的玩意儿(没错,斯坦福的那个尤其的水),感觉对伯克利的本科生来说比较没意义,一般这些项目是国际学生和本科学校不是很好的美国人的跳板。
*如果你想申请博士,但照这些做了的话,估计会比较悲剧...
*这世界上是个人都能写代码,调用调用api,加个loop啥的我妈都会,但what makes berkeley eecs graduates different是你对计算机系统的理解,无论是操作系统内核的实现,还是网络如何工作的,这些才是伯克利给你最大的礼物(所以请最大化的利用资源多上感兴趣的upper div和博士生课程),当然伯克利教的可能都是写最最简单的,最最高层的东西,但无论怎么变这些理论还是必须遵守的. =D
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.