0x00 序

2014年毕业,按照毕业算工作年限是四年,如果是2014年初的实习开始,就快五年了。五年来,从一无所知的小白到现在前端后端都能写,虽然自认业务能力充足,但很多时候还是带点心虚。
有的时候不得不承认,不是科班出生的,总归是要比别人慢一点。当别人已经开始学习大数据、AI、区块链的时候,我还在补数据结构、操作系统、编译原理,还补得磕磕绊绊。五年了,因为没有系统的检验,即使学了,还是不明白自己究竟有几斤几两。对事物的控制欲望让我想知道方方面面的细节,否则我就不放心。对于自身也是一样。虽然我知道面对寻常的后端开发工作,90%以上的工作都可以胜任,但只有在问题出现的时候才能判断这件事是否在这90%之中,让我非常的焦虑。这种焦虑,有点像以前做数学考卷的时候,知道某个题是用什么知识点来解的,但能不能解出来,还得算来看看——本质上是知识没有条理性。

最近一长段时间,大概有个一年半,尝试过用一些方法来梳理自己的知识体系。用过思维导图,感觉太过简单;用过wiki,但会陷入到细节中拔不出来。不管怎么做,总是不那么如意和顺畅。做准备工作的时候,明明觉得提纲里的东西都用得顺手,但是实际写来却艰苦卓绝。最近想明白了,我自己的心里本来是没有把所有的东西理顺的,总结的提纲挈领的东西,有一点缘木求鱼的意思。
所以,这次我将尝试用重新学习方式,来总结一些自己在后端开发领域的知识。这种总结有点像期末复习,对应的期末考试就是面试了。
真正的期末复习有课本可循,科科目目比较明白。但自己这次复习,没有课本,科目上也只能自己设置了。目前后端开发上大致要包括下面一些组成。

语言基础。

这里选择了PHP,因为是我自己的工作语言。其实对于后端开发来说,用什么语言,除了语法和库用法有些区别,基本套路是相似。所以即使选择PHP作为语言基础的总结,也会尽量以功能(比如字符串、数据库操作等)作为复习的着眼点。换一种语言,熟悉了语言的语法之后,就是按照这里的功能检索学习,也能很快开始后端的开发。

网络知识

以HTTP为主,也要了解TCP/IP以及UDP相关的知识。

数据库

SQL 语言、事务、锁、索引,传统的数据库系统对于后端来说,说来说去其实就是这些东西。NOSQL方面更多需要的是对各种数据库做一个了解,知道不同数据库的适应方向,在实际应用的时候知道如何取舍。

缓存

很少有人会提这一块内容。但是缓存其实对后端开发来说非常重要。后端开发中,很多地方都涉及到缓存。缓存的使用没有定式,可能只会讲讲自己的一些经验。

消息队列

上面这些基本事纯后端的知识,而且基本事面向业务开发。其他还有两个大的组成,一个机计算机基础知识,一个是系统架构设计。这两块的内容,在开发中不那么日常,但也很重要,等有时间再做整理了。


发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据