阿里巴巴测试怎么准备

更新于 2026-09-02 · 面试易

阿里测试面试常问交易:幂等、超卖、回调乱序。这是事故级质量。

五题覆盖下单、库存、回调、大促和值班。用你测过的交易来答。

阿里怎么面测试

面试阶段与知识点

第一批不把每个阶段拆成独立 URL,避免程序化重复页。阶段对应下面的题,练完再用模拟面试串起来。

值得开口练的题

每题给考察点、思路、结构化参考答案和追问。参考答案用来组织语言,面试时必须换成你自己的项目事实。

如何测重复提交只生成一笔订单?

难度 中等 · 出现频率 高 · 质量保障

考察点

  • 连点与重试
  • 幂等键校验
  • 库表对账

回答思路

我会从连点、超时重试和杀进程恢复三条路径施压,断言同一幂等键在订单库只落一笔,并可查询到唯一终态。

结构化参考答案

  1. 前端连点、接口层重复 POST、支付前杀进程恢复后再次提交,每种路径记录 requestId 或 idempotencyKey。
  2. 每次操作后查询订单列表与详情接口,并直连测试库核对 order 表行数与状态,拒绝「页面只显示一条但库里有双份」。
  3. 刻意绕过前端防抖(如脚本直连接口),验证服务端幂等是否真正生效,而不只依赖 UI 锁按钮。
  4. 收口提供可重复执行的压测脚本、对账 SQL 或报表链接,并标注大促前必须重跑的频次。

面试官可能追问

  • 前端下单锁被绕过脚本直打接口时,你如何验证服务端幂等?
  • 接口层重复请求你会如何在测试环境构造?
  • 订单重复风险你会如何设计日常对账或巡检?

用这道题开始模拟面试

库存 1 件双请求,你如何构造超卖测试?

难度 困难 · 出现频率 高 · 项目深挖

考察点

  • 真并发
  • 库存断言
  • 回补验证

回答思路

我会用并发闸门对同一 SKU 同时发起两笔下单请求,观察库存扣减与订单成功数,断言不出现负库存或双成功无回补。

结构化参考答案

  1. 在测试环境准备库存为 1 的商品,用 JMeter、脚本或内部压测工具在同一毫秒级窗口打出两笔 createOrder。
  2. 断言:最多一笔支付成功或两笔均失败但有明确原因;inventory 表 quantity 不为负,超卖时有回补或取消机制。
  3. 若存在缓存预减,分别测「缓存命中旧值」和「DB 扣减失败回滚」两条链路,避免只测 happy path。
  4. 用例可重复跑并记录成功率,作为大促前库存模块的必跑门禁项。

面试官可能追问

  • 有缓存预减时,超卖测试需要额外覆盖哪些节点?
  • 回补延迟到达时,用户侧应看到什么状态才算合格?
  • 如何在不占用真实仓库库存的前提下构造这类用例?

用这道题开始模拟面试

支付回调和关单乱序,用例怎么写?

难度 中等 · 出现频率 高 · 基础知识

考察点

  • 顺序注入
  • 终态断言
  • 对账补偿

回答思路

我会注入「先关单后回调」和「先回调后关单」两种乱序,断言订单终态可解释、资金可对账,不存在沉默丢钱或双扣。

结构化参考答案

  1. 在测试环境通过 mock 或延迟队列控制回调与关单消息的到达顺序,覆盖支付成功、超时关单、重复回调等组合。
  2. 每种组合断言唯一终态:已支付、已关闭待退款或明确失败,用户侧文案与后台状态一致。
  3. 核对支付流水、订单状态和退款单是否闭环;重复回调应幂等,不应二次加权益或二次扣款。
  4. 把高频乱序场景沉淀为自动化用例,并在大促演练中纳入支付链路专项。

面试官可能追问

  • 你会如何模拟支付回调延迟数分钟才到达?
  • 同一笔支付重复回调多次时,断言标准是什么?
  • 对账报表由谁日常查看、测试如何配合验证?

用这道题开始模拟面试

大促降级关掉推荐,购买是否仍可用?你如何测?

难度 入门 · 出现频率 中 · 编码与实现

考察点

  • 降级开关
  • 主路径购买
  • 监控可用

回答思路

我会打开大促降级开关关闭推荐模块,走搜索或直达 SKU 的购买主路径,断言加购、结算和监控项仍正常且无白屏。

结构化参考答案

  1. 在预发或演练环境通过配置中心打开「关闭个性化推荐」类开关,确认生效版本与生效范围。
  2. 从商品详情加购、进购物车、提交订单到支付前校验,全程不应因推荐服务不可用而阻断交易。
  3. 页面降级应有合理占位或隐藏模块,不能出现整页白屏或无限加载;关键接口超时有友好提示。
  4. 同时检查核心交易监控、告警和日志采集仍上报,避免降级后「看不见故障」。

面试官可能追问

  • 配置中心本身不可用时的容灾行为,你会如何单独测?
  • 大促降级演练一般多久做一次、包含哪些角色?
  • 自动化如何切换不同降级开关组合?

用这道题开始模拟面试

大促现场要跳过你的拦截,你怎么办?

难度 入门 · 出现频率 高 · 行为与协作

考察点

  • 资金红线
  • 升级路径
  • 书面记录

回答思路

涉及资金正确性、超卖和支付安全的拦截我不会放行;其余风险书面升级给负责人,记录决策并约定事后补测与复盘时间。

结构化参考答案

  1. 先区分需求类型:体验优化可协商,幂等、库存、回调、对账类缺陷属于红线,需明确告知后果。
  2. 当场拉值班负责人或业务 owner 到同一频道,用监控数据、复现步骤和影响面说明「跳过」的实际代价。
  3. 若仍被决定放行,要求书面或工单记录:决策人、时间、已知风险和补测 deadline,测试侧留存截图。
  4. 高峰过后优先补跑被跳过的用例,并把是否应升级为发布门禁写入复盘结论。

面试官可能追问

  • 资金与库存红线的最终 owner 一般是谁、你如何找到对方?
  • 现场节奏很快,你如何减少拦截被口头绕过的概率?
  • 事故或大促结束后,这类「临时放行」如何复盘?

用这道题开始模拟面试

和岗位、模拟面试一起用

资料管理里保存目标岗位 JD,模拟面试会按简历出题。点题目下的按钮会把本题带进模拟开场,仍需先绑定简历与岗位。

用模拟面试练阿里测试