跳到主要内容
SUN / 笔记
← 全部文章

AI Coding 笔试模拟训练

训练目标:在 AI 无执行权限的条件下,把复杂需求转成高覆盖实现,并用对话质量、测试设计和静态验证控制风险。

一、每次模拟的固定规则

  • 严格限定 90 或 120 分钟;
  • AI 只能搜索、阅读和修改文件;
  • AI 不得运行构建、测试或脚本;
  • 允许考生手动运行测试的模拟,必须由考生操作并复制准确结果;
  • 保存完整对话、Token、最终 Diff 和测试结果;
  • 最后由另一套隐藏测试或人工参考实现评分;
  • 不允许训练中途查看隐藏测试。

二、训练题 A:订单库存预占服务

题目骨架

在已有后端工程中实现订单库存预占:

  • 创建订单时按商品预占库存;
  • 同一个请求键重复提交只能得到同一订单;
  • 任一商品库存不足时整个操作失败,库存不能部分扣减;
  • 订单可以确认或取消,但每个状态只能执行允许的操作;
  • 取消订单释放库存,重复取消不得重复释放;
  • 支持查询商品可用库存和订单状态;
  • 保持现有 API、错误结构和存储接口;
  • 商品数和订单数达到题目上限时仍需满足性能要求。

训练重点

  • 事务原子性;
  • 幂等;
  • 订单状态机;
  • 重复、乱序和部分失败;
  • 并发风险;
  • 接口兼容和错误语义。

隐藏测试设计方向

  • 第二个商品不足时,第一个商品库存不变;
  • 相同请求键但请求体不同如何处理;
  • 确认后取消、取消后确认、重复确认;
  • 未知商品、数量为 0、负数和上限;
  • 多行中重复出现同一商品;
  • 订单创建失败后请求键是否被错误占用;
  • 查询返回对象是否泄漏内部可变状态。

三、训练题 B:回合制技能结算引擎

题目骨架

在已有游戏工程中实现两名玩家的回合制技能系统:

  • 玩家轮流行动,每回合有固定行动点;
  • 普通攻击、治疗、护盾和中毒消耗不同点数;
  • 护盾先吸收伤害,中毒在回合开始时结算;
  • 生命值不能超过上限,也不能低于 0;
  • 玩家死亡后游戏结束,不允许继续行动;
  • 多个持续效果按照题目规定的优先级结算;
  • 非法动作必须拒绝且游戏状态完全不变;
  • 随机暴击通过已有随机数接口注入,测试必须可确定。

训练重点

  • 状态转换和事件顺序;
  • 不变量;
  • 失败原子性;
  • 回合边界;
  • 叠加效果;
  • 确定性和可测试随机数。

隐藏测试设计方向

  • 中毒在回合开始直接致死时,玩家能否继续行动;
  • 护盾吸收全部、部分以及刚好等于伤害;
  • 治疗溢出;
  • 行动点不足时所有状态是否不变;
  • 多个效果同时过期;
  • 游戏结束后的重复动作;
  • 随机数边界值;
  • 长序列后生命、护盾、效果持续时间仍满足不变量。

四、反馈闭环

完成后保存下面的训练记录:

markdown
# 模拟记录

## 结果
- 公开测试:
- 隐藏测试:
- 最终完成的 R 规则:

## 协作
- 总对话轮数:
- 有效推进轮数:
- 总 Token:
- 最大一次无效消耗:

## 失分
- 漏掉的题目限定词:
- 错误的假设:
- 最晚才发现的接口或状态问题:
- 哪个测试本可以更早发现:

## 下一次只改一件事
- …

有效推进的判断

一轮对话至少满足一项才算有效:

  • 新确认一条仓库或需求事实;
  • 完成一组明确的 R 规则;
  • 用测试或手推证实一个缺陷;
  • 排除一个有证据的根因;
  • 消除一个高概率隐藏测试风险。

只产生长解释、重复扫描或无关重构,不算有效推进。

五、四周训练计划

第 1 周:需求编译

  • 每天选择一道复杂工程题;
  • 只做 10 分钟需求—测试矩阵,不写代码;
  • 与标准答案或他人用例对照,统计遗漏限定词。

第 2 周:状态机和测试

  • 练订单、库存、审批、回合制和棋盘规则;
  • 为每题写状态转换表和不变量;
  • 从一份有缺陷实现中设计至少 10 个杀伤性测试。

第 3 周:受限 AI 协作

  • AI 禁止执行命令;
  • 使用 AI Coding笔试Prompt速查 完成两次 90 分钟模拟;
  • 记录每轮 Token 和有效进展,删除重复 Prompt。

第 4 周:完整模拟

  • 完成两次 120 分钟后端题和一次游戏规则题;
  • 引入未知隐藏测试;
  • 只根据结果和对话轨迹复盘,不在评分前修改;
  • 将最高频失误升级为个人检查清单。

六、自评表

下面是训练用自评分,不是任何平台的真实权重:

维度 检查问题
结果 核心路径和隐藏测试通过了多少
覆盖 每条题目规则是否有实现和测试
审核 是否发现 AI 的遗漏、幻觉和接口破坏
归因 每次修复是否基于具体证据
约束 是否考虑状态、并发、复杂度和失败语义
效率 是否存在无新证据的重复对话和扫描
接管 能否脱离 AI 解释关键状态机和代码路径

每次只选择一个最主要的失分原因进入下一周训练。一次同时改七个习惯,通常等于一个也练不牢。

相关笔记

相关文章

强化学习笔记 →上下文工程 →Mission: 掌握多模态 LoRA 与 QLoRA →