phase 5 part 5: cs algorithms, network-os, web-security topics with tested examples; all 43 stacks pass --strict

This commit is contained in:
Shikui Wang committed 2026-10-23 16:47:11 +08:00
1 parent f695bbd7cc
commit 691f738f5f
22 files changed
+1955 -37

No files matched your search

+492 -26
View File
@@ -393,42 +393,48 @@
"domain": "cs",
"title": "数据结构与算法(面试)",
"index": "topics/cs/algorithms/index.md",
"lessons": 0,
"scenarios": 0,
"lessons": 1,
"scenarios": 1,
"interview_questions": {
"基础": 0,
"进阶": 0,
"场景题": 0
"基础": 3,
"进阶": 3,
"场景题": 2
},
"examples": []
"examples": [
"topics/cs/algorithms/examples/patterns"
]
},
{
"stack": "network-os",
"domain": "cs",
"title": "网络与操作系统基础",
"index": "topics/cs/network-os/index.md",
"lessons": 0,
"scenarios": 0,
"lessons": 2,
"scenarios": 1,
"interview_questions": {
"基础": 0,
"进阶": 0,
"场景题": 0
"基础": 3,
"进阶": 3,
"场景题": 2
},
"examples": []
"examples": [
"topics/cs/network-os/examples/tcp-basics"
]
},
{
"stack": "web-security",
"domain": "cs",
"title": "Web 安全",
"title": "Web 安全基础",
"index": "topics/cs/web-security/index.md",
"lessons": 0,
"scenarios": 0,
"lessons": 1,
"scenarios": 1,
"interview_questions": {
"基础": 0,
"进阶": 0,
"场景题": 0
"基础": 3,
"进阶": 3,
"场景题": 2
},
"examples": []
"examples": [
"topics/cs/web-security/examples/secure-api"
]
},
{
"stack": "cicd",
@@ -5146,6 +5152,49 @@
"面试怎么讲"
]
},
{
"id": "cs.algorithms.complexity-patterns",
"title": "复杂度分析和九个高频模式:哈希、滑动窗口、二分、堆、BFS、拓扑排序、动态规划、LRU、区间合并",
"type": "lesson",
"domain": "cs",
"stack": [
"algorithms"
],
"tags": [
"时间复杂度",
"哈希表",
"滑动窗口",
"二分查找",
"堆",
"Top K",
"BFS",
"DFS",
"拓扑排序",
"动态规划",
"LRU"
],
"level": "basic",
"prerequisites": [
"python.python.index"
],
"related": [
"cs.algorithms.scenario.business-algorithms",
"cs.algorithms.interview"
],
"est_hours": 6,
"week": [
16
],
"order": 1,
"path": "topics/cs/algorithms/01-complexity-patterns.md",
"sections": [
"解释说明",
"案例",
"代码示例",
"易错点",
"面试常问"
]
},
{
"id": "cs.algorithms.index",
"title": "数据结构与算法(面试)",
@@ -5154,7 +5203,12 @@
"stack": [
"algorithms"
],
"tags": [],
"tags": [
"算法",
"数据结构",
"复杂度",
"手写代码"
],
"level": null,
"prerequisites": [],
"related": [],
@@ -5164,7 +5218,135 @@
],
"order": null,
"path": "topics/cs/algorithms/index.md",
"sections": []
"sections": [
"学习路线",
"企业场景",
"面试题",
"示例代码",
"在 16 周计划中"
]
},
{
"id": "cs.algorithms.interview",
"title": "数据结构与算法面试题",
"type": "interview",
"domain": "cs",
"stack": [
"algorithms"
],
"tags": [
"算法",
"数据结构",
"手写代码",
"面试"
],
"level": "basic",
"prerequisites": [],
"related": [
"cs.algorithms.complexity-patterns"
],
"est_hours": null,
"week": [
16
],
"order": null,
"path": "topics/cs/algorithms/interview.md",
"sections": [
"基础",
"进阶",
"场景题"
],
"questions": {
"基础": 3,
"进阶": 3,
"场景题": 2
}
},
{
"id": "cs.algorithms.scenario.business-algorithms",
"title": "业务中的算法:热门问题 Top K、任务依赖排序、相似问题去重和缓存淘汰",
"type": "scenario",
"domain": "cs",
"stack": [
"algorithms",
"redis",
"langgraph"
],
"tags": [
"Top K",
"拓扑排序",
"编辑距离",
"LRU",
"去重",
"复杂度"
],
"level": "intermediate",
"prerequisites": [
"cs.algorithms.complexity-patterns"
],
"related": [
"cs.algorithms.interview"
],
"est_hours": 1.5,
"week": [
16
],
"order": null,
"path": "topics/cs/algorithms/scenarios/business-algorithms.md",
"sections": [
"业务背景与问题",
"约束",
"方案设计",
"关键代码",
"取舍",
"易错点",
"面试怎么讲"
]
},
{
"id": "cs.network-os.http-tcp",
"title": "网络基础:从输入 URL 到页面展示、TCP 握手挥手与粘包、HTTP/1.1 / 2 / 3、HTTPS、长连接与 SSE",
"type": "lesson",
"domain": "cs",
"stack": [
"network-os"
],
"tags": [
"TCP",
"三次握手",
"四次挥手",
"TIME_WAIT",
"粘包",
"HTTP/2",
"HTTP/3",
"HTTPS",
"TLS",
"DNS",
"keep-alive",
"SSE",
"WebSocket"
],
"level": "basic",
"prerequisites": [],
"related": [
"cs.network-os.os-basics",
"cs.network-os.scenario.connection-troubleshooting",
"devops.nginx.https-stream-limit"
],
"est_hours": 3,
"week": [
14,
16
],
"order": 1,
"path": "topics/cs/network-os/01-http-tcp.md",
"sections": [
"解释说明",
"案例",
"代码示例",
"易错点",
"面试常问"
]
},
{
"id": "cs.network-os.index",
@@ -5174,7 +5356,13 @@
"stack": [
"network-os"
],
"tags": [],
"tags": [
"TCP",
"HTTP",
"HTTPS",
"进程线程",
"I/O 多路复用"
],
"level": null,
"prerequisites": [],
"related": [],
@@ -5185,17 +5373,202 @@
],
"order": null,
"path": "topics/cs/network-os/index.md",
"sections": []
"sections": [
"学习路线",
"企业场景",
"面试题",
"示例代码",
"在 16 周计划中"
]
},
{
"id": "cs.network-os.interview",
"title": "网络与操作系统面试题",
"type": "interview",
"domain": "cs",
"stack": [
"network-os"
],
"tags": [
"TCP",
"HTTP",
"HTTPS",
"进程线程",
"I/O 多路复用",
"面试"
],
"level": "basic",
"prerequisites": [],
"related": [
"cs.network-os.http-tcp",
"cs.network-os.os-basics"
],
"est_hours": null,
"week": [
14,
16
],
"order": null,
"path": "topics/cs/network-os/interview.md",
"sections": [
"基础",
"进阶",
"场景题"
],
"questions": {
"基础": 3,
"进阶": 3,
"场景题": 2
}
},
{
"id": "cs.network-os.os-basics",
"title": "操作系统基础:进程线程协程、I/O 模型与多路复用、内存与虚拟内存、文件描述符、死锁",
"type": "lesson",
"domain": "cs",
"stack": [
"network-os"
],
"tags": [
"进程",
"线程",
"协程",
"GIL",
"I/O 多路复用",
"epoll",
"虚拟内存",
"OOM",
"文件描述符",
"死锁"
],
"level": "basic",
"prerequisites": [
"cs.network-os.http-tcp"
],
"related": [
"python.asyncio.index",
"devops.linux.troubleshooting",
"cs.network-os.interview"
],
"est_hours": 3,
"week": [
14,
16
],
"order": 2,
"path": "topics/cs/network-os/02-os-basics.md",
"sections": [
"解释说明",
"案例",
"代码示例",
"易错点",
"面试常问"
]
},
{
"id": "cs.network-os.scenario.connection-troubleshooting",
"title": "线上连接问题排查:大量 TIME_WAIT、连接池耗尽、fd 用尽和事件循环阻塞",
"type": "scenario",
"domain": "cs",
"stack": [
"network-os",
"linux",
"fastapi"
],
"tags": [
"TIME_WAIT",
"连接池",
"文件描述符",
"事件循环阻塞",
"超时",
"排查"
],
"level": "intermediate",
"prerequisites": [
"cs.network-os.http-tcp",
"cs.network-os.os-basics"
],
"related": [
"cs.network-os.interview",
"devops.linux.scenario.incident-troubleshooting"
],
"est_hours": 2,
"week": [
14,
16
],
"order": null,
"path": "topics/cs/network-os/scenarios/connection-troubleshooting.md",
"sections": [
"业务背景与问题",
"约束",
"方案设计",
"关键代码",
"取舍",
"易错点",
"面试怎么讲"
]
},
{
"id": "cs.web-security.common-attacks",
"title": "Web 安全基础:XSS、CSRF、SQL 注入、CORS、SSRF 的原理、防御和在 AI 应用中的新形态",
"type": "lesson",
"domain": "cs",
"stack": [
"web-security"
],
"tags": [
"XSS",
"CSRF",
"SQL 注入",
"CORS",
"SSRF",
"CSP",
"SameSite",
"参数化查询",
"OWASP"
],
"level": "basic",
"prerequisites": [
"cs.network-os.http-tcp"
],
"related": [
"cs.web-security.scenario.ai-app-security",
"ai.prompt-engineering.scenario.injection-defense",
"cs.web-security.interview"
],
"est_hours": 3,
"week": [
7,
14,
16
],
"order": 1,
"path": "topics/cs/web-security/01-xss-csrf-sqli-cors-ssrf.md",
"sections": [
"解释说明",
"案例",
"代码示例",
"易错点",
"面试常问"
]
},
{
"id": "cs.web-security.index",
"title": "Web 安全",
"title": "Web 安全基础",
"type": "index",
"domain": "cs",
"stack": [
"web-security"
],
"tags": [],
"tags": [
"XSS",
"CSRF",
"SQL 注入",
"CORS",
"SSRF",
"OWASP"
],
"level": null,
"prerequisites": [],
"related": [],
@@ -5207,7 +5580,100 @@
],
"order": null,
"path": "topics/cs/web-security/index.md",
"sections": []
"sections": [
"学习路线",
"企业场景",
"面试题",
"示例代码",
"在 16 周计划中",
"参考"
]
},
{
"id": "cs.web-security.interview",
"title": "Web 安全面试题",
"type": "interview",
"domain": "cs",
"stack": [
"web-security"
],
"tags": [
"XSS",
"CSRF",
"SQL 注入",
"CORS",
"SSRF",
"面试"
],
"level": "basic",
"prerequisites": [],
"related": [
"cs.web-security.common-attacks"
],
"est_hours": null,
"week": [
7,
14,
16
],
"order": null,
"path": "topics/cs/web-security/interview.md",
"sections": [
"基础",
"进阶",
"场景题"
],
"questions": {
"基础": 3,
"进阶": 3,
"场景题": 2
}
},
{
"id": "cs.web-security.scenario.ai-app-security",
"title": "AI 客服上线前的安全评审:回答渲染 XSS、抓取工具 SSRF、Text-to-SQL 注入和跨域配置",
"type": "scenario",
"domain": "cs",
"stack": [
"web-security",
"fastapi",
"vue",
"function-calling"
],
"tags": [
"安全评审",
"XSS",
"SSRF",
"Text-to-SQL",
"CORS",
"CSP",
"最小权限"
],
"level": "intermediate",
"prerequisites": [
"cs.web-security.common-attacks"
],
"related": [
"cs.web-security.interview",
"ai.function-calling.scenario.safe-business-tools",
"ai.prompt-engineering.scenario.injection-defense"
],
"est_hours": 2.5,
"week": [
14,
16
],
"order": null,
"path": "topics/cs/web-security/scenarios/ai-app-security.md",
"sections": [
"业务背景与问题",
"约束",
"方案设计",
"关键代码",
"取舍",
"易错点",
"面试怎么讲"
]
},
{
"id": "devops.cicd.index",