在知乎上看到的觉得很好
作者:成文俊
链接:https://www.zhihu.com/question/53973228/answer/137778533
来源:知乎
著作权归作者所有,转载请联系作者获得授权。
第一阶段:
主要是对整个计算机有个全局的认识,从C语言入手,《C程序设计语言 (豆瓣)》一遍看是不大可能领略精髓的,不过没关系,第一遍了解一下C,写写小程序。期间在网上找个编程导论的课看看,结合《编程导论 (豆瓣)》一起看。
第二阶段:
基础+实践,我选的路线一开始就是python后端开发,所以这一阶段首先是快速过了一遍Python核心编程(第二版) (豆瓣),知道python可以做什么,怎么做,知识不需要全部记住,后面碰到再去翻翻书,或者google。然后去实现一个操作系统《计算机系统要素 (豆瓣)》,后面的编译器之类的都可以用python去实现,这时候不仅仅可以学习底层操作系统的一些知识、汇编知识,还可以巩固python知识。
第三阶段:
实战+理论,这一阶段写了不少python的项目,学了flask框架《Flask Web开发:基于Python的Web应用开发实战》,跟着书上把里面的项目好好做出来,最好自己学学前端的东西,把样式之类的改改。然后用flask写了一个个人博客,自己部署到阿里云主机上,这期间遇到的坑自己做做记录,保证后面遇到能够解决。爬虫也写了好几个,爬各种类型的网站,参照网上其他人的一些代码,自己改一改。
搞完练手项目,再去搞理论知识。大三暑假,花了一个多月把《深入理解计算机系统(原书第2版) (豆瓣)》看完。本来放假前定了很多任务,什么看完《C++ primer》,
刷一遍LeetCode之类,但是都放弃了,好在耐着性子把《深入理解计算机系统》看了一遍,课后习题选择性的做了一部分。
开学回学校又花了20天左右把《算法导论(原书第2版) (豆瓣)》里面的伪代码抄了一遍,后面高级部分有几章实在看不下去了,就没看,证明部分也是全部没看。
接着学校组织去外地工厂实习半个月,每天参观各种工厂,十五天刷了LeetCode上十几道简单的题。顺带了解了一下mysql数据库,跟着敲了一遍《SQL必知必会 (豆瓣)》。
实习完回学校后就开始找工作:
找工作大概花了一个月,把之前的web和爬虫项目好好整理了一下,跟着《计算机系统要素》写的操作系统也写进了简历里面。然后就是找一些面试题看,查漏补缺,不懂的去google搞懂。
python面试题推荐一个:https://github.com/taizilongxu/interview_python
广泛的去投简历,面试回来总结知识盲点。一共面了五六家,拿了两家的offer,选了其中一家,工作了一个月不到,现在这家公司叫我去面试,顺利拿到offer,就跳槽了(好快)。简历大家要好好做,现在的公司面我的同事说我简历做的是最好的。基础扎实也被夸了,应届生的话大家要注重基础知识的掌握。
其他:
如果选择做web开发方向的话,一定要用unix,答主从一开始就选择在ubuntu写代码,最开始装虚拟机跑ubuntu,后来稍微熟练了就直接装双系统了。vim最好也要用起来,熟练了效率会很高,现在在公司pycharm+vim插件写代码很高效。git也是,平时多用用,工具嘛,不需要特意去学,平时多用才是王道。还有其他问题,可以评论提出来,我尽量解答。