Files
zhuangang/catalog.json
T

1677 lines
39 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"schema_version": 1,
"generated_by": "tools/build_catalog.py",
"stacks": [
{
"stack": "agent-ops",
"domain": "ai",
"title": "Agent 记忆、评测与可观测性",
"index": "topics/ai/agent-ops/index.md",
"lessons": 0,
"scenarios": 0,
"interview_questions": {
"基础": 0,
"进阶": 0,
"场景题": 0
},
"examples": []
},
{
"stack": "function-calling",
"domain": "ai",
"title": "Function Calling 工具调用",
"index": "topics/ai/function-calling/index.md",
"lessons": 0,
"scenarios": 0,
"interview_questions": {
"基础": 0,
"进阶": 0,
"场景题": 0
},
"examples": []
},
{
"stack": "langchain",
"domain": "ai",
"title": "LangChain",
"index": "topics/ai/langchain/index.md",
"lessons": 0,
"scenarios": 0,
"interview_questions": {
"基础": 0,
"进阶": 0,
"场景题": 0
},
"examples": []
},
{
"stack": "langgraph",
"domain": "ai",
"title": "LangGraph",
"index": "topics/ai/langgraph/index.md",
"lessons": 0,
"scenarios": 0,
"interview_questions": {
"基础": 0,
"进阶": 0,
"场景题": 0
},
"examples": []
},
{
"stack": "lowcode",
"domain": "ai",
"title": "Dify / Coze 低代码平台",
"index": "topics/ai/lowcode/index.md",
"lessons": 0,
"scenarios": 0,
"interview_questions": {
"基础": 0,
"进阶": 0,
"场景题": 0
},
"examples": []
},
{
"stack": "mcp",
"domain": "ai",
"title": "MCP 模型上下文协议",
"index": "topics/ai/mcp/index.md",
"lessons": 0,
"scenarios": 0,
"interview_questions": {
"基础": 0,
"进阶": 0,
"场景题": 0
},
"examples": []
},
{
"stack": "prompt-engineering",
"domain": "ai",
"title": "提示词与上下文工程",
"index": "topics/ai/prompt-engineering/index.md",
"lessons": 0,
"scenarios": 0,
"interview_questions": {
"基础": 0,
"进阶": 0,
"场景题": 0
},
"examples": []
},
{
"stack": "rag",
"domain": "ai",
"title": "RAG 检索增强生成",
"index": "topics/ai/rag/index.md",
"lessons": 0,
"scenarios": 0,
"interview_questions": {
"基础": 0,
"进阶": 0,
"场景题": 0
},
"examples": []
},
{
"stack": "vector-db",
"domain": "ai",
"title": "向量数据库",
"index": "topics/ai/vector-db/index.md",
"lessons": 0,
"scenarios": 0,
"interview_questions": {
"基础": 0,
"进阶": 0,
"场景题": 0
},
"examples": []
},
{
"stack": "gin",
"domain": "backend",
"title": "Gin Web 框架",
"index": "topics/backend/gin/index.md",
"lessons": 0,
"scenarios": 0,
"interview_questions": {
"基础": 0,
"进阶": 0,
"场景题": 0
},
"examples": []
},
{
"stack": "go",
"domain": "backend",
"title": "Go 语言",
"index": "topics/backend/go/index.md",
"lessons": 0,
"scenarios": 0,
"interview_questions": {
"基础": 0,
"进阶": 0,
"场景题": 0
},
"examples": []
},
{
"stack": "grpc-microservices",
"domain": "backend",
"title": "gRPC 与微服务",
"index": "topics/backend/grpc-microservices/index.md",
"lessons": 0,
"scenarios": 0,
"interview_questions": {
"基础": 0,
"进阶": 0,
"场景题": 0
},
"examples": []
},
{
"stack": "mq",
"domain": "backend",
"title": "消息队列(RabbitMQ / Kafka)",
"index": "topics/backend/mq/index.md",
"lessons": 0,
"scenarios": 0,
"interview_questions": {
"基础": 0,
"进阶": 0,
"场景题": 0
},
"examples": []
},
{
"stack": "mysql",
"domain": "backend",
"title": "MySQL",
"index": "topics/backend/mysql/index.md",
"lessons": 0,
"scenarios": 0,
"interview_questions": {
"基础": 0,
"进阶": 0,
"场景题": 0
},
"examples": []
},
{
"stack": "postgresql",
"domain": "backend",
"title": "PostgreSQL",
"index": "topics/backend/postgresql/index.md",
"lessons": 0,
"scenarios": 0,
"interview_questions": {
"基础": 0,
"进阶": 0,
"场景题": 0
},
"examples": []
},
{
"stack": "redis",
"domain": "backend",
"title": "Redis",
"index": "topics/backend/redis/index.md",
"lessons": 0,
"scenarios": 0,
"interview_questions": {
"基础": 0,
"进阶": 0,
"场景题": 0
},
"examples": []
},
{
"stack": "cicd",
"domain": "devops",
"title": "CI/CD",
"index": "topics/devops/cicd/index.md",
"lessons": 0,
"scenarios": 0,
"interview_questions": {
"基础": 0,
"进阶": 0,
"场景题": 0
},
"examples": []
},
{
"stack": "docker",
"domain": "devops",
"title": "Docker 与 Compose",
"index": "topics/devops/docker/index.md",
"lessons": 0,
"scenarios": 0,
"interview_questions": {
"基础": 0,
"进阶": 0,
"场景题": 0
},
"examples": []
},
{
"stack": "git",
"domain": "devops",
"title": "Git",
"index": "topics/devops/git/index.md",
"lessons": 0,
"scenarios": 0,
"interview_questions": {
"基础": 0,
"进阶": 0,
"场景题": 0
},
"examples": []
},
{
"stack": "linux",
"domain": "devops",
"title": "Linux 运维基础",
"index": "topics/devops/linux/index.md",
"lessons": 0,
"scenarios": 0,
"interview_questions": {
"基础": 0,
"进阶": 0,
"场景题": 0
},
"examples": []
},
{
"stack": "nginx",
"domain": "devops",
"title": "Nginx",
"index": "topics/devops/nginx/index.md",
"lessons": 0,
"scenarios": 0,
"interview_questions": {
"基础": 0,
"进阶": 0,
"场景题": 0
},
"examples": []
},
{
"stack": "fe-testing-perf",
"domain": "frontend",
"title": "前端测试与性能",
"index": "topics/frontend/fe-testing-perf/index.md",
"lessons": 0,
"scenarios": 0,
"interview_questions": {
"基础": 0,
"进阶": 0,
"场景题": 0
},
"examples": []
},
{
"stack": "react",
"domain": "frontend",
"title": "React",
"index": "topics/frontend/react/index.md",
"lessons": 0,
"scenarios": 0,
"interview_questions": {
"基础": 0,
"进阶": 0,
"场景题": 0
},
"examples": []
},
{
"stack": "ssr",
"domain": "frontend",
"title": "SSR(Nuxt / Next.js)",
"index": "topics/frontend/ssr/index.md",
"lessons": 0,
"scenarios": 0,
"interview_questions": {
"基础": 0,
"进阶": 0,
"场景题": 0
},
"examples": []
},
{
"stack": "typescript",
"domain": "frontend",
"title": "TypeScript",
"index": "topics/frontend/typescript/index.md",
"lessons": 0,
"scenarios": 0,
"interview_questions": {
"基础": 0,
"进阶": 0,
"场景题": 0
},
"examples": []
},
{
"stack": "vite",
"domain": "frontend",
"title": "Vite",
"index": "topics/frontend/vite/index.md",
"lessons": 0,
"scenarios": 0,
"interview_questions": {
"基础": 0,
"进阶": 0,
"场景题": 0
},
"examples": []
},
{
"stack": "vue",
"domain": "frontend",
"title": "Vue 3 + Pinia + Router",
"index": "topics/frontend/vue/index.md",
"lessons": 0,
"scenarios": 0,
"interview_questions": {
"基础": 0,
"进阶": 0,
"场景题": 0
},
"examples": []
},
{
"stack": "webpack",
"domain": "frontend",
"title": "Webpack",
"index": "topics/frontend/webpack/index.md",
"lessons": 0,
"scenarios": 0,
"interview_questions": {
"基础": 0,
"进阶": 0,
"场景题": 0
},
"examples": []
},
{
"stack": "asyncio",
"domain": "python",
"title": "asyncio 异步编程",
"index": "topics/python/asyncio/index.md",
"lessons": 0,
"scenarios": 0,
"interview_questions": {
"基础": 0,
"进阶": 0,
"场景题": 0
},
"examples": []
},
{
"stack": "fastapi",
"domain": "python",
"title": "FastAPI",
"index": "topics/python/fastapi/index.md",
"lessons": 0,
"scenarios": 0,
"interview_questions": {
"基础": 0,
"进阶": 0,
"场景题": 0
},
"examples": []
},
{
"stack": "python",
"domain": "python",
"title": "Python 语言",
"index": "topics/python/python/index.md",
"lessons": 0,
"scenarios": 0,
"interview_questions": {
"基础": 0,
"进阶": 0,
"场景题": 0
},
"examples": []
}
],
"items": [
{
"id": "ai.agent-ops.index",
"title": "Agent 记忆、评测与可观测性",
"type": "index",
"domain": "ai",
"stack": [
"agent-ops"
],
"tags": [],
"level": null,
"prerequisites": [],
"related": [],
"est_hours": null,
"week": [
12,
13
],
"order": null,
"path": "topics/ai/agent-ops/index.md",
"sections": []
},
{
"id": "ai.function-calling.index",
"title": "Function Calling 工具调用",
"type": "index",
"domain": "ai",
"stack": [
"function-calling"
],
"tags": [],
"level": null,
"prerequisites": [],
"related": [],
"est_hours": null,
"week": [
10
],
"order": null,
"path": "topics/ai/function-calling/index.md",
"sections": []
},
{
"id": "ai.langchain.index",
"title": "LangChain",
"type": "index",
"domain": "ai",
"stack": [
"langchain"
],
"tags": [],
"level": null,
"prerequisites": [],
"related": [],
"est_hours": null,
"week": [
6,
11
],
"order": null,
"path": "topics/ai/langchain/index.md",
"sections": []
},
{
"id": "ai.langgraph.index",
"title": "LangGraph",
"type": "index",
"domain": "ai",
"stack": [
"langgraph"
],
"tags": [],
"level": null,
"prerequisites": [],
"related": [],
"est_hours": null,
"week": [
11,
12
],
"order": null,
"path": "topics/ai/langgraph/index.md",
"sections": []
},
{
"id": "ai.lowcode.index",
"title": "Dify / Coze 低代码平台",
"type": "index",
"domain": "ai",
"stack": [
"lowcode"
],
"tags": [],
"level": null,
"prerequisites": [],
"related": [],
"est_hours": null,
"week": [
13
],
"order": null,
"path": "topics/ai/lowcode/index.md",
"sections": []
},
{
"id": "ai.mcp.index",
"title": "MCP 模型上下文协议",
"type": "index",
"domain": "ai",
"stack": [
"mcp"
],
"tags": [],
"level": null,
"prerequisites": [],
"related": [],
"est_hours": null,
"week": [
10,
11
],
"order": null,
"path": "topics/ai/mcp/index.md",
"sections": []
},
{
"id": "ai.prompt-engineering.index",
"title": "提示词与上下文工程",
"type": "index",
"domain": "ai",
"stack": [
"prompt-engineering"
],
"tags": [],
"level": null,
"prerequisites": [],
"related": [],
"est_hours": null,
"week": [
5,
11,
13
],
"order": null,
"path": "topics/ai/prompt-engineering/index.md",
"sections": []
},
{
"id": "ai.rag.index",
"title": "RAG 检索增强生成",
"type": "index",
"domain": "ai",
"stack": [
"rag"
],
"tags": [],
"level": null,
"prerequisites": [],
"related": [],
"est_hours": null,
"week": [
5,
6
],
"order": null,
"path": "topics/ai/rag/index.md",
"sections": []
},
{
"id": "ai.vector-db.index",
"title": "向量数据库",
"type": "index",
"domain": "ai",
"stack": [
"vector-db"
],
"tags": [],
"level": null,
"prerequisites": [],
"related": [],
"est_hours": null,
"week": [
5,
6
],
"order": null,
"path": "topics/ai/vector-db/index.md",
"sections": []
},
{
"id": "backend.gin.index",
"title": "Gin Web 框架",
"type": "index",
"domain": "backend",
"stack": [
"gin"
],
"tags": [],
"level": null,
"prerequisites": [],
"related": [],
"est_hours": null,
"week": [
1,
2,
3
],
"order": null,
"path": "topics/backend/gin/index.md",
"sections": []
},
{
"id": "backend.go.index",
"title": "Go 语言",
"type": "index",
"domain": "backend",
"stack": [
"go"
],
"tags": [],
"level": null,
"prerequisites": [],
"related": [],
"est_hours": null,
"week": [
1,
2,
3,
14
],
"order": null,
"path": "topics/backend/go/index.md",
"sections": []
},
{
"id": "backend.grpc-microservices.index",
"title": "gRPC 与微服务",
"type": "index",
"domain": "backend",
"stack": [
"grpc-microservices"
],
"tags": [],
"level": null,
"prerequisites": [],
"related": [],
"est_hours": null,
"week": [
14
],
"order": null,
"path": "topics/backend/grpc-microservices/index.md",
"sections": []
},
{
"id": "backend.mq.index",
"title": "消息队列(RabbitMQ / Kafka)",
"type": "index",
"domain": "backend",
"stack": [
"mq"
],
"tags": [],
"level": null,
"prerequisites": [],
"related": [],
"est_hours": null,
"week": [
3,
14
],
"order": null,
"path": "topics/backend/mq/index.md",
"sections": []
},
{
"id": "backend.mysql.index",
"title": "MySQL",
"type": "index",
"domain": "backend",
"stack": [
"mysql"
],
"tags": [],
"level": null,
"prerequisites": [],
"related": [],
"est_hours": null,
"week": [
2,
14
],
"order": null,
"path": "topics/backend/mysql/index.md",
"sections": []
},
{
"id": "backend.postgresql.index",
"title": "PostgreSQL",
"type": "index",
"domain": "backend",
"stack": [
"postgresql"
],
"tags": [],
"level": null,
"prerequisites": [],
"related": [],
"est_hours": null,
"week": [
2,
3,
6
],
"order": null,
"path": "topics/backend/postgresql/index.md",
"sections": []
},
{
"id": "backend.redis.index",
"title": "Redis",
"type": "index",
"domain": "backend",
"stack": [
"redis"
],
"tags": [],
"level": null,
"prerequisites": [],
"related": [],
"est_hours": null,
"week": [
3,
6,
14
],
"order": null,
"path": "topics/backend/redis/index.md",
"sections": []
},
{
"id": "devops.cicd.index",
"title": "CI/CD",
"type": "index",
"domain": "devops",
"stack": [
"cicd"
],
"tags": [],
"level": null,
"prerequisites": [],
"related": [],
"est_hours": null,
"week": [
3,
7,
14
],
"order": null,
"path": "topics/devops/cicd/index.md",
"sections": []
},
{
"id": "devops.docker.index",
"title": "Docker 与 Compose",
"type": "index",
"domain": "devops",
"stack": [
"docker"
],
"tags": [],
"level": null,
"prerequisites": [],
"related": [],
"est_hours": null,
"week": [
3,
6,
13,
14
],
"order": null,
"path": "topics/devops/docker/index.md",
"sections": []
},
{
"id": "devops.git.index",
"title": "Git",
"type": "index",
"domain": "devops",
"stack": [
"git"
],
"tags": [],
"level": null,
"prerequisites": [],
"related": [],
"est_hours": null,
"week": [
1,
8,
15
],
"order": null,
"path": "topics/devops/git/index.md",
"sections": []
},
{
"id": "devops.linux.index",
"title": "Linux 运维基础",
"type": "index",
"domain": "devops",
"stack": [
"linux"
],
"tags": [],
"level": null,
"prerequisites": [],
"related": [],
"est_hours": null,
"week": [
14
],
"order": null,
"path": "topics/devops/linux/index.md",
"sections": []
},
{
"id": "devops.nginx.index",
"title": "Nginx",
"type": "index",
"domain": "devops",
"stack": [
"nginx"
],
"tags": [],
"level": null,
"prerequisites": [],
"related": [],
"est_hours": null,
"week": [
3,
7,
14
],
"order": null,
"path": "topics/devops/nginx/index.md",
"sections": []
},
{
"id": "frontend.fe-testing-perf.index",
"title": "前端测试与性能",
"type": "index",
"domain": "frontend",
"stack": [
"fe-testing-perf"
],
"tags": [],
"level": null,
"prerequisites": [],
"related": [],
"est_hours": null,
"week": [
7
],
"order": null,
"path": "topics/frontend/fe-testing-perf/index.md",
"sections": []
},
{
"id": "frontend.react.index",
"title": "React",
"type": "index",
"domain": "frontend",
"stack": [
"react"
],
"tags": [],
"level": null,
"prerequisites": [],
"related": [],
"est_hours": null,
"week": [
7
],
"order": null,
"path": "topics/frontend/react/index.md",
"sections": []
},
{
"id": "frontend.ssr.index",
"title": "SSR(Nuxt / Next.js)",
"type": "index",
"domain": "frontend",
"stack": [
"ssr"
],
"tags": [],
"level": null,
"prerequisites": [],
"related": [],
"est_hours": null,
"week": [
7
],
"order": null,
"path": "topics/frontend/ssr/index.md",
"sections": []
},
{
"id": "frontend.typescript.index",
"title": "TypeScript",
"type": "index",
"domain": "frontend",
"stack": [
"typescript"
],
"tags": [],
"level": null,
"prerequisites": [],
"related": [],
"est_hours": null,
"week": [
7
],
"order": null,
"path": "topics/frontend/typescript/index.md",
"sections": []
},
{
"id": "frontend.vite.index",
"title": "Vite",
"type": "index",
"domain": "frontend",
"stack": [
"vite"
],
"tags": [],
"level": null,
"prerequisites": [],
"related": [],
"est_hours": null,
"week": [
7
],
"order": null,
"path": "topics/frontend/vite/index.md",
"sections": []
},
{
"id": "frontend.vue.index",
"title": "Vue 3 + Pinia + Router",
"type": "index",
"domain": "frontend",
"stack": [
"vue"
],
"tags": [],
"level": null,
"prerequisites": [],
"related": [],
"est_hours": null,
"week": [
7
],
"order": null,
"path": "topics/frontend/vue/index.md",
"sections": []
},
{
"id": "frontend.webpack.index",
"title": "Webpack",
"type": "index",
"domain": "frontend",
"stack": [
"webpack"
],
"tags": [],
"level": null,
"prerequisites": [],
"related": [],
"est_hours": null,
"week": [
7
],
"order": null,
"path": "topics/frontend/webpack/index.md",
"sections": []
},
{
"id": "plan.index",
"title": "转岗计划总纲",
"type": "index",
"domain": "plan",
"stack": [],
"tags": [],
"level": null,
"prerequisites": [],
"related": [],
"est_hours": null,
"week": [],
"order": null,
"path": "plan/README.md",
"sections": [
"1. 背景、起点和目标",
"2. 技术栈(已确定)",
"3. 十六周总路线",
"4. 岗位要求对照",
"5. 学习原则和每周文件的写法",
"6. 时间不够怎么砍",
"7. 阶段 0~4 和五个学习重点",
"8. 案例卡模板(直接复制)",
"9. 每周节奏和戒律",
"10. 脱敏和保密",
"11. 简历和投递建议",
"12. 仓库结构、文件清单和换设备",
"13. 进度记录",
"14. 终点验收清单(全部勾选才算完结)"
]
},
{
"id": "plan.week01",
"title": "第 1 周:Go 基础 + Gin 写 REST 接口",
"type": "week",
"domain": "plan",
"stack": [
"go",
"gin",
"git"
],
"tags": [],
"level": null,
"prerequisites": [],
"related": [],
"est_hours": 12,
"week": [
1
],
"order": 1,
"path": "plan/week01-go-gin.md",
"sections": [
"本周最终目录",
"第 1 天:环境、变量、函数和错误返回",
"第 2 天:切片、map、结构体、方法、接口",
"第 3 天:错误包装、并发、单元测试",
"第 4 天:从 net/http 到 Gin",
"第 5 天:分层:model / store / handler",
"第 6 天:中间件和接口测试",
"第 7 天:配置、优雅关机、接前端",
"本周自查清单"
]
},
{
"id": "plan.week02",
"title": "第 2 周:数据库(PostgreSQL 为主,兼顾 MySQL)+ 注册登录与 JWT",
"type": "week",
"domain": "plan",
"stack": [
"go",
"gin",
"postgresql",
"mysql"
],
"tags": [],
"level": null,
"prerequisites": [],
"related": [],
"est_hours": 12,
"week": [
2
],
"order": 2,
"path": "plan/week02-db-auth.md",
"sections": [
"本周最终目录(在上周 `todo-api/backend` 基础上新增)",
"第 1 天:用 Docker 跑 PostgreSQL,写基础 SQL 和表设计",
"第 2 天:多表查询、索引、EXPLAIN",
"第 3 天:迁移和 Go 访问数据库(pgx)",
"第 4 天:事务、隔离级别、幂等写入",
"第 5 天:密码哈希和 JWT",
"第 6 天:注册、登录、鉴权中间件",
"第 7 天:配置切换、接口测试、集成测试、收尾",
"本周自查清单"
]
},
{
"id": "plan.week03",
"title": "第 3 周:项目一“团队任务看板”:权限 + Redis + 消息队列 + Docker 部署",
"type": "week",
"domain": "plan",
"stack": [
"go",
"gin",
"postgresql",
"redis",
"mq",
"docker",
"nginx",
"cicd"
],
"tags": [],
"level": null,
"prerequisites": [],
"related": [],
"est_hours": 12,
"week": [
3
],
"order": 3,
"path": "plan/week03-project1.md",
"sections": [
"本周最终目录",
"第 1 天:看板建模和权限",
"第 2 天:看板和任务接口、拖动排序的事务",
"第 3 天:Redis 基础和缓存",
"第 4 天:限流和分布式锁",
"第 5 天:消息队列入门(Redis Streams),了解 RabbitMQ / Kafka",
"第 6 天:Docker、Compose、Nginx",
"第 7 天:部署到服务器 + CI + 收尾",
"本周自查清单"
]
},
{
"id": "plan.week04",
"title": "第 4 周:Python 速成(给 JS 开发者)+ FastAPI 基础",
"type": "week",
"domain": "plan",
"stack": [
"python",
"asyncio",
"fastapi"
],
"tags": [],
"level": null,
"prerequisites": [],
"related": [],
"est_hours": 12,
"week": [
4
],
"order": 4,
"path": "plan/week04-python.md",
"sections": [
"本周最终目录",
"第 1 天:包管理和基础语法",
"第 2 天:类型标注、dataclass、Protocol、pytest",
"第 3 天:异常、上下文管理器、文件和日志",
"第 4 天:asyncio(本周最重要)",
"第 5 天:pydantic 和配置",
"第 6 天:httpx 异步请求、重试、测试替身",
"第 7 天:FastAPI(Uvicorn、依赖注入、中间件、鉴权、生命周期、SSE)",
"本周自查清单"
]
},
{
"id": "plan.week05",
"title": "第 5 周:RAG 知识库问答(上)——手写主流程",
"type": "week",
"domain": "plan",
"stack": [
"asyncio",
"fastapi",
"rag",
"vector-db",
"prompt-engineering"
],
"tags": [],
"level": null,
"prerequisites": [],
"related": [],
"est_hours": 12,
"week": [
5
],
"order": 5,
"path": "plan/week05-rag-1.md",
"sections": [
"项目二总览",
"第 1 天:RAG 概念、项目初始化、模型客户端",
"第 2 天:加载和切分",
"第 3 天:向量库和幂等入库",
"第 4 天:检索、提示词、带引用的生成",
"第 5 天:FastAPI 接口和流式输出",
"第 6 天:命令行、接入真实模型、人工试验",
"第 7 天:整理、README、复盘",
"本周自查清单"
]
},
{
"id": "plan.week06",
"title": "第 6 周:RAG 知识库问答(下)——评测、混合检索、重排、记忆、缓存、LangChain、部署",
"type": "week",
"domain": "plan",
"stack": [
"postgresql",
"redis",
"docker",
"rag",
"vector-db",
"langchain"
],
"tags": [],
"level": null,
"prerequisites": [],
"related": [],
"est_hours": 12,
"week": [
6
],
"order": 6,
"path": "plan/week06-rag-2.md",
"sections": [
"第 1 天:评测集和指标",
"第 2 天:BM25 关键词检索 + RRF 混合检索",
"第 3 天:重排(Rerank)",
"第 4 天:多轮追问——问题改写 + 会话短期记忆(Redis)",
"第 5 天:缓存、配置组装、多轮对话接口",
"第 6 天:LangChain 对照实现 + Milvus / pgvector",
"第 7 天:Docker Compose 部署 + 复盘",
"本周自查清单"
]
},
{
"id": "plan.week07",
"title": "第 7 周:前端工程化查漏补缺 + 两个项目的界面",
"type": "week",
"domain": "plan",
"stack": [
"nginx",
"cicd",
"vue",
"react",
"typescript",
"vite",
"webpack",
"ssr",
"fe-testing-perf"
],
"tags": [],
"level": null,
"prerequisites": [],
"related": [],
"est_hours": 12,
"week": [
7
],
"order": 7,
"path": "plan/week07-frontend.md",
"sections": [
"本周最终目录",
"第 1 天:pnpm monorepo、TS 严格配置、ESLint + Prettier、共享请求封装",
"第 2 天:SSE 流式解析(fetch + ReadableStream)",
"第 3 天:Vue 3 应用——项目一的任务看板",
"第 4 天:React 应用——项目二的知识库问答界面",
"第 5 天:构建工具和性能优化",
"第 6 天:SSR 基础(Nuxt / Next.js)",
"第 7 天:前端 CI、构建产物部署、复盘",
"本周自查清单(对照招聘“熟悉 Vue / React”的延伸要求)"
]
},
{
"id": "plan.week08",
"title": "第 8 周:阶段 0 盘点 + 阶段 1 读通与画图",
"type": "week",
"domain": "plan",
"stack": [
"git"
],
"tags": [],
"level": null,
"prerequisites": [],
"related": [],
"est_hours": 12,
"week": [
8
],
"order": 8,
"path": "plan/week08-inventory-architecture.md",
"sections": [
"第 1 天:阶段 0——盘点",
"第 2 天:脱敏机制——提交前自动检查",
"第 3 天:阶段 1——怎么读一个大项目",
"第 4 天:画架构图,标出断点",
"第 5 天:接口职责表",
"第 6 天:把流程画成状态机,并用代码验证思路",
"第 7 天:阶段 1 验收 + 口述初稿",
"本周自查清单"
]
},
{
"id": "plan.week09",
"title": "第 9 周:阶段 2——五个重点 A~E 深挖 + 案例卡",
"type": "week",
"domain": "plan",
"stack": [],
"tags": [],
"level": null,
"prerequisites": [],
"related": [],
"est_hours": 12,
"week": [
9
],
"order": 9,
"path": "plan/week09-case-cards.md",
"sections": [
"第 1 天:A 多 Agent 编排",
"第 2 天:C 流式与长任务",
"第 3 天:B 状态与权威源",
"第 4 天:D 人机协作",
"第 5 天:E 与业务系统集成",
"第 6 天:补写和打磨案例卡",
"第 7 天:汇总设计输入",
"本周自查清单"
]
},
{
"id": "plan.week10",
"title": "第 10 周:项目三 M1——手写工具调用循环 + 手写多 Agent 循环 + MCP 服务",
"type": "week",
"domain": "plan",
"stack": [
"mcp",
"function-calling"
],
"tags": [],
"level": null,
"prerequisites": [],
"related": [],
"est_hours": 12,
"week": [
10
],
"order": 10,
"path": "plan/week10-agent-m1-tools-mcp.md",
"sections": [
"项目三总览",
"第 1 天:初始化 + 支持工具调用的最小模型客户端",
"第 2 天:手写工具调用循环",
"第 3 天:手写多 Agent 循环",
"第 4 天:MCP 概念 + 写一个 MCP 服务",
"第 5 天:在 Cursor 和自己的 Agent 里用 MCP",
"第 6 天:真实模型试跑 + 对照文档(上半)",
"第 7 天:M1 验收"
]
},
{
"id": "plan.week11",
"title": "第 11 周:项目三 M2——用 LangGraph 实现多 Agent 编排",
"type": "week",
"domain": "plan",
"stack": [
"langchain",
"langgraph",
"mcp",
"prompt-engineering"
],
"tags": [],
"level": null,
"prerequisites": [],
"related": [],
"est_hours": 12,
"week": [
11
],
"order": 11,
"path": "plan/week11-agent-m2-langgraph.md",
"sections": [
"第 1 天:LangGraph 基础",
"第 2 天:State、结构化决定、路由规则",
"第 3 天:模型、工具、提示词、节点",
"第 4 天:组装图 + 测试",
"第 5 天:MCP 工具接入 LangGraph + 命令行",
"第 6 天:真实模型试跑和调提示词",
"第 7 天:对照文档 + M2 验收"
]
},
{
"id": "plan.week12",
"title": "第 12 周:项目三 M3——检查点续跑、人机协作、后台作业、SSE、长期记忆",
"type": "week",
"domain": "plan",
"stack": [
"asyncio",
"fastapi",
"langgraph",
"agent-ops"
],
"tags": [],
"level": null,
"prerequisites": [],
"related": [],
"est_hours": 12,
"week": [
12
],
"order": 12,
"path": "plan/week12-agent-m3-persistence.md",
"sections": [
"核心设计:两层状态",
"第 1 天:检查点和续跑",
"第 2 天:长期记忆(Store)",
"第 3 天:业务表和租约",
"第 4 天:后台运行器(RunManager)和报告",
"第 5 天:FastAPI 接口和 SSE",
"第 6 天:页面 + 崩溃恢复演示",
"第 7 天:走查 + M3 验收"
]
},
{
"id": "plan.week13",
"title": "第 13 周:项目三 M4——评测集、可观测性、文档、Docker + Dify / Coze 体验",
"type": "week",
"domain": "plan",
"stack": [
"docker",
"prompt-engineering",
"agent-ops",
"lowcode"
],
"tags": [],
"level": null,
"prerequisites": [],
"related": [],
"est_hours": 12,
"week": [
13
],
"order": 13,
"path": "plan/week13-agent-m4-eval-lowcode.md",
"sections": [
"第 1 天:评测集和规则检查",
"第 2 天:评测脚本、回归测试、用评测驱动改进",
"第 3 天:可观测性(回调、LangSmith / Langfuse)",
"第 4 天:文档(架构、设计取舍、映射表)",
"第 5 天:README、Docker、从零验证、讲解稿",
"第 6~7 天:Dify / Coze 体验(低代码平台)"
]
},
{
"id": "plan.week14",
"title": "第 14 周:后端补强——消息队列、gRPC、Redis / MySQL 专题、全部项目部署、CI/CD",
"type": "week",
"domain": "plan",
"stack": [
"go",
"mysql",
"redis",
"mq",
"grpc-microservices",
"docker",
"nginx",
"linux",
"cicd"
],
"tags": [],
"level": null,
"prerequisites": [],
"related": [],
"est_hours": 12,
"week": [
14
],
"order": 14,
"path": "plan/week14-backend-extend-deploy.md",
"sections": [
"本周最终目录",
"第 1 天:消息队列——RabbitMQ 动手 + Kafka 概念",
"第 2 天:微服务概念 + gRPC",
"第 3 天:Redis 面试专题——锁、缓存三大问题、限流",
"第 4 天:MySQL 面试专题——索引、EXPLAIN、事务和隔离级别",
"第 5 天:把三个项目部署到一台服务器",
"第 6 天:CI/CD——测试、构建镜像、自动部署",
"第 7 天(可选):用 Go 写一个鉴权网关",
"本周验收"
]
},
{
"id": "plan.week15",
"title": "第 15 周:阶段 4(上)——作品集、简历、STAR 经历、口述稿",
"type": "week",
"domain": "plan",
"stack": [
"git"
],
"tags": [],
"level": null,
"prerequisites": [],
"related": [],
"est_hours": 12,
"week": [
15
],
"order": 15,
"path": "plan/week15-package-resume.md",
"sections": [
"本周最终目录",
"第 1 天:整理作品集(3 个公开仓库)",
"第 2 天:简历结构、学历和技能栏",
"第 3 天:项目经历怎么写",
"第 4 天:工作经历——3 条 STAR",
"第 5 天:针对岗位调整简历(关键词对照)",
"第 6 天:口述稿和演示视频",
"第 7 天:自查、请人审阅、阶段 4(上)验收"
]
},
{
"id": "plan.week16",
"title": "第 16 周:阶段 4(下)——面试准备、终点验收、投递",
"type": "week",
"domain": "plan",
"stack": [],
"tags": [],
"level": null,
"prerequisites": [],
"related": [],
"est_hours": 12,
"week": [
16
],
"order": 16,
"path": "plan/week16-interview.md",
"sections": [
"本周最终目录",
"第 1 天:面试笔记(上)——Python 和 FastAPI",
"第 2 天:面试笔记(中)——RAG 和 Agent",
"第 3 天:面试笔记(下)——后端、前端、Go",
"第 4 天:项目深挖和系统设计",
"第 5 天:模拟面试和抽题练习",
"第 6 天:终点验收",
"第 7 天:开始投递,建立复盘循环"
]
},
{
"id": "python.asyncio.index",
"title": "asyncio 异步编程",
"type": "index",
"domain": "python",
"stack": [
"asyncio"
],
"tags": [],
"level": null,
"prerequisites": [],
"related": [],
"est_hours": null,
"week": [
4,
5,
12
],
"order": null,
"path": "topics/python/asyncio/index.md",
"sections": []
},
{
"id": "python.fastapi.index",
"title": "FastAPI",
"type": "index",
"domain": "python",
"stack": [
"fastapi"
],
"tags": [],
"level": null,
"prerequisites": [],
"related": [],
"est_hours": null,
"week": [
4,
5,
12
],
"order": null,
"path": "topics/python/fastapi/index.md",
"sections": []
},
{
"id": "python.python.index",
"title": "Python 语言",
"type": "index",
"domain": "python",
"stack": [
"python"
],
"tags": [],
"level": null,
"prerequisites": [],
"related": [],
"est_hours": null,
"week": [
4
],
"order": null,
"path": "topics/python/python/index.md",
"sections": []
},
{
"id": "scenarios.index",
"title": "跨技术栈企业服务场景",
"type": "index",
"domain": "cross",
"stack": [],
"tags": [],
"level": null,
"prerequisites": [],
"related": [],
"est_hours": null,
"week": [],
"order": null,
"path": "scenarios/index.md",
"sections": []
},
{
"id": "topics.index",
"title": "专项学习总目录",
"type": "index",
"domain": "plan",
"stack": [],
"tags": [],
"level": null,
"prerequisites": [],
"related": [],
"est_hours": null,
"week": [],
"order": null,
"path": "topics/index.md",
"sections": [
"后端(`backend`)",
"运维与工程(`devops`)",
"Python(`python`)",
"AI 应用(`ai`)",
"前端(`frontend`)"
]
}
]
}