P6 · 项目实战(贯穿 W6-30)

目标:完成 3 个可面试项目——由浅入深覆盖业务 / 中间件 / 高并发 验收:项目能跑通且能口述每条线的工作原理


一、项目组合(由易到难)

顺序 项目 覆盖技术 完成时间 重点产出
项目 1 仿商城(mall) RBAC、订单、支付、搜索 W6-16 业务能力
项目 2 仿点评/短链 缓存、MQ、分布式锁、ES W17-22 中间件
项目 3 仿 12306/秒杀 高并发、限流、降级、分布式事务 W23-30 架构能力

每个项目都要用 Git 管理,每天提交,最少 100 个 commit,README 完善。


二、项目 1 · 仿商城(mall)

技术栈

Spring Boot 3.x + Java 17 + MyBatis-Plus
+ MySQL 8 + Redis 7 + Elasticsearch 8
+ RabbitMQ / RocketMQ + Nginx + Docker

模块(9 大模块)

  1. 用户中心:注册、登录、JWT、RBAC 权限、第三方登录(Mock)
  2. 商品中心:SPU/SKU、分类、品牌、属性、库存
  3. 订单中心:下单流程、订单状态机、超时取消
  4. 支付中心:支付宝沙箱(Mock)、退款
  5. 搜索中心:ES 全文检索、聚合、过滤
  6. 购物车:登录/未登录合并、Redis 存储
  7. 后台管理:CRUD、菜单权限、操作日志
  8. 文件服务:OSS(MinIO 替代)
  9. 公共服务:统一异常、分布式 ID、日志、Swagger

任务清单

验收


三、项目 2 · 仿点评(中间件综合)

技术栈

Spring Boot 3.x + Spring Cloud Alibaba + Nacos
+ Sentinel + Gateway + Seata + OpenFeign
+ Redis Cluster + RocketMQ + Elasticsearch
+ Docker Compose 一键启动

模块

  1. 用户服务:手机号登录、JWT、Token 刷新
  2. 店铺服务:分类、商户信息、商户评分
  3. 探店笔记:发布、点赞、关注、Feed 流(推模式)
  4. 优惠券服务:秒杀券、限领、过期(用 MQ 异步发券)
  5. 订单服务:下单 + 优惠券核销 + 库存扣减(Seata AT)
  6. 地理服务:GEO 查询附近店铺(Redis GEO)
  7. 搜索服务:ES 全文 + 聚合 + 筛选
  8. 网关层:路由 + 鉴权 + 限流 + 日志

任务清单

验收


四、项目 3 · 仿 12306 抢票系统(高并发)

技术栈

Spring Boot 3.x + Redis Cluster + Sentinel + Seata
+ RocketMQ + ShardingSphere-JDBC + Nacos
+ Nginx + Lua + Canal + XXL-JOB
+ Prometheus + Grafana + 链路追踪

核心难点与方案

难题 方案
超大流量冲击 多级缓存 + Nginx 限流 + Sentinel + 流量染色
抢票超卖 Redis Lua 原子扣减 + 异步落库 + 库存分桶
车票不超卖 Redis DECR + 乐观锁兜底 + 分布式锁
订单三方支付 异步支付 + 30 分钟未付 MQ 关闭订单
余票实时刷新 WebSocket + SSE + Redis Pub/Sub
复杂查询(车站余票) Elasticsearch 聚合 + MySQL + Redis 多级
数据库压力 ShardingSphere-JDBC 水平分库分表
对账与一致性 定时任务 + 增量对账 + 分布式事务

模块

  1. 车次服务:路线、车次、座位、票价
  2. 座位服务:座位库存、车票生成
  3. 订单服务:下单、支付、状态机
  4. 支付服务:沙箱、回调、对账
  5. 用户服务:实名认证、乘客管理
  6. 网关层:Nginx + Sentinel + 限流配置中心化
  7. 监控告警:Prometheus + Grafana + AlertManager

任务清单

验收


五、项目包装与简历产出

每个项目完成后做以下动作:

1. 项目 README(必备)

2. 项目复盘(每个 3 条 STAR)

S(Situation):背景与目标
T(Task):你的任务与挑战
A(Action):你怎么做的(重点)
R(Result):量化结果(如:QPS 从 500 提升到 5000)

3. 技术博客(选 5 篇沉淀)

4. 简历项目描述模板

项目名称:xxx 系统
项目周期:2025.x ~ 2025.x(X 个月)
技术栈:Spring Boot / Spring Cloud / MySQL / Redis / MQ
个人职责:
1. 负责 xxx 模块设计开发
2. 解决 xxx 问题(量化成果)
3. 主推 xxx 优化(量化成果)

六、项目阶段任务总览

项目 周期 验收标志
mall 商城 W6-16 跑通主流程 + 5 篇博客
中间件综合 W17-22 微服务全链路 + 压测数据
12306 抢票 W23-30 1 万 QPS + 完整设计文档

项目经验是面试议价能力的核心——务必边学边做,不可只看不写。