最近刚做完 Amazon 4 月 13 日最新一批 OA, Amazon OA 标准配置还是 2 道 Coding 题 + 70 分钟(部分角色会加 Work Simulation)。平台多为 HackerRank 或内部系统。下面整理这场做的两道题,也是很经典的一套题,附核心思路和速通方法。

题目 1:Bug 报告优先级排序
题目
你需要帮助亚马逊质量保障工程师处理自动化测试生成的 bug 报告日志。每条日志包含一个整数 bug 代码,同一次测试会话中可能出现重复的 bug 代码(同一问题被多次触发)。
为了高效排优先级,遵循以下规则:
- 出现频率越低的 bug 优先级越高(代表罕见 / 边界问题)
- 若两个 bug 出现次数相同,代码数值更小的 bug 优先级更高
任务:按照优先级从高到低对 bug 代码排序。
示例
输入:bugs = [8, 4, 6, 5, 4, 8]
统计频率:
表格
| Item Code | Frequency |
|---|---|
| 8 | 2 |
| 4 | 2 |
| 6 | 1 |
| 5 | 1 |
排序规则:
- 频率 1 的 bug 优先于频率 2 的 bug
- 同频率下,代码小的优先:
5 < 6,4 < 8最终输出:[5, 6, 4, 4, 8, 8]
约束
1 ≤ n ≤ 2 * 10^51 ≤ bugs[i] ≤ 10^6
解题思路
- 统计频率:用哈希表(字典)统计每个 bug 代码的出现次数
- 自定义排序:排序的 key 为
(频率, 代码),按频率升序、代码升序排序 - 还原数组:按排序后的顺序,将每个 bug 代码按其频率重复,生成最终数组
题目 2:高频商品组合
题目翻译
亚马逊零售分析团队需要找出最常被一起购买的商品对,用于生成 “组合购买” 捆绑包。
在观测窗口内,每个客户订单记录为空格分隔的 SKU 字符串(如"B07 B08 B09")。
- 同一订单内,相同 SKU 重复出现仅计 1 次
- 任务:找出在最多订单中同时出现的不同 SKU 对;若多个组合并列第一,返回字典序最小的对(先比较第一个 SKU,再比较第二个)
- 最终返回按升序排列的两个 SKU
示例
输入:orders = ["B07 B08 B09", "B07 B08", "B08 B09"]
订单内组合:
- 订单 1:
{B07,B08}, {B07,B09}, {B08,B09} - 订单 2:
{B07,B08} - 订单 3:
{B08,B09}全局计数: {B07,B08} → 2{B07,B09} → 1{B08,B09} → 2并列最高频,字典序B07 B08更小,最终输出["B07", "B08"]
约束
1 ≤ n ≤ 10^5- 每个 SKU 为 1-10 个字母数字字符
1 ≤ len(orders[i]) ≤ 50- 每个订单至少 2 个、最多 15 个不同 SKU
解题思路
- 去重订单 SKU:对每个订单,先将 SKU 转为集合去重,再排序(保证组合
(a,b)中a < b,避免重复统计(b,a)) - 生成组合对:对每个订单的 SKU 列表,生成所有
C(k,2)个组合(k为订单内不同 SKU 数,最大 15,组合数最多15*14/2=105,总复杂度可控) - 统计组合频率:用哈希表统计每个组合的出现次数
- 筛选最优组合:遍历所有组合,找出频率最高、字典序最小的对
Amazon OA 高效准备建议
- 重点刷 LeetCode Amazon 高频(最近 6-12 个月 Medium-Hard),优先 Greedy、Prefix、Heap。
- 严格 70 分钟做 2 题,先易后难,留 10 分钟检查边界和优化。
- 常见坑点:边缘情况(空数组、无法满足返回 -1)、输出格式严格、浮点精度。
如果你正在准备 Amazon SDE1、SDE2 或 Intern 2026 OA,这些高频题吃透后,通过率会明显提升。4 月题目整体思路清晰,但需要较强的临时分析能力。
需要这些题的详细思路、完整 Python/Java 代码、更多变体,或者时间紧张想高效通关,欢迎联系 Programhelp 的 OA 辅助服务。我们提供 OA 代写、VO 实时思路引导以及全流程包过方案,已帮助大量同学顺利通过 Amazon 等大厂 OA。