软件工程本科生宝典
首页/课程学习引导/Web后端开发
选修前沿 · 大三上

Web后端开发

Web Backend Development

选修前沿
课程类别
大三上
建议学期
重要性
重要程度
难度
学习难度

📖这门课到底讲什么

Web 后端开发讲授服务端应用的完整技术栈:HTTP 与 RESTful 接口设计、路由与中间件、参数校验与统一响应与全局异常处理、鉴权与会话(Session 与 JWT 与 OAuth)、数据库访问层(ORM 与 SQL 优化与事务与数据库迁移)、缓存(Redis 的键设计与过期与一致性)、消息队列与异步任务、日志与监控与链路追踪、配置管理与多环境部署、限流与幂等与防重放、以及接口文档与自动化测试。主流技术栈包括 Spring Boot 生态或 Node 与 Go 生态。学完你应能独立设计并实现一个具备认证授权、缓存、异步与监控的完整后端服务,并完成容器化部署与压测。

🎯为什么必须学好

后端岗位数量最大、面试考得最系统:接口设计、认证授权、事务与并发、缓存与一致性、幂等、限流、日志与排障,都是必问内容;同时后端能力是进入大厂中台与基础架构方向的入口。做课程项目与毕设时,一个结构清晰、有测试与文档、能部署的后端服务是最有说服力的作品。掌握从接口到部署的完整链路后,你在实习中的第一周就能产出可用的功能。

📌核心知识清单

  • HTTP 与接口设计:方法与语义与状态码、RESTful 资源设计、版本与分页与错误码规范、幂等性与安全性(GET 与 POST 的正确使用)、接口文档(OpenAPI)与联调
  • 框架核心机制:路由与中间件与拦截器、依赖注入与分层结构(Controller 与 Service 与 DAO)、参数校验与统一响应体与全局异常处理、跨域与静态资源
  • 认证与授权:Session 与 Cookie 与 JWT 的对比与实现、RBAC 权限模型与接口级鉴权、OAuth2 与第三方登录、单点登录与令牌刷新与注销、密码存储与加盐
  • 数据访问层:ORM 使用与懒加载陷阱与 N 加 1 问题、连接池配置与事务传播与隔离级别、乐观锁与悲观锁与并发更新、数据库迁移与分库分表初步、SQL 优化与索引
  • 缓存与性能:Redis 数据结构与键设计(String、Hash、ZSet、BitMap)、缓存更新策略与一致性(先更新数据库再删缓存)、缓存穿透与击穿与雪崩的应对、分布式锁实现与陷阱、接口性能优化(批量、异步、连接复用)
  • 异步与解耦:消息队列的使用场景(削峰、解耦、最终一致)、投递语义与幂等消费、延时任务与定时任务调度、线程池配置与异步任务与响应式编程初步
  • 可靠性与可观测性:日志规范与结构化日志与脱敏、指标监控与告警、链路追踪与请求 ID、限流与熔断与降级、幂等设计与防重复提交、灰度发布与回滚
  • 工程化与部署:配置管理与多环境(开发、测试、生产)、单元测试与接口测试与测试覆盖率、Docker 容器化与 Compose 编排、CI 与 CD 流水线、Nginx 反向代理与 HTTPS 与负载均衡、容量评估与压测

✍️怎么学(可执行步骤)

  1. 选定一门技术栈深入:Java 用 Spring Boot 加 MyBatis 加 MySQL 加 Redis,Node 用 NestJS 或 Express 加 Prisma 加 PostgreSQL,Go 用 Gin 加 GORM,选定后不反复横跳
  2. 跟一个完整实战课程做项目并把每个环节都亲手替换:把示例里的 JWT 鉴权、Redis 缓存、消息队列异步、Docker 部署、CI 流水线全部自己写一遍并写文档
  3. 做一次接口性能优化实战:用 JMeter 或 wrk 压测,找出瓶颈(数据库慢查询、N 加 1、缺缓存、线程池配置不当),逐项优化并记录 QPS 与响应时间变化
  4. 为项目补齐质量保障:写单元测试与接口测试、接入结构化日志与请求追踪、用 OpenAPI 生成接口文档、在 CI 中跑测试与构建镜像

📚推荐教材与书籍

Spring实战(第6版)Craig Walls · 经典

Spring 与 Spring Boot 入门到进阶权威读物,配合官方文档使用

Spring Boot 编程思想小马哥 · 进阶

深入讲解 Spring Boot 的自动配置与启动流程,理解框架而非只会用注解

高性能MySQL(第4版)Baron Schwartz 等 · 进阶

后端必备,索引与查询优化与事务与锁章节直接对应线上问题

凤凰架构:构建可靠的大型分布式系统周志明 · 经典

把后端服务治理、事务、缓存与云原生串成完整体系,适合从写接口进阶到做架构

🎬视频课程 / 公开课

选择包含鉴权、缓存、消息队列、部署全链路的完整项目课程

从前端到后端与数据库与部署的完整链路,项目作业极有含金量

🌐网站与文档

官方入门指南按场景给出可运行示例,学习成本最低的起点

数据结构、持久化与分布式锁说明,缓存设计必查

同一份 API 规范的多种技术栈实现,对照学习接口设计与分层结构

接口安全风险清单,设计鉴权与限流时对照自查

🐙GitHub 开源资料

Java 后端知识体系与面试指南,从集合并发到框架与数据库全覆盖

完整电商后端项目,含鉴权、缓存、消息队列与部署,学结构与工程实践的最佳样本

多技术栈实现的同一后端规范,可对比不同框架的分层与接口设计

Spring Boot 源码与示例,理解自动配置与生态组件集成方式

🧪动手实践任务

🧪

实践 1

从零实现一个带鉴权的后端服务:注册登录、JWT 与刷新令牌、RBAC 权限校验、统一响应与全局异常处理、接口参数校验,并写接口测试

🧪

实践 2

为服务加上缓存与并发控制:对热点接口加 Redis 缓存并实现缓存一致性方案,对库存扣减实现乐观锁或分布式锁,压测验证无超卖

🧪

实践 3

完成一次接口性能优化:用 JMeter 或 wrk 压测找出瓶颈,解决 N 加 1 查询与缺失索引问题,记录优化前后 QPS 与 P99 响应时间

🧪

实践 4

容器化并部署上线:写 Dockerfile 与 docker-compose,配置 Nginx 反向代理与 HTTPS,接 GitHub Actions 自动跑测试与构建镜像,最终提供一个可访问的演示地址

🧾考试与面试

💼 面试会怎么考

高频:接口如何设计(RESTful 规范、幂等、错误码、版本控制);Session 与 JWT 的区别与选择、JWT 如何登出与续期;如何防止重复下单与接口重复提交(幂等设计);事务的隔离级别与并发更新处理(乐观锁与悲观锁);缓存与数据库如何保证一致性、缓存穿透与击穿与雪崩的处理;Redis 分布式锁的实现与常见坑(过期时间、误删、续期);消息队列如何保证消息不丢不重;限流算法与实现;线程池参数如何配置;一次接口慢的排查思路(日志与链路追踪与数据库与缓存与线程池);如何做接口压测与容量评估;线上出现 CPU 飙高或内存泄漏你会怎么定位。

📝 期末与考研怎么过

考核以项目与实验为主:提交可运行的后端服务与文档(接口文档、部署说明、测试报告),答辩演示鉴权、缓存与异步与部署效果。若为笔试,题型是接口设计、数据库设计与 SQL、缓存与并发场景分析、部署与排障流程。备考方式是把项目文档写规范、把常见场景(幂等、缓存一致性、限流)准备成可讲方案。目标八十五分以上,项目完整度决定得分。

⚠️ 常见坑

  • 接口设计随便,用 GET 做写操作、状态码一律 200、错误信息直接抛异常堆栈
  • 把业务逻辑写在 Controller 里,缺少 Service 与 DAO 分层,代码难以测试与复用
  • 不做参数校验与权限校验,接口暴露越权与注入风险
  • 缓存设计只加不删,数据不一致且无法排查;应明确更新策略与失效时间
  • 本地跑通就当作完成,不容器化不部署不写文档,简历项目无法演示也无法复现
→ 查看 大三上学期 的完整学期安排