您的位置:首页 > 其它

想在美国找CS软件工作?Warald提供需要学习的书籍和课程名单,绝对从入门级讲解!

2014-04-25 15:44 555 查看
计算机(CS)专业在美国最好找工作已是共识,Warald在《[美国就业Warald指数]数据分析各专业在美国找工作难易程度和工资水平》中已经指出。现在想找计算机软件工作的人很多,各个专业学生都有想转CS的。关于该如何动手、该学习哪些知识,网上有各种推荐、众说芸芸。

周星驰版的《鹿鼎记》里,陈近南指着高高的绝世武功书架,对不会武功的小宝说:我是看了三年,练了三十年,才有今天的境界。Warald不会像陈师傅那样,不会对着薄弱甚至零基础的你,潇洒指一下算法导论、career cup、leetCode,然后做高人状飘然而去,留下你硬啃天书~
Warald希望提供一个可行也相对容易实现的学习计划,希望你能从入门学起、循序渐进。Warald综合各种信息,针对如何在美国IT公司找工作,给出了下面这个书籍和课程名单。所有推荐的东西,在网上都有能搜索到、都有免费下载。

如果你基础很好,读算法导论易如反掌、应付各种面试题目不在话下,那你当然应该跳过这个文章,早点去搞定工作。Warald敬请您在找到工作之后,来一亩三分地找工求职版分享一下经验、提供一下公司内推,帮帮其他人。
Warald提供留学申请服务,每年都有客户转专业甚至零基础读CS类专业,我也提供后期就业辅导。这个帖子的部分内容,也来自于我跟客户之间的一些讨论。

先说两个网站,一个是udacity.com,一个是coursera.org,都提供免费的在线公开课程,很多功课全球几十万人一起学习。

《第一阶段》筑基
如果你不知道什么是for/while lopp、不知道什么是list,建议你先上这门公开课:

UDacity CS101:Introduction to Computer Science/Building a Search Engine

https://www.udacity.com/course/cs101

学完了以后,好歹对基本的programming control flow, very basic data structure熟悉一下。绝大多数的理工科学生,本科期间是上了C语言的;如果你是美本,很可能上过其他编程语言,这就算消除了零基础了。

《第二阶段》入门

你必须先学Java和SQL,Warald推荐的书籍如下:

1)Head First Java

目前市面上要求Object oriented programming尤其是Java的工作是最多的。这本书最大的优点就是容易读懂,无论是内容讲解还是大量图片设计,都非常容易理解。

2)A First Course in Database Systems,作者是Jeffrey
D. Ullman, Jennifer Widom

用SQL查询数据库是基本技能。基本上你会英语就能读懂这本书、学会SQL。

Warald非常推荐转专业学CS的同学从这本书入手来培养兴趣,计算机/管理信息系统甚至Business/Marketing等行业,有些人的日常工作就是用SQL处理数据。coursera之前有过Daphne Koller的database公开课,貌似下面要换成Jennifer Widom来教(https://class.coursera.org/db/class/index),上这门课程也可以。

读完这两本书,下面你要继续学Java和数据结构:

3)Data Structures and Algorithms in Java

Warald推荐Berkeley CS61b:http://www.cs.berkeley.edu/~jrs/61b/

据joyce在一亩三分地里说,这个老师是berkeley计算机系本科教课最清楚的老师之一,所有的lecture video都在youtube上,notes都可以自由下载。作业和projects也都在网上,可以自己练习。这门课程是给大一新生上的,并不高深,里面推荐了head first java,也推荐了Data Structures and Algorithms in Java。

另一个选择是coursera的algorithm课程,Princeton大学Robert Sedgewick教授开的,算法跟数据结构都有了,作业不错,也是用Java,以前开课时一亩三分地里有人组织一起上课:http://www.1point3acres.com/bbs/thread-37519-1-1.html。最近正好在开Round
II。

公开课最大的好处是可以得到及时的feedback,而berkeley的CS61b这类传统的video下载观看模式,你只能闷头做题,作对作错都不知道。

如果你们学校有类似课程,你可以去选课或者旁听,但是一定要做作业、练习编程!否则这门课就算是白上了!
熬到这里为止,你已经具备最基本的能力了!如果这些你早就会了,恭喜!你的书没白念!

下面Warald建议你更深入的学习Java:

4)Thinking in Java

这本书很经典,但是不适合作为入门书籍。学完了前面两本java书,你可以翻着看看这本,会有帮助。

然后是一个重头戏:

5)Programming Interview Exposed

这本书籍不是“课本”,不是“课程”,而是教你做各种常见面试题目的。

很多人来问Warald:我是小白,请问该如何准备面试求职?这本书就是我的回答。熟练掌握这本书籍的内容,是你找到工作的基础。

完成了上面这五步,你就已经具备了在美国找工作的基本条件了;尽管没人敢保证你一定能找到工作,但是即使只会这些,你已经“有可能”找到工作,尤其是不瞄准google、facebook等热门公司,或者找对软件开发技能要求不高的工作。

各位同学,计算机/CS和其他专业一个很大的不同,就是容易上手、容易自学成才!你不需要焊电路板、做化学实验(这些都需要设备和钱),下载电子书和免费软件,spend your time,use your talent,就可以了!
你离在美国找到工作的距离,可能只有这五本书的厚度。

《第三阶段》进级

要全面扎实的掌握计算机学科知识,要想在找工作的时候稳拿offer、获得更多更佳的就业选择,当然不可能只学前面的五本书。基础教育可以有稳定可循的套路,而往高处进级就复杂了,有些人也未必能训练出来,否则岂不是人人都去google、linkedin、微软工作了?

从找工作的角度来看,下面是你应该做的:

6)刷career cup和leetcode题目

一亩三分地论坛有个编程算法面试题专版(http://www.1point3acres.com/bbs/forum-84-1.html),近期有人组织大家一起刷题讨论:http://www.1point3acres.com/bbs/thread-48094-1-1.html

同时,Warald建议你继续在udacity和coursera上课比如machine learning和algorithm,学了都会很有帮助。如果你在本校选计算机课程没选上,那更是应该利用这种免费的机会,听斯坦福等牛校牛人讲课。

对于在美国读书的同学来说,进入这个进级阶段,往往也是你在美国读书的中晚期了,你已经上了网路、操作系统、软件工程等课程,简历逐渐充实了,甚至对于将来做哪个行业或者方向也大体有眉目了,然后就是根据自己的兴趣,补充该领域的专业知识了。

最后,Warald提醒:

1)如果你要在美国找工作,看书就看英文的。

2)如果要来讨论A语言比B语言好啊,C书籍比D书籍好啊,D功课讲的太浅啊,请去一亩三分地EECS专版或者编程算法面试题版块里找共鸣。Again,Warald提供这个名单的目的,是从在美国找工作的角度,循序渐进、从入门讲起,而且我也只讲较为主流的Java路线。

3)无论别人提供的书籍和课程名单有多好,最终还是要靠你坚持不懈学下来。

–Warald (Email:
iamxiaoning@gmail.com)

博客: http://www.1point3acres.com/

微博:http://www.weibo.com/warald

欢迎转载,转载必须在标题注明转载,在文章正文开始之前而不是最后,用不小于正文的字体大小,肉眼可以清楚识别的颜色,一字不漏的附带以上三行内容。否则视为侵权!感谢合作。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐