最近剛做完 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。