# 面试评分表 Markdown 模板格式说明

本文档定义了 Kai.HireBoard 系统导入面试评分表时所识别的 Markdown 格式规范。按照此格式编写的 `.md` 文件可被系统正确解析为面试模板。

---

## 整体结构

```
# 模板标题                          ← 必须，H1 标题
> 模板说明（评分标准、录用底线等）      ← 可选，引用块

## 一、维度名称（权重 ⭐⭐⭐）         ← 必须，H2 + 中文序号 + ⭐表示权重
> 维度描述                           ← 可选，引用块
| 考核点表格 |                       ← 可选，考核点清单
**【分类名】**                       ← 可选，问题分类标记
**Q1："问题内容"**                   ← 问题（至少整个模板要有1个）
| 分数 | 回答特征 | 评分标准表        ← 可选，1-5分评判标准
> 关键看点                           ← 可选，引用块
**本维度综合打分技巧：**              ← 可选，打分技巧

---                                  ← 维度之间用分隔线

## 二、下一个维度（权重 ⭐⭐）
...
```

---

## 各元素详细说明

### 1. 模板标题（必须）

```markdown
# 开发面试评分表
```

- 必须是 H1（`#`）
- 整个文件只有一个 H1
- 内容即为模板名称

### 2. 模板说明（可选）

```markdown
> 评分标准：1分=完全不具备 | 2分=了解皮毛 | 3分=基本合格 | 4分=超出预期 | 5分=非常优秀
>
> 录用底线：总分 ≥ 15 分
```

- 紧跟在 H1 之后的引用块（`>`）
- 支持多行，空行用单独的 `>` 表示

### 3. 跳过的章节

以下 H2 标题会被系统自动跳过，不作为面试维度解析：

- `候选人信息`
- `综合评估`
- `面试官综合评价`

### 4. 面试维度（必须，至少1个）

```markdown
## 一、可托付度（权重 ⭐⭐⭐⭐⭐）
```

- 必须是 H2（`##`）
- 格式：`中文序号、维度名称（权重 ⭐...）`
- 中文序号支持：一 到 十
- ⭐ 数量 = 权重值（1-5），没有⭐则默认权重为1
- 括号里的"权重"两个字可有可无，系统只数⭐

### 5. 维度描述（可选）

```markdown
> 核心考察：出问题时的行为模式。决定你能不能放心把事情交给他。
```

- 紧跟在维度 H2 之后的引用块
- 会显示在面试操作台的维度卡片顶部

### 6. 考核点表格（可选）

```markdown
| 考核点 | 评分(1-5) | 备注 |
|--------|-----------|------|
| 主动承担责任，不推锅 | | |
| 遇到问题第一时间同步 | | |
```

- 表头必须包含"考核点"列
- 每行一个考核点，系统提取考核点列的文本
- "评分"和"备注"列是给打印/手写场景用的，系统不解析

**考核点表格中的分类标记：**

```markdown
| 考核点 | 评分(1-5) | 备注 |
|--------|-----------|------|
| **.NET 核心与异步编程** | | |
| async/await 原理 | | |
| Task 与并行编程模型 | | |
| **数据访问与 SQL 优化** | | |
| EF Core 熟练度 | | |
```

- 加粗的考核点行会被识别为分类标题（仅用于展示分组，不影响数据结构）

### 7. 问题分类标记（可选，新增）

```markdown
**【.NET 核心与异步编程】**
```

- 格式：`**【分类名】**`（加粗 + 中文方括号）
- 出现在问题之前，后续的问题自动归属到该分类
- 直到遇到下一个 `**【xxx】**` 标记或维度结束
- 不需要分类的维度可以不写，问题直接扁平排列

### 8. 面试问题（必须，整个模板至少1个）

```markdown
**Q1："你有没有遇到过做到一半发现做不完或做错了的情况？你怎么处理的？"**
```

- 格式：`**Q数字："问题内容"**`（或 `**Q数字：「问题内容」**`）
- 加粗包裹，Q + 数字编号 + 中文冒号 + 引号包裹的问题文本
- 编号在每个维度内从1开始，按顺序递增
- 引号支持：`""`（中文双引号）、`""`（英文双引号）、`「」`（直角引号）

### 9. 评分标准表（可选，跟在问题后面）

```markdown
| 分数 | 回答特征 |
|------|----------|
| 5分 | 有具体案例，第一时间主动同步leader，给出了替代方案 |
| 4分 | 有具体案例，主动同步了，但替代方案不够完整 |
| 3分 | 有案例但比较模糊，没有具体细节 |
| 2分 | 说"没遇到过"或者"加班赶出来了" |
| 1分 | 说"先做完再说"，藏问题的倾向 |
```

- 表头必须包含"分数"和"回答特征"两列
- 分数列格式：`5分`、`4分`... 或纯数字 `5`、`4`...
- 建议从5分到1分降序排列（系统不强制，但阅读体验更好）
- 没有评分标准表的问题也能正常导入，面试时只有1-5分按钮，没有参考答案展开

### 10. 关键看点（可选，跟在评分标准表后面）

```markdown
> 关键看：是否主动暴露问题 + 是否带着方案去沟通 + 是否有事后改进
```

- 引用块格式
- 显示在面试操作台的"参考答案"折叠区内
- 帮助面试官快速抓住评判要点

### 11. 综合打分技巧（可选）

```markdown
**本维度综合打分技巧：**

取四个问题得分的平均值，再结合整体面试中的感受微调。重点关注：
1. 他讲的是真实经历还是编的？
2. 他的第一反应是什么？
3. 整场面试中他有没有说过"我不知道"？
```

- 以 `**本维度综合打分技巧：**` 开头
- 后面的文本内容（段落、列表）都会被收集
- 遇到 `本维度得分` 行或下一个 H2 时停止收集
- 显示在面试操作台维度卡片底部的"💡 综合打分技巧"折叠区

### 12. 维度得分行（可选，不解析）

```markdown
**本维度得分：______ / 5**
```

- 这是给打印/手写场景用的
- 系统会跳过，不影响解析

---

## 两种典型维度写法

### 写法A：无分类（适合问题较少、方向单一的维度）

```markdown
## 一、可托付度（权重 ⭐⭐⭐⭐⭐）

> 核心考察：出问题时的行为模式。

| 考核点 | 评分(1-5) | 备注 |
|--------|-----------|------|
| 主动承担责任 | | |
| 信息透明度 | | |

**推荐提问与评判标准：**

---

**Q1："你有没有遇到过做到一半发现做不完的情况？"**

| 分数 | 回答特征 |
|------|----------|
| 5分 | 有具体案例，主动同步，有替代方案，有复盘 |
| 1分 | 说"先做完再说"，藏问题 |

> 关键看：是否主动暴露问题

---

**Q2："讲一个你在线上出过的事故"**

| 分数 | 回答特征 |
|------|----------|
| 5分 | 讲得很细，主动承担，有防重犯机制 |
| 1分 | 说"没出过事故"或明显推责 |

> 关键看：是否诚实面对错误
```

### 写法B：有分类（适合问题多、涵盖多个子方向的维度）

```markdown
## 二、技术原理认知（权重 ⭐⭐⭐⭐）

> 核心考察：是否理解技术原理，而不是只会调用 API。

| 考核点 | 评分(1-5) | 备注 |
|--------|-----------|------|
| **.NET 核心与异步编程** | | |
| async/await 原理 | | |
| **数据访问与 SQL 优化** | | |
| EF Core 熟练度 | | |
| 索引原理 | | |

**推荐提问与评判标准：**

---

**【.NET 核心与异步编程】**

**Q1："async/await 底层是怎么实现的？"**

| 分数 | 回答特征 |
|------|----------|
| 5分 | 能讲清楚状态机，知道 SynchronizationContext |
| 3分 | 知道"不阻塞线程"但讲不清原理 |
| 1分 | 说不出任何原理 |

> 关键看：是否理解状态机本质

---

**Q2："Task.Run 和直接 async 方法有什么区别？"**

| 分数 | 回答特征 |
|------|----------|
| 5分 | Task.Run 把同步代码推到线程池，async 方法本身不创建线程 |
| 1分 | 分不清两者区别 |

---

**【数据访问与 SQL 优化】**

**Q3："EF Core 的变更追踪机制是怎么工作的？"**

| 分数 | 回答特征 |
|------|----------|
| 5分 | 能讲清楚 ChangeTracker 快照对比机制 |
| 1分 | 不了解变更追踪 |

---

**Q4："联合索引 (A, B, C)，WHERE B=1 AND A=2 能走索引吗？"**

| 分数 | 回答特征 |
|------|----------|
| 5分 | 知道优化器会重排条件，能走索引 |
| 1分 | 不了解联合索引原理 |
```

**关键区别：** 写法B在问题前加了 `**【分类名】**` 标记，系统会把后续问题归属到该分类，在面试操作台中按分类分组显示。面试官可以按分类选择性提问和计分。

---

## 格式速查表

| 元素 | 格式 | 必须 | 说明 |
|------|------|------|------|
| 模板标题 | `# 标题` | ✅ | 唯一 H1 |
| 模板说明 | `> 说明文本` | ❌ | H1 后的引用块 |
| 维度标题 | `## 序号、名称（权重 ⭐）` | ✅ | 至少1个维度 |
| 维度描述 | `> 描述文本` | ❌ | H2 后的引用块 |
| 考核点表格 | `\| 考核点 \| 评分 \| 备注 \|` | ❌ | 表头含"考核点" |
| 问题分类 | `**【分类名】**` | ❌ | 加粗+中文方括号 |
| 问题 | `**Q1："问题"**` | ✅ | 至少1个问题 |
| 评分标准 | `\| 分数 \| 回答特征 \|` | ❌ | 表头含"分数"+"回答特征" |
| 关键看点 | `> 关键看：...` | ❌ | 问题后的引用块 |
| 打分技巧 | `**本维度综合打分技巧：**` | ❌ | 后续段落/列表 |

---

## 注意事项

1. **编号连续性**：每个维度内的 Q 编号从1开始连续递增（Q1, Q2, Q3...），不要跳号
2. **维度分隔**：维度之间建议用 `---` 分隔线隔开，提高可读性
3. **评分标准可省略**：不是每个问题都需要评分标准表，没有的问题在面试时只显示1-5分按钮
4. **分类标记可省略**：不需要分类的维度直接写问题即可，系统兼容两种写法
5. **"推荐提问与评判标准："行**：这是给人看的提示文字，系统会自动跳过，写不写都行
6. **候选人信息/综合评估**：这些章节是给打印场景用的，系统导入时自动跳过
