## 考官专用｜不要发送给候选人
### 90分钟候选人日程（连续、无重叠）
| 时间 | 分钟 | 环节/负责人 | 目的与材料 |
|---|---:|---|---|
| 00–04 | 4 | 开场，主持人 | 说明流程、工具、便利安排与统一评分方式 |
| 04–09 | 5 | 休息 | 受保护休息，不挪作提问时间 |
| 09–14 | 5 | 工作样本说明，分析面试官 | 发候选人版，确认交付物与规则 |
| 14–34 | 20 | 候选人独立处理，分析面试官 | 候选人工作；面试官不提示答案，记录原话/产物 |
| 34–44 | 10 | 工作样本汇报与追问，运营面试官 | 核验口径、异常、边界及理由 |
| 44–56 | 12 | 经营优先级情境题，招聘经理 | 观察行动排序、风险比例与升级判断 |
| 56–67 | 11 | 业务沟通情境题，招聘经理 | 观察对非技术对象的清晰解释和核实理解 |
| 67–69 | 2 | 转场，主持人 | 记录、切换环节；不可侵占休息或候选人提问 |
| 69–79 | 10 | 候选人提问，主持人 | 保证至少10分钟候选人提问 |
| 79–90 | 11 | 候选人提问10分钟＋结束1分钟，主持人 | 明确提问止于89分钟，89–90分钟收尾 |

校验：各段首尾连续，00至90分钟总计90分钟；休息5分钟、候选人提问10分钟均已预留。工作样本三个子段仅定义一次：**说明5分钟＋独立处理20分钟＋汇报/追问10分钟＝35分钟**；以上候选人说明和考官议程使用相同子段。另留 **90–105分钟（15分钟）考官独立评分及讨论**，不计入候选人90分钟。

### 能力、覆盖与负责人
| 能力（共4项） | 唯一负责面试官/面试段 | 主要证据 |
|---|---|---|
| C1 连接粒度与可复核计算 | 分析面试官；14–34工作产物 | 是否识别一对多连接、避免金额重复计数；提交的查询/逐单计算 |
| C2 净额口径、异常与不确定性 | 运营面试官；34–44汇报追问 | 是否正确筛选范围、处理重复与孤儿退款、把已核实与未知分开 |
| C3 经营优先级与行动判断 | 招聘经理；44–56情境题 | 是否按影响与风险排序，采取比例适当的核查/缓解行动 |
| C4 对业务方的沟通 | 招聘经理；56–67情境题 | 是否准确、简明地解释结论、限制、决策含义并确认对方理解 |

同一工作样本可提供C1、C2的材料，但二者分别由指定面试官在指定段落评分，不相互代评。语法/语法糖、学校或公司名气、流利自信、个人相似度均非加分项。

### 考官统一脚本及有界追问
所有候选人使用相同主问题。只在指定范围内追问；若候选人未触及关键判断，使用对应追问，不提示答案。记录回答/产物，不在面试中暗示标准解。

**工作样本追问（C2，34–44）**
- “你会把哪些金额纳入当前结果？哪些记录不能直接纳入？请逐项说明依据。”
- “这个结论依赖什么口径或数据假设？你会找哪一项新证据来解除最大的不确定性？”
- 若候选人只报总数：“能按订单展示你如何复核，并说明标签表在计算中应扮演什么角色吗？”

**经营优先级情境题（C3，44–56）**
主问题：“月度经营复盘前，你发现当前净额口径可能受退款重复导出和一笔找不到原订单的退款影响。业务负责人要尽快使用结果。你先做什么、暂缓或照常做什么？说明排序、风险和升级条件。”
有界追问：“若复盘就在今天、孤儿退款仍未匹配，你会如何呈现数字？”“什么新增证据会改变你的决定？”不要假设有统一的金额阈值或所有缺项都必须阻断关账。

**业务沟通情境题（C4，56–67）**
主问题：“请对一位非技术业务负责人，用约一分钟解释你可以报告的结果、目前不能声称的部分，以及你建议的下一步。随后请说你会怎样确认对方没有把未知项误解为零。”
有界追问：“如果对方要求现在给一个确定的单一数字，你怎样回应并维持可用性？”

**答案前的证据状态**：当前没有任何候选人回答或产物，本包不对任何候选人作判断。候选人缺席的证据记为“未评估”，不得记0；仅使用对应能力的一条有界追问补足。

### SQL参考答案、实际执行记录与计算
以下SQLite小脚本在内存数据库中按题给全部源行执行，包括重复R1、孤儿R4、取消订单和USD订单。错误查询及正确参考查询的SQL文本与执行文本一致。正确查询先对完全相同的导出行去重，再按订单与币种汇总退款；标签不参与金额连接。

**错误查询（本题给定形式；以下分组版用于逐单展示）**
```sql
SELECT o.id, SUM(o.amount-r.amount) AS net FROM orders o LEFT JOIN refunds r ON o.id=r.order_id LEFT JOIN tags t ON o.id=t.order_id WHERE o.status='paid' AND o.currency='CNY' GROUP BY o.id ORDER BY o.id
```
实际执行结果：O1=520，O2=170；由返回行相加为690 CNY。O1的订单金额和退款行会被两个标签重复展开；此外，重复的R1又重复计入。这不是可用的净额总数。对于本数据中符合筛选条件的每个订单，`refunds.amount`均非NULL；一般情况下LEFT JOIN未匹配会令减法结果为NULL，`SUM`忽略NULL，也会使该写法不能表达“无退款时退款为0”。

**正确参考查询（精确执行文本）**
```sql
WITH refund_dedup AS (SELECT refund_id, order_id, amount, currency FROM (SELECT r.*, ROW_NUMBER() OVER (PARTITION BY refund_id ORDER BY order_id, amount, currency) AS rn FROM refunds r) WHERE rn=1), refund_by_order AS (SELECT order_id, currency, SUM(amount) AS refunded FROM refund_dedup GROUP BY order_id, currency) SELECT o.id, o.amount AS gross_paid, COALESCE(r.refunded,0) AS refunds, o.amount-COALESCE(r.refunded,0) AS verified_net FROM orders o LEFT JOIN refund_by_order r ON r.order_id=o.id AND r.currency=o.currency WHERE o.status='paid' AND o.currency='CNY' ORDER BY o.id
```
实际逐单结果：

| 订单 | 符合筛选 | 订单金额 CNY | 纳入退款 CNY | 当前记录可核实净额 CNY |
|---|---|---:|---:|---:|
| O1 | paid、CNY | 100 | 30（R1 10一次＋R2 20） | 70 |
| O2 | paid、CNY | 200 | 30（R3） | 170 |

**当前记录下的合计：70＋170＝240 CNY。** O3 cancelled，不纳入；O4为USD，不混入CNY合计；R4关联O9而订单表无O9，15 CNY不补造订单、不从上述付费CNY净额中扣除，单独列为未匹配异常待查。若所谓“R1重复”实际是两个独立退款而非重复导出，或退款存在不同状态/入账时点，则去重或退款口径需新规则；当前记录没有这些字段，240是基于“完全相同退款行是重复导出、表中退款均应计入”的**条件性当前记录结果**，不是对会计确认口径或完整财务收入的断言。

参考查询采用 `PARTITION BY refund_id` 只适用于退款ID代表单一退款且冲突记录需先查明的口径。题给R1两行完全相同，因此本例得出R1一次；生产化时应先查同一refund_id若金额、订单或币种不同的冲突，不应任取一行。也可以用精确全列去重再汇总，但必须保留并调查真实冲突。按币种连接防止跨币种误配。

**可复现性**：计算脚本在运行目录中实际建表并插入题给行，依次运行上列错误查询和正确查询，记录返回 `[(O1,520),(O2,170)]`、`[(O1,100,30,70),(O2,200,30,170)]`，并由正确结果求和得240；孤儿查询返回R4/O9/15/CNY。错误总额690由已执行错误查询的两条逐单返回值520＋170计算。排程程序校验所有区间首尾衔接、总长90、休息不少于5、提问不少于10、样本子段和为35，并单独保留15分钟考官评分/讨论。

### 四项能力评分锚点（每项1–4；先独立评分）
每项仅根据该能力指定面试段和可观察证据评分。**3为岗位充分胜任标准**。以下每级均描述本题具体表现。

| 能力 | 1｜有害表现 | 2｜部分证据 | 3｜充分胜任 | 4｜强证据 |
|---|---|---|---|---|
| C1 连接粒度与计算 | 看不出标签、退款连接扩行；接受690为净额，或无法给出可复核结果且未意识到风险 | 察觉查询可疑，但逐单处理/去重不完整，结果仍有重大未解释错误 | 能说明一单多退款、一单多标签的粒度；先汇总退款再连订单、不把标签当金额表；提供正确可复核计算，解释空值 | 除达到3外，主动用逐单检查/小样本或等效测试验证join基数、重复和无退款情形，并使方法易审计 |
| C2 净额口径、异常与不确定性 | 把R4的15补给某订单或混入CNY合计；把未知说成零/确定事实；误纳取消或USD | 结果接近但口径含糊，漏掉R4或R1重复的意义，不能说明新证据需求 | 明确限定paid+CNY；R1按题给重复导出假设只计一次；列O1=70、O2=170、合计240；R4=15单列未匹配，说明口径假设及要核实的证据 | 除达到3外，区分重复ID冲突与精确重复、数据范围与确认口径；提出具体有序核查并清楚表述条件结论 |
| C3 经营优先级 | 为赶时间静默改数、掩盖不确定性，或无差别宣布任何缺项都阻断一切 | 发现风险但没有排序、负责人/下一步或对业务影响的判断 | 先做能保住结论可信度的有界核查；对R4不臆造归属，清楚呈现影响/限制和下一责任步骤；按用途决定先标注、补查或升级 | 除达到3外，按决策重要性/时限选择最小验证集、明确触发升级条件及并行工作，且避免过度阻断 |
| C4 业务沟通 | 传达错误确定结论、将未知伪装成零，或无法说明结果对业务的意义 | 有基本结论但缺限制/行动，或术语使业务方容易误读 | 清晰说出条件性240 CNY、排除/未匹配项及下一步；用非技术语言解释；主动确认业务方理解未知不等于零 | 除达到3外，针对决策者重排信息、用简洁复述/确认问题检验理解，并能在被要求给单一数字时仍保持准确和可用 |

### 决策规则
建议“推荐”须**四项均达到3或4**，且C1、C2不得有未解决的重大错误，C3不得隐瞒风险或采取失当行动，C4不得把条件性结果说成无条件事实。任一必备能力低于3，即使总分高、SQL写得漂亮或其他项为4，也不以总分抵消；先记录针对该能力的一条有界补充追问，只有获得的新证据达到锚点才可改评。关键问题仍未解决则为“暂不推荐/证据不足待补”，按雇主实际流程处理，不把未观察直接当失败分数。评分置信度低须说明原因。

### 空白个人评分卡（每位面试官独立填写）
| 能力/负责面试官 | 具体观察到的回答、原话或产物（不要写印象） | 级别1–4 / 未评估 | 置信度（高/中/低）及依据 | 未解决问题 / 一条针对性补问 |
|---|---|---|---|---|
| C1 / 分析面试官 |  |  |  |  |
| C2 / 运营面试官 |  |  |  |  |
| C3 / 招聘经理 |  |  |  |  |
| C4 / 招聘经理 |  |  |  |  |
| 建议 |  | 推荐 / 暂不推荐 / 证据不足待补 |  |  |

### 考官15分钟独立评分与讨论流程（90分钟后）
- 90–97分钟：每人独立填写证据、锚点级别、置信度与未解决问题；此阶段不得看他人评分。
- 97–105分钟：再交换评分。先对具体记录和工作产物复核，再讨论分歧；按锚点说明差异，不以资历、表达风格、总分或多数票替代岗位证据。缺失证据保持未评估，并决定是否需要指定补问。

## 发布前检查
已先选取并使用正向案例校验：Monzo的岗位化真实分析、明确交付与围绕逻辑/假设的追问；GitLab案例中的实际工作讨论、等效工具与候选人提问时间。它们提供方法参考，不提供本岗位事实、评分门槛或录用权威。再用这些检查本成品：工作样本是有界日常数据问题、考查证据与歧义而非特定语言；每项能力有负责人、产物/问题和行为锚点；答案未放进候选人版；至少5分钟休息与10分钟提问已在实际时间表内预留，练习子时长在两版一致。评分采用Sourcegraph所述一致脚本、独立书面反馈先于讨论的做法，不采用其组织专属录用阈值。