Prelude:如何成为一个优秀的软件工程师?

其实我们四五年的computer science学习,几万个小时的投入和十几万行代码,为的就是一个offer而已。不过,这不仅仅是我们的工作,这是我们的事业。

Software develop engineer。其实就是投简历,两次面试,on-site而已。

●简历

学校,GPA,项目,实习,比赛,出版物,作品集,专利,奖励, 会实践。

●面试

关键点:英语,粤语。

软实力:表达能力,劝说能力。

技术细节。

算法题。

吹水,文史哲知识。

●系统的知识

①语言:

一门入门语言:C。一门面向对象的语言:C++。一门脚本语言:python。一门工程用的语言:java。

学语言三步走:primer,effective,headthink。打遍书上的例子,做好课后题。

②算法:

算法导论+编程之美+剑指offer+leetcode+geeksforgeeks+cracking the coding interview.做了几十道题。

③底层知识:

数据结构,计算机体系结构,计算机 络,操作系统,数据库基本原理。

每门课看三本图灵书籍,其他再看十本计算机领域图书。做完课后题。

看书,第一遍通览,第二遍深入,第三遍总结。要深入,合上书能说出书的纲要,打开书能看标题说内容。

④数学:

微积分,线性代数,概率论,离散数学。

⑤软件工程:

软件管理与软件工程译从。

⑥产品:

看书。写PRD。会设计。做原型。

⑦兴趣点:

机器学习,分布式,图形学,操作系统,编译器,等等。

具体到我自己的准备:学好语言,每天刷书,刷语言。(还不到时候刷题。)

加强阅读,保证一周一本杂书的阅读量。

阶段性的做独立项目。(暂时想到的有:掌上编译,汽车防盗,分布式时间管理,自定义敏感词屏蔽算法。)

准备投稿。挑战杯。

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2014年9月16日
下一篇 2014年9月16日

相关推荐