phase 5 part 5: cs algorithms, network-os, web-security topics with tested examples; all 43 stacks pass --strict
This commit is contained in:
1 parent
f695bbd7cc
commit
691f738f5f
22 files changed
+1955
-37
No files matched your search
+492
-26
@@ -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",
|
||||
|
||||
Reference in new issue
Block a user