# CLAUDE.md — autumn-recruitment ## 项目介绍 这是一个用于沉淀秋招技术知识的 Obsidian 保险库。聚焦后端开发(Go / Java),以技术域分类法组织内容,覆盖语言基础、中间件、分布式架构、AI 工程实践和项目复盘。 --- ## 目录结构 ``` autumn-recruitment/ ├── README.md # 知识库总览 ├── 00.Go/ │ ├── data-structures/ # 切片、Map、Channel 底层实现 │ ├── concurrency/ # goroutine、sync.*、context、select │ └── runtime/ # GC(三色标记)、调度器 GMP、pprof ├── 01.Java/ │ ├── jvm/ # 内存模型、垃圾回收、JFR │ └── concurrent/ # 线程池参数、锁升级、并发容器、AQS ├── 02.MySQL/ │ ├── index/ # B+树、覆盖索引、回表、Explain │ └── transaction/ # ACID、隔离级别、MVCC、锁机制 ├── 03.Redis/ │ ├── core/ # 数据类型、RDB/AOF、集群、哨兵 │ └── strategies/ # 多级缓存、旁路/穿透/写回、热点探测 HeavyKeeper ├── 04.MQ/ │ └── rabbitmq/ # Exchange路由、持久化、ACK、死信、推拉结合 ├── 05.架构/ │ ├── service-governance/ # 注册发现、负载均衡、限流熔断、配置中心 │ ├── distributed-lock/ # Redis/ZK/CRC 分布式锁 │ ├── idempotency/ # 幂等设计(网关级、数据库级) │ └── ci-cd/ # K8s 发布、弹性扩缩容、灰度、可观测性 ├── 06.AI/ │ └── agent-design/ # Eino DAG、多智能体协作、上下文工程、沙箱与权限、记忆管理 ├── 07.模式/ │ ├── fsm/ # 有限状态机(核心亮点 ×2) │ └── auth/ # RBAC 权限模型、OAuth/JWT └── 08.项目/ ├── gen2d/ # Gen2D — Agent Graph + 协程池 + 限流 └── thumbup/ # ThumbUP — 二级缓存 + Lua原子性 + HeavyKeeper ``` 数字前缀保证按知识依赖链排序:语言 → 中间件 → 架构 → AI → 模式 → 项目。 --- ## 文件操作规则 ### 格式规范 新建或修改笔记时,遵循以下模板: ```yaml --- tags: [] create time: YYYY-MM-DD HH:mm --- # <标题> ## 概述 [简短描述文档内容,不要保留占位文本] ## 正文 [详略得当,注重实用性] ## 关联笔记 - [[相关笔记]](若无则移除此节) ``` ### 必填项 | 字段 | 格式 | 说明 | |------|------|------| | `tags` | 数组 | 必须存在 `[]`,智能填充相关标签 | | `create time` | `YYYY-MM-DD HH:mm` | 当前系统时间 | ### 内容规范 - **教学者模式**:假设你是教学者,需规划如何让读者轻松理解。可以穿插问题启发思考。建议使用 Obsidian 原生 `> [!type]` 语法(如 `> [!NOTE]`、`> [!TIP]`、`> [!WARNING]`)。 - **代码示例**:优先 Go(后端)+ React/TS(前端),点到为止,不冗长。用注释省略非核心部分,体现核心逻辑即可。给出代码时必须附带文本解释。 - **图表**:关键概念和流程使用 Mermaid,禁止纯文本 ASCII 图表。 - **风格**:文风严谨但保持"活人感",循序渐进,深入浅出。 ### Mermaid 附录规范 - 所有中文内容必须用英文双引号 `""` 包裹,**不可用** `""` 或中文引号。 - 英文双引号内不允许出现标点符号或特殊字符,仅允许英文逗号 `,`。 - 不使用 `\n` 换行。 - 节点 ID 必须是英文。如需显示中文,放在双引号中:`A["中文显示文本"]`。 - 定义带说明的节点时,`[]` 内所有内容必须包在双引号里:`A["Interface MethodSet"]`。 - 散点图用 `A: [x, y]` 语法,不支持 `[label]` 作为点。 - 需求图中 `fulfills` 替换为 `SATISFIES`,`calls` 替换为 `TRACES`。 ### 安全原则 - **尊重现有内容**:修改已有笔记前先读取完整内容,确保变更精确且不丢失信息。 - **相对路径**:提及 vault 内的文件时使用 Wiki-link 格式 `[[folder/note.md]]`。 - **frontmatter 保留**:修改包含 YAML frontmatter 的文件时,保留原有字段(如 tags、create time)。 - **避免破坏 Dataview**:不擅自修改或破坏 `dataview` 查询块。