AI-Coding 复盘

阿里 2026-09-12 工程岗 AI-Coding 机考复盘

本页是基于现有不完整资料整理的 AI-Coding 复盘,不是完整题面,也不是可直接运行的题目实现。资料明确省略了实体字段、三十多个接口的具体定义、完整样例及各类有效期规则;以下只保留已披露的实质信息,不补造缺失内容。

题目大意

需要实现一个内存态 HTTP JSON 服务,为高价值物品提供“一物一证”的追溯能力:物品登记后先鉴别,鉴别为真才发凭证;凭证随持有方交接而换版,旧版本保留为历史。业务许可和交接绑定当时的凭证版本与持有代次,任一条件变旧,旧许可不可继续使用,未完成的交接也应作废。

另一条主线是扫码追溯:扫码记录同时有实际发生时间和系统接收时间。判定要按发生时间还原当时的持有方及凭证版本,区分当前有效、历史有效、冲突和已失效等结果。同一个码出现在不同物品上时,需要创建克隆案件并冻结涉案物品。案件裁决包括确认某一件可信、判定凭证泄露、判定误报;不同裁决对凭证、许可、冻结状态和物品状态的处理不同,不能统一恢复。

贯穿要求

  • 写请求携带幂等键;同键同内容应返回首次成功时的响应。
  • 任一步失败时,整个请求不应留下部分状态。
  • 并发写入要表现为串行效果。
  • 审计记录只追加。
  • 逻辑时钟只能手动推进;一次推进跨过多个截止点时,各事件应记录在自己的截止秒。

难点与复盘方法

1. 先拆基础链路

先读完整题面并把歧义点列出确认,不要一开始铺开全部接口。第一轮优先做幂等、失败回滚、列表排序、非法请求的 JSON 错误,以及“建档 → 鉴别 → 发凭证”这条前置链路。样例通过后再继续,先建立可验证的基线。

2. 按模块逐轮推进

推荐按以下顺序拆分:

  1. 许可与交接;
  2. 冻结与逻辑时钟;
  3. 按发生时间的扫码判定;
  4. 克隆案件与裁决。

每轮结束都要读回文件,确认声称完成的函数和状态确实写入;再针对该模块制作检查,尤其验证交接前时间扫描旧版本、失败回滚前后对象数量与审计序号是否一致。

3. 上下文不足时保留进度

大工程题容易超出单轮上下文。切换对话时应携带已完成模块清单,要求先读取当前代码再增量修改,禁止全盘重写。回喂报错时先只修当前错误,再推进下一块。

4. 交卷前检查

重点检查未知路径与非法 JSON 是否返回 4xx;失败请求是否留下审计或幂等记录;不同裁决是否有各自的处置;时序判定是否使用发生时间而不是接收时间。

当前资料缺口

以下内容在现有资料中没有展开,因此本页不虚构:

  • 十类实体的完整名称、字段、主键和关联关系;
  • 三十多个接口的完整路径、请求/响应字段、状态码与校验规则;
  • 凭证、许可、交接、冻结及案件的具体有效期、截止条件和边界规则;
  • 完整输入输出样例、测试数据、约束与可运行参考实现。

如后续取得完整题面,应在上述缺口基础上补充,并重新核对状态迁移、事务回滚和时间线规则。本页现阶段仅用于记录解题拆分、核验节奏与已知业务约束。