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

来源:互联网 发布:双拼com域名行情 编辑:程序博客网 时间:2024/06/04 20:10

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

作为IT行业的新人,我们大概都想知道如何能够正确的上手这个行业,如何系统地向程序员进发。本文简单谈一谈。

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


●简历

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

●面试

关键点:英语,粤语。

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

技术细节。

算法题。

吹水,文史哲知识。

●系统的知识

①语言:

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

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

②算法:

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

③底层知识:

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

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

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

④数学:

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

⑤软件工程:

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

⑥产品:

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

⑦兴趣点:

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


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

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

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

准备投稿。挑战杯。

0 0
原创粉丝点击