AI-Coding 复盘
阿里 2026-09-12 工程岗 AI-Coding 机考复盘
本页是基于现有不完整资料整理的 AI-Coding 复盘,不是完整题面,也不是可直接运行的题目实现。资料明确省略了实体字段、三十多个接口的具体定义、完整样例及各类有效期规则;以下只保留已披露的实质信息,不补造缺失内容。
题目大意
需要实现一个内存态 HTTP JSON 服务,为高价值物品提供“一物一证”的追溯能力:物品登记后先鉴别,鉴别为真才发凭证;凭证随持有方交接而换版,旧版本保留为历史。业务许可和交接绑定当时的凭证版本与持有代次,任一条件变旧,旧许可不可继续使用,未完成的交接也应作废。
另一条主线是扫码追溯:扫码记录同时有实际发生时间和系统接收时间。判定要按发生时间还原当时的持有方及凭证版本,区分当前有效、历史有效、冲突和已失效等结果。同一个码出现在不同物品上时,需要创建克隆案件并冻结涉案物品。案件裁决包括确认某一件可信、判定凭证泄露、判定误报;不同裁决对凭证、许可、冻结状态和物品状态的处理不同,不能统一恢复。
贯穿要求
- 写请求携带幂等键;同键同内容应返回首次成功时的响应。
- 任一步失败时,整个请求不应留下部分状态。
- 并发写入要表现为串行效果。
- 审计记录只追加。
- 逻辑时钟只能手动推进;一次推进跨过多个截止点时,各事件应记录在自己的截止秒。
难点与复盘方法
1. 先拆基础链路
先读完整题面并把歧义点列出确认,不要一开始铺开全部接口。第一轮优先做幂等、失败回滚、列表排序、非法请求的 JSON 错误,以及“建档 → 鉴别 → 发凭证”这条前置链路。样例通过后再继续,先建立可验证的基线。
2. 按模块逐轮推进
推荐按以下顺序拆分:
- 许可与交接;
- 冻结与逻辑时钟;
- 按发生时间的扫码判定;
- 克隆案件与裁决。
每轮结束都要读回文件,确认声称完成的函数和状态确实写入;再针对该模块制作检查,尤其验证交接前时间扫描旧版本、失败回滚前后对象数量与审计序号是否一致。
3. 上下文不足时保留进度
大工程题容易超出单轮上下文。切换对话时应携带已完成模块清单,要求先读取当前代码再增量修改,禁止全盘重写。回喂报错时先只修当前错误,再推进下一块。
4. 交卷前检查
重点检查未知路径与非法 JSON 是否返回 4xx;失败请求是否留下审计或幂等记录;不同裁决是否有各自的处置;时序判定是否使用发生时间而不是接收时间。
当前资料缺口
以下内容在现有资料中没有展开,因此本页不虚构:
- 十类实体的完整名称、字段、主键和关联关系;
- 三十多个接口的完整路径、请求/响应字段、状态码与校验规则;
- 凭证、许可、交接、冻结及案件的具体有效期、截止条件和边界规则;
- 完整输入输出样例、测试数据、约束与可运行参考实现。
如后续取得完整题面,应在上述缺口基础上补充,并重新核对状态迁移、事务回滚和时间线规则。本页现阶段仅用于记录解题拆分、核验节奏与已知业务约束。