最近 Amazon 2026 Intern 又开始陆续发 OA 了,这一波节奏明显加快,基本可以说是“随投随来”。这段时间连续做了不少场,整体体验还是那句话:题在变,但套路没变。
如果你之前刷过亚麻题库,这一轮上手会非常顺;如果是第一次做,可能会有点懵,但其实抓住核心思路,依旧是可以在十几分钟内 AC 的。
这篇就简单复盘一场最近遇到的 OA ,给大家一个参考。

Code Question 1(亚马逊云系统容量优化题)
亚马逊的开发者正在优化其云系统的容量。系统中有 n 台服务器,第 i 台服务器的内存容量由数组 memory[i] 表示。系统始终包含偶数台服务器:若有 2x 台服务器,则其中 x 台为主服务器(primary),另外 x 台为备份服务器(backup)。
对于每一台主服务器 P,都存在一台备份服务器 B,满足 memory[B] ≥ memory[P]。系统的总内存容量是所有主服务器内存容量之和。
给定 n 台服务器和数组 memory,求使用这 n 台服务器能组成的最大系统内存容量。
示例说明
输入:memory = [2, 4, 3, 1, 2](注意:题目示例中写的是 5 台,但实际应为偶数台,这里按逻辑修正为可配对的情况)
- 目标:选出
x台主服务器,每台都能找到对应的备份服务器(备份服务器内存 ≥ 主服务器),且主服务器内存之和最大。 - 最优方案:排序后取较小的
x个作为主服务器,较大的x个作为备份服务器,这样能保证每个主服务器都有对应的备份,同时主服务器之和最大。
解题思路
为了让主服务器容量最大,应优先选内存最大的服务器并两两配对。将内存数组按降序排序,每相邻两个元素成一对,较大的作备份,较小的作主服务器。即对降序排序后的数组,从第二项开始每隔一项进行累加即可。
Code Question 2(SKU 共现频次计算)
亚马逊零售分析团队想要找出最常被一起购买的商品对,以便创建 “经常一起购买” 的捆绑套餐。
在观察期内,每个客户订单都被记录为一个用空格分隔的 SKU 字符串列表(例如 "B07 B08 B09")。
在同一个订单中,同一个 SKU 可能重复出现,但在统计捆绑套餐时,重复项只计为一次。
你的任务是:找出在最多订单中共同出现的两个不同 SKU。如果有多个并列第一的商品对,返回字典序最小的那一对(先比较第一个 SKU,再比较第二个 SKU)。
示例说明
输入:
plaintext
orders = ["B07 B08 B09", "B07 B08", "B08 B09"]
- 订单 1 的 SKU 集合:
{B07, B08, B09}→ 生成商品对:(B07,B08),(B07,B09),(B08,B09) - 订单 2 的 SKU 集合:
{B07, B08}→ 生成商品对:(B07,B08) - 订单 3 的 SKU 集合:
{B08, B09}→ 生成商品对:(B08,B09)
全局统计:
(B07,B08):出现 2 次(B07,B09):出现 1 次(B08,B09):出现 2 次
并列第一时,字典序比较:(B07,B08) < (B08,B09),所以返回 ["B07", "B08"]。
解题思路
去重处理:对每个订单,先将 SKU 转为集合,去除重复项。
生成有序商品对:对集合中的所有 SKU 两两组合,按字典序排序后作为键(保证 (A,B) 和 (B,A) 是同一个键)。
统计频次:用哈希表统计每个商品对出现的订单数。
寻找结果:遍历哈希表,找到出现次数最多的商品对;若有多个,选择字典序最小的。
关于 Amazon 2026 Intern OA 准备的一点补充
如果你已经在准备 Amazon 或类似公司的 OA,其实可以提前模拟真实考试环境:
- 限时做题
- 强化 debug 能力
- 提高一次 AC 成功率
如果你不想在关键 OA 上赌状态,也可以看看一些更稳的方式来保证发挥,比如提前做针对性模拟或者获取实时 OA辅助 。关键不是“会不会”,而是“能不能一次写对”。