后端基础入门技术栈简单小结(非常简单)

后端基础入门技术栈简单小结(非常简单)

本文章同步更新于:
简书:https://www.jianshu.com/p/c8c6f10850e2
CSDN:https://blog.csdn.net/ZH16_/article/details/109609147

前言

这篇博客简单总结了后端入门基础技术栈并提供了相关教程,旨在帮助广大对IT技术感兴趣,想要入门进行后端开发的同学。

当然第一次做这样的总结总是会有不足,所以希望各位读者能够指出这篇博客的错误、疏漏之处。

这篇博客主要分为三个部分:

一、通用技术栈,这一部分主要总结的是数据结构与算法、计算机组成原理、操作系统、计算机网络、数据库、设计模式等内容。这一部分内容是程序设计的基石,如果想做一个合格的程序员,这一部分一定一定要理解,最好要掌握。一般来说,这一部分的学习要1~2年,最少需要半年的时间。对于计算机专业的学生来说,因为他们在专业课上已经或多或少的学习过了,所以这一部分对他们来说比较简单;对于非计算机专业的学生来说,这一部分就比较耗时间了。

二、语言与框架,这一部分总结的是目前主流的后端开发语言以及对应的框架,学习了这部分内容基本上可以进行简单的接口开发,但要更进一步还需要良好的基础(第一部分)以及第三部分的学习。对于没什么基础的同学,这一部分的学习要从语言开始,可能需要半年到一年的时间;对于已经有较好基础的同学,这一部分基本上1、2个月就可以搞定(甚至不用)。

三、常用框架,这一部分主要总结的是诸如消息队列、分布式、高并发等后端开发的内容。

一、通用技术栈

1. 数据结构与算法

基本的数据结构:数组、链表、二叉树、队列、栈、Hash表,要了解它们各自的特点与操作(比如队列的先进先出,栈的后进先出,数组与链表各自适用的场景、二叉树节点的插入与删除、Hash的原理等),每个操作的复杂度分析等。除此之外,最好要理解红黑树、AVL树、Tire树、B树、B+树等的原理与实现。

基本的排序算法:冒泡排序、插入排序、选择排序、归并排序、快速排序、堆排序、桶排序等排序算法的特点与实现,以及复杂度分析。

算法设计思想:动态规划(一般来说,区分一个人有没有学过算法设计,就看他会不会动态规划),蛮力法、减治法、分治法、时空置换、迭代改进等,除此之外,还应该会算法的复杂度分析。

推荐阅读书籍:《数据结构与算法分析(C++版)》,《算法设计与分析基础》,《算法导论》(这个酌情看吧),《算法图解》

2. 计算机组成原理

计算机的基本组成:CPU、内存、主板、硬盘、键鼠、显示器等,简单理解各部分的作用。

存储器和IO:计算机中数据怎么存储,内存与硬盘区别、内存与硬盘的交互等。

计算机指令:程序执行的过程、数字电路、二进制编码等。

推荐阅读书籍:《计算机组成原理》,《深入理解计算机系统》

3. 操作系统

进程与线程:进程的模型、进程的层次结构、进程的状态、进程与线程的区别,不同线程模型的区别。

内存管理:地址空间、虚拟内存、页面置换算法、分页分段系统的设计问题等。

文件系统:文件的命名、结构、类型、访问、操作等,目录系统,文件系统的实现,文件系统的管理与优化,文件系统的实例等。

输入/输出:I/O的硬件原理,I/O的软件原理等。

死锁:资源的类型,死锁原因,死锁检测和恢复,死锁的避免和预防等。

安全:环境安全、操作系统安全、密码学原理、软件漏洞、防火墙等。

推荐阅读书籍:《现代操作系统》,《鸟哥的Linux私房菜》

4. 计算机网络

计算机网络和因特网:什么是因特网,计算机网络的核心,目前计算机网络的体系结构等。

应用层:应用层概念,应用层协议原理、Web和Http,DNS、FTP等。

运输层:运输层的概念,UDP、TCP,可靠数据传输原理,拥塞控制等。

网络层:网络层概念,虚电路和数据报网络,路由器原理,因特网的网际协议,路由选择算法等。

链路层:链路层概念,差错检测和纠正技术、多路访问链路和协议等。

推荐阅读书籍:《计算机网络 自顶向下方法》

5. 数据库

目前主流的数据库都是关系型的数据库,所以这里总结的也是关系型数据库的内容。

数据库:数据库系统的应用,关系型数据库与非关系型数据库,数据库体系结构。

关系模型:关系型数据库的结构,码,关系查询语言,关系运算等。

SQL:SQL查询的基本结构,基本运算,集合运算,空值、聚集函数、嵌套子查询,事物、完整性约束、函数、触发器等。

关系型数据库的设计:E-R模型,好的数据库设计的特点,范式理论,应用设计和开发等。

推荐阅读书籍:《数据库系统概念》

6. 设计模式

设计模式代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。

推荐阅读书籍:《Head First 设计模式》

推荐文档:设计模式 | 菜鸟教程

二、语言与框架

个人建议,想要进行后端开发,最好还是学一学C或C++,这对学习其他语言有非常大的帮助。除此之外,最好要对前端技术有一些了解,比如html、css、js等,这会对后端开发有帮助。

目前后端开发的主流语言是Java,Python和Go,在这里先对Java进行总结,有时间再总结另外的语言。

Java

Java基础:

基础语法,8种基本类型,对象和类,变量类型,循环结构,条件语句,Java基础类库,Java数据结构等。

这一部分可以参考Java教程 | 菜鸟教程

Spring全家桶:

Spring:Spring核心原理(AOP与IOC)。

SpringMVC:model-view-controller,各层的含义以及实现。

SpringBoot:微服务架构,SpringBoot的原理实现。

推荐视频教程:

尚硅谷B站官方账号:https://space.bilibili.com/302417610?spm_id_from=333.788.b_765f7570696e666f.1

B站UP主遇见狂神说:https://space.bilibili.com/95256449?spm_id_from=333.788.b_765f7570696e666f.1

以上视频教程根据个人喜好及基础酌情观看,重在实践。

推荐文档:

Spring中文教程:https://www.w3cschool.cn/wkspring/

Spring Boot框架入门教程(快速学习版):http://c.biancheng.net/spring_boot/

Mybatis中间件

MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。

推荐文档:Mybatis官方文档

Java方面,想要进行基本的开发,掌握SSM(Spring+SpringMVC+Mybatis)框架或者SpringBoot+Mybatis就足够了。
在这里推荐一个文档JavaGuide ,这个文档对Java后端的知识点总结的很全,可以用来查漏补缺,但是具体的知识点还是建议看书或找更详细的教程。

Python

Python语言基础:

基础语法,条件语句,循环语句,变量类型,运算符,Python数据结构,文件I/O等。

这部分推荐阅读Python基础教程 | 菜鸟教程

Python后端框架:

这部分有Django,Flask等。

可以参考Django教程 | 菜鸟教程Flask教程 | w3cschool

Go

Go语言基础:

参考文档Go语言教程 | 菜鸟教程

三、常用框架

高并发架构、分布式系统、高可用架构、微服务、海量数据处理等。

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值