最近 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輔助 。關鍵不是“會不會”,而是“能不能一次寫對”。