avatar

Ryan-Hong's Tech Blog

Stay Humble

  • 首页
  • 分类
  • 技术栈
  • 知识库
Home 后端学习路线(字节)
文章

后端学习路线(字节)

Posted 2025-03-27 Updated 2025-03- 31
By Administrator
11~14 min read
  • 后端学习路线

    • Part1:一些学习方法/经验

      • 一、先掌握、再理解、学习是一个反复的过程,应该由浅入深

      • 二、不要只看,要多动手,实践出真知

      • 三、可以适当学习一些前端,配合后端一起做,有了成果后会有成就感

      • 四、不要把准备工作做的过于复杂,focus在要做的事情上

    • Part2:学习路线

      • 一、计算机基础

        • ①数据结构与算法

          • 数据结构

            • 链表、栈、队列、树、堆

          • 算法

            • 排序和查找算法

            • Leetcode

        • ②计算机网络

          • TCP、IP

          • HTTP版本区别、方法

        • ③操作系统(Linux)

          • 可以用简单的命令、ps、cd、top

          • 可以简单查看服务运行日志、排查异常问题

          • 可以写简单的shell脚本

        • ④设计模式

          • 单例模式、工厂模式、策略模式、观察者模式等

      • 二、Java相关

        • ①Java基础

          • 面相对象的特性与使用

          • 常用内部集合的使用:ArrayList、HashMap等

          • 泛型

          • 异常处理

        • ②JVM

          • JVM是什么,与Java的关系是什么,以及JVM怎么实现的跨平台性

          • JVM的内存模型是什么,每个区域的作用是什么

          • 垃圾回收机制:垃圾回收算法和垃圾回收器

          • 类加载过程:加载、链接(验证、准备、解析)、初始化

        • ③Java多线程

          • 基本概念

            • 理解进程、线程与CPU之间的关系,以及多线程解决的问题

            • 以及线程安全的三个问题:可见性、原子性、有序性

            • Java中线程的状态

          • Java中的锁

            • Syncronized锁

            • ReentrantLock

          • 常见关键字和线程类的使用

            • 以及Volatile、Syncronized解决了什么问题,对原理有个简单的了解

            • 掌握Thread、Callable、Future的区别和使用

            • JUC中的并发集合和原子类的使用以及基本原理

              • ConcurrentHashMap

              • AtomicInteger

      • 三、相关开发工具

        • ①版本控制工具Git:add、commit、stash、push、pull

        • ②Postman

        • ③IntelliJ IDEA

        • ④Navicat

        • ⑤Maven

      • 四、基础框架组件

        • ①Spring boot

          • 容器的概念

          • 常用注解如@Autowired、@Component、@Service、@Request等

          • AOP的原理、应用场景以及使用方法

          • 能启动一个WEB服务,通过HTTP接口完成一个简单的CRUD程序

        • ②MyBatis

          • 会简单应用即可

      • 五、数据库

        • ①MySQL

          • 会写基本的SQL

          • 了解MySQL底层有哪些log(不做过多要求)

          • 索引

            • Hash索引、二叉树索引、B树、B+树

            • 聚集索引、非聚集索引、联合索引等

          • 锁

            • 粒度划分:全局锁、表级锁、行级锁

            • 性质划分:共享锁、独占锁

            • 思想划分:乐观锁、悲观锁

          • 事务

            • 事物的ACID性质

            • 事务的隔离级别

            • 简单了解一下MVCC是什么,解决了什么问题

        • ②Redis

          • 了解其应用场景与解决的问题

          • 基本数据结构、String、List、Hash、Set、Zset

          • 会简单的使用,会进行命令行的kv的插入和查询

          • 过期策略和淘汰策略

          • 持久化策略,RDB、AOF

          • 一些常见场景问题

            • 缓存穿透、击穿、雪崩

            • 缓存的预热和降级

            • 出现大key和热key怎么解决

            • 如何基于Redis实现分布式锁

            • 缓存更新策略

      • 六、加分的框架组件

        • ①Kafka、Rabbit MQ

        • ②Arthas性能调优

        • ③容器虚拟化技术:Docker & Kubernetes

        • ④监控组件Prometheus、Grafana

      • 七、其他拓展知识(加分项)

        • ①鉴权

          • Oauth2.0

          • JWT token

        • ②常见攻防漏洞

          • XSS

          • CSRF

          • SQL注入

          • DoS和DDoS攻击

        • ③HTTPS

          • 对称加密和非对称加密

          • 签名、证书

        • ④分布式锁

        • ⑤限流算法

        • ⑥布隆过滤器

        • ⑦Bitmap原理与应用

    • Part3:不要投入太多精力

      • JSP

        • 现在基本上都是前后端分离架构,很少用JSP,不分离的情况也有很多更先进技术

      • Tomcat原理和Servlet

      • Spring相关

        • Spring源码

          • 各种beanfactory的加载原理与机制

        • Spring事务

        • Spring MVC

          • 请求处理流程:DispatcherServlet、HandlerMapping、HandlerAdapter等

      • Jetty原理

个人规划, 技术栈
License:  CC BY 4.0
Share

Further Reading

May 12, 2025

数学的深渊

Mar 31, 2025

后端架构师学习路线

编程基础 Java语言 语言基础 基础语法 面向对象 接口 容器 异常 泛型 反射 注解 I/O 图形化(如Swing) JVM 类加载机制 <

Mar 27, 2025

前端学习路径

前端学习路径 网络知识 (Internet) 1. 网络工作原理 计算机网络原理:https://www.bilibili.com/video/BV1xJ41137Q3 2. 什么是HTTP HTTP协议详解:https://www.bilibili.com/video/BV1js411g7Fw 3

OLDER

requirements.txt的使用方法

NEWER

前端学习路径

Recently Updated

  • 数据库系统---关系代数
  • 数据库系统---数据模型
  • 数据库系统---视图
  • 数据库系统---未掌握
  • 数据库系统---连接查询

Trending Tags

thesis 色彩 NLP Typora Java Linux 数据分析 pandas DataBase ES

Contents

©2025 Ryan-Hong's Tech Blog. Some rights reserved.

Using the Halo theme Chirpy