前言
《数据结构》、《操作系统》、《计算机组成原理》和《计算机网络》这4门课程(俗称408)对于学计算机的人来说至关重要,不管你是考研还是找工作都会用得到。
不管你现在的开发工作是否用得到它们,这些都是计算机必备的基础,跟计算机打交道这些都是必不可少的。
但学习的顺序不对,你可能会越看越糊涂,尤其是非科班的人在学习了一门编程语言之后找工作,想弥补自己的短板(培训机构一般不会教),那么如何学习它们将会至关重要。
今天就来给大家讲讲如何学习计算机的408,顺道还给大家推荐了对应的学习资源。
一、学习方法
我们先来讲一下408的学习方法,自学的话建议先去网上找视频把它们都过一遍,因为视频教学能够让你在学习这些抽象的知识时更加形象化,去中国大学MOOC或者B站都能找到很多高分好评的免费课程。
最后再去做针对性学习,建议是看书学习,书本我在后面会给大家做推荐。
那么何谓针对性学习?
就是你现在或者以后的工作岗位比较偏向于哪些东西?如果是后端开发的话就比较注重操作系统;前端更偏向于计算机网络;硬件方向的话自然就是计算机组成原理了;数据结构建议不管前后端都深入学习一下。
二、学习顺序
1.数据结构
第一门课都建议从数据结构入手。
业内一直都流传着这么一句话:程序=数据结构+算法。
从某种意义上来讲,这也是最粗略区分码农和程序员的一门课。
为什么这么说呢?很简单,同样是玩,当成一个程序,我们的内存是否节省、数据存取是不是足够的高效等等,这些就决定了我们的程序是能跑就行,还是能做得非常优秀,甚至开源给其他人用,这就是我们学习数据结构的意义。
数据结构推荐的书籍有两本:《大话数据结构》和《数据结构与算法分析》,前者相对简单些,那这两本书具体怎么选,可以先到网上去找些电子档来看一看看哪本自己更能接受。
刷题的话可以去力扣,注意不要直接上手无序题或者这些热门题,先根据标签过知识点,巩固知识点的同时清楚各类结构在什么情况下去使用比较合理,过完一轮之后再去看这些热门题会好很多。
2.操作系统
第二门课建议可以看操作系统。
学操作系统也不是为了自己写一个操作系统,而是为了更好的理解所谓的软件工程思想。
操作系统可以让我们更好的知道系统资源调配,编写程序的时候知道问题出在哪儿,知道更多的工程解决思路。
书籍的话推荐《操作系统导论推荐》和《深入理解计算机系统》。前者更适合初学者,后面这本则是盛名已久的操作系统好书,值得一看。
3.计算机网络
第三门课建议可以学计算机网络,程序数据的传输离不开网络,它的重要性自然不用多说,尤其是在面试的时候也经常会被问到,比如三次握手四次挥手等等,答不上来你可能就被PASS了。
计算机网络的话在之前我也推荐过,看《计算机网络:自顶向下方法》,一本很适合自学的书,讲解细致而富有条理,同时略去了很多细枝末节的信息,从而不至于让初学者无所适从。
4.计算机组成原理
为什么把它放在最后呢?因为对于大部分程序员来讲都是开发或者研发工作,计算机组成原理对搞硬件的人来说才是比较重要,所以一般你去互联网公司面试都不太会被问到计组。
但它必须得有所了解,因为就算你是个搞软件的,但凡你想有更高深的发展,你就会涉及到调优,那如果你不了解存储器、输入、输出系统、计算机的运算方法和指令系统等等,你如何调优?而这些都是计组的知识,所以必须得学。
书本的话推荐《计算机组成与设计:硬件/软件接口》,你只需一点点c语言和数字逻辑基础就能饮水般流畅得读懂绝大部分内容,读完之后对计算机组成原理的理解必然是清晰透彻的。
今天的分享到此结束了,如果对你有帮助,欢迎点赞收藏或者转发给有需要的朋友!