🏆 阶段 6 · 测试 / 优化 / 面试
Day 60
总结与下一步
完成课程不等于把所有知识点背下来。更可靠的收尾方式,是把“我学过什么”整理成“我能做什么、证据在哪、接下来补什么”。
今日目标
- 画出从请求到部署的个人知识地图
- 整理能展示、能复现的项目证据
- 选一个与目标岗位相关的进阶方向
- 制定四周内可以完成并验收的下一步计划
1. 用一张图串起全栈链路
从一次用户操作开始,把请求经过的层次和你负责的边界画出来:
用户 / 浏览器 → HTTP 与输入校验 → Node.js / NestJS / Next.js 服务 → 身份认证与资源授权 → PostgreSQL / Redis / 队列 → 日志、测试、构建与部署
这是一张检查清单,不是规定架构。项目没有用到的组件不要为了完整感硬加。可以在每个节点旁写:
- 我能解释什么;
- 我亲自实现或操作过什么;
- 哪个文件、命令或记录能证明;
- 还不确定什么。
遇到讲不清的箭头,就是下一轮复习的入口。
2. 整理自己的证据,而不是课程目录
把完成过的工作放进一张表。课程中的功能不自动等于你的经历:
| 能力 | 我做过的事 | 可复查证据 | 证据边界 |
|---|---|---|---|
| API / 服务端 | 路由、校验或错误处理 | 代码、请求示例 | 本地运行 / 已部署 |
| 数据库 | schema、事务、查询 | migration、SQL、执行计划 | 数据规模与环境 |
| 安全 | 身份和权限规则 | Guard、中间件、用例 | 覆盖的角色与路径 |
| 异步工作 | worker、重试或幂等 | 队列代码、运行日志 | 是否测过失败恢复 |
| 交付 | 镜像、迁移、CI | workflow、构建记录 | 是否实际部署 |
| 性能 | 基线和单项优化 | 原始记录、Profile | 机器、数据和并发 |
测试通过、Mock 验证、本地实跑和生产观测证明的事情不同;保留这个区别,项目介绍会更可信。
3. 选择一条进阶路线
不必同时学习所有热门技术。先看目标岗位或项目中的真实缺口,再选一个小切口:
| 方向 | 适合继续追问的问题 | 一个可验收的小项目 |
|---|---|---|
| Node.js 服务端 | 如何控制并发、超时、取消和资源释放? | 给现有 API 加超时、请求取消和结构化日志 |
| 数据与 PostgreSQL | 慢查询从哪里来?schema 变更如何安全发布? | 为一个高频查询建立数据集、计划记录和迁移说明 |
| 分布式与消息系统 | 重试、重复投递、顺序和幂等如何处理? | 做一个可重放的队列消费者并验证重复消息 |
| 平台与云原生 | 配置、健康检查、扩缩容和回滚怎样协作? | 将当前应用部署到一个环境,写出故障与回滚步骤 |
| API 形态 | 什么时候需要 GraphQL 或 gRPC? | 选一个明确的多端查询或服务间调用场景做小型对照 |
微服务、Serverless、GraphQL 和 gRPC 都是手段。先写清楚当前方案解决不了的具体问题,再决定是否值得引入新边界或新协议。
4. 制定四周计划
每周只设一个能展示结果的目标:
| 周次 | 目标 | 验收证据 |
|---|---|---|
| 第 1 周 | 补齐一个知识缺口 | 一页解释或可运行的小例子 |
| 第 2 周 | 改善项目中的一个具体问题 | 变更前后记录、测试或复现步骤 |
| 第 3 周 | 完成一次部署或故障演练 | 日志、操作步骤、回滚记录 |
| 第 4 周 | 整理项目说明并进行模拟面试 | README、简历草稿、问题复盘 |
把表格里的目标替换成自己的安排。若工作和生活无法支持每周投入,就缩小每周交付物,不要保留一个连续延期的大计划。
结业自检
- 能从用户请求讲到数据库与部署,解释主要责任边界
- 能展示至少一个自己实际运行过的项目路径
- 能指出关键技术决策、替代方案和失败边界
- 能区分教程示例、Mock、本地验证与生产证据
- 已选一项下一步工作,并写出可验收结果
如果其中某项还不能完成,就把它写进后续计划。结业不是“什么都会”,而是知道自己已建立哪些能力,以及下一步如何验证。
延伸阅读
本文内容来自 源仓库 day-60/README.md