本人自学编程的一些流程以及书籍
在学习方法上,我主要采用看书、观看视频以及进行实际练习。对于书籍,我按照下图编号的顺序进行阅读,大部分都可以在网上找到电子版。由于我是科班出身,所以对于408相关的基础知识主要还是以教材为主。复习时,408相关计算机组成原理的部分几乎不会被问到,操作系统方面一般会问到线程、进程和Linux相关的概念及扩展知识。计算机网络方面,一般会问应用层和传输层的协议(以五层协议体系为基础),很少会问网络层及以下的内容(唯一可能问到的是输入"URL"这个过程中所经历的步骤)。数据结构方面,主要会涉及栈、队列、树、排序算法和基础算法思想,图算法一般很少会问到,除非你从事ACM相关工作。至于视频,我主要观看尚硅谷和黑马的一些课程,以书籍为主,视频为辅助,对于难以理解的部分,我会查看相关视频以加深印象。
现在我来整理一下学习方法,希望大家能够批评指正。个人作为后端开发人员,我的学习路径一般是按照以下顺序:首先学习Java基础知识,然后学习Java虚拟机相关内容,接着学习多线程编程,再深入学习数据库原理,包括Mysql和Redis的知识。接下来,我会学习框架(SpringBoot),然后学习高并发相关内容,再学习一些中间件技术,例如Kafka、Zookeeper和RPC。之后,我会学习分布式系统的知识,并最终学习微服务(SpringCloud)。一般来说,在学习高并发之前,如果能够找到一份扎实的实习工作,是非常稳定的选择。当然,掌握中间件和分布式技术是一个加分项,目前我还没有系统学习Kafka、RPC和SpringCloud。