这里是西二在线工作室后端方向(learn-backend)的考核指南,旨在为初学者提供一条循序渐进、语言无关的后端学习路线。
本考核不限定 Java、Go等具体语言。你可以选择一门适合长期维护后端服务的语言完成全部考核,但应在同一项目中保持主要技术栈稳定;更换语言前需说明原因和迁移范围。
本项目遵循 GPL-3.0 License,转载请注明本项目仓库地址。
考核共五轮。第一轮完成语言基础训练和独立命令行小项目;第二轮通过 TodoList 和用户域建立 Web 后端基础;第三轮起在用户域之上持续开发电商业务,最终形成一套可运行、可测试、可说明设计取舍的后端系统。
具体任务、提交规则和答辩要求见 考核文档导航。
| 阶段 | 学习内容 | 主要交付 | 预期时长 | 是否需要答辩 |
|---|---|---|---|---|
| 第一轮:语言基础与赛事数据处理 | 基础语法、数据结构、异常处理、文件读写、测试、依赖管理 | 跳水赛事数据检索与统计命令行程序 | 4 周 | × |
| 第二轮:Web 基础与用户域 | TodoList、分层、MySQL、数据访问、用户注册登录、Cookie、Session 与 Token | 可运行、可测试的用户服务与独立 Todo 模块 | 4 周 | √ |
| 第三轮:电商业务与交易闭环 | 商品、SKU、购物车、活动、选价、订单、支付、库存、仓库与履约 | 可验证成功与失败路径的交易闭环 | 5 周 | √ |
| 第四轮:模块化与异步协作 | 业务边界、有限服务拆分、缓存、消息队列、幂等、重试与可观测性 | 可靠的异步链路与故障验证 | 5 周 | √ |
| 第五轮:工程优化与业务拓展 | 压测、SQL 优化、可靠性验证、业务扩展与 Agent 等探索方向 | 数据支撑的优化报告与完整项目答辩 | 4 周 | √ |
预期时长以零基础、每周能稳定投入 10~15 小时为参考。已有其他语言经验并不等于可以跳过交付物;可在完成当轮验收标准后提前进入下一轮。
作业提交仓库地址由当届负责人统一发布,不再沿用只面向 Java 的提交仓库。
每轮在独立目录或独立版本标签中提交,建议使用以下命名:
learn-backend-<github-id>/
├─round-1-diving-data/
└─ecommerce/
第二轮建立的用户域应在第三轮至第五轮继续使用;TodoList 保持独立模块,后续可以移除。各轮为关键阶段创建可追溯的 Git 标签或 Release。每次提交至少包含源代码、README、运行配置示例、数据库变更、测试和必要的设计图。禁止提交真实密钥、访问令牌、生产数据和无法公开的个人信息。
| 时间 | 完成内容 |
|---|---|
| 第一学期前半段 | 第一轮:语言基础与赛事数据统计 |
| 第一学期后半段 | 第二轮:Web 基础与用户域;第三轮:电商交易闭环 |
| 寒假 | 第四轮:模块化、有限服务拆分与异步协作 |
| 第二学期 | 第五轮:性能与可靠性优化、业务拓展、完整项目答辩 |
| 暑假 | 根据实际安排参与合作项目、开源贡献或继续完善 learn-backend |
具体日期以当届纳新安排为准。前一轮的核心验收项未完成时,不应通过增加下一轮技术栈掩盖已有问题。
| 名称 | 解释 |
|---|---|
| 参考资料 | 提供入门材料和官方文档入口,不代表唯一技术方案 |
| 知识点 | 本轮需要理解并能在代码或答辩中说明的内容 |
| 背景 | 用于解释业务场景、角色和问题边界 |
| 任务 | 必须交付的功能和工程内容 |
| 验收标准 | 判断本轮是否完成的可验证条件 |
| Bonus | 完成必做内容后再选择的深入功能或特性,不用于替代必做项 |
| 提示 | 对学习方法、常见错误和技术选择的补充说明 |
考核关注优先级依次为:正确性与安全性、可运行与可测试、业务建模、工程质量、性能与拓展。使用更新或更复杂的框架不会自动获得更高评价。
答辩重点检查:代码是否本人理解、关键设计为何这样选择、异常路径如何处理、测试如何证明结果,以及当前方案有哪些限制。允许使用 AI 辅助学习和开发,但必须标注主要使用场景,并能独立解释、修改和调试提交内容。
我们的目标是帮助初学者建立一套完整的后端知识体系。完成全部考核后,你应当能够:
- 使用至少一门语言独立开发和维护后端服务;
- 把用户、商品、交易、支付、库存和履约等业务需求转化为数据模型与接口;
- 使用数据库、缓存、消息队列和外部 API,并理解它们解决的问题和引入的成本;
- 为核心逻辑编写测试,定位常见故障,并依据数据完成一次性能或可靠性优化;
- 阅读官方文档和现有代码,清楚表达设计取舍,与客户端及其他后端开发者协作。
快速完成考核不等于满足企业后端工程师的全部要求。操作系统、计算机网络、数据库原理、数据结构与算法、安全、部署运维和源码阅读仍需要长期学习。本指南提供的是一条项目驱动的学习路径,不是技术清单,也不承诺仅凭完成考核即可达到特定岗位要求。
如果你计划把后端开发作为长期学习或工作方向,应认真完成每轮必做内容,并根据所选语言继续深入其运行时、并发模型、框架原理和工程生态。
.
├─docs/ # 考核文档与参考资料
├─etc/ # 通用规范、答辩说明和补充资料
│ └─blog/ # 优质文章或学习笔记
├─img/ # 文档图片与架构图
├─LICENSE
└─README.md
各语言的示例、脚手架和依赖说明应放在对应考核文档中,不单独复制一套考核标准。所有语言共享相同的业务目标和验收标准。
本指南仅面向 learn-backend 后端方向,不再与 Android 方向绑定第一轮考核。不同语言在语法、生态和部署方式上存在差异,负责人可以补充语言相关提示,但不得降低通用的业务、测试和工程验收标准。
对第三方服务、云资源或付费 API 的使用必须提供免费、Mock 或本地替代方案,避免把付费能力和机器配置作为完成考核的前置条件。