🇺🇸 Amazon 最近又開始批次發 OA 了,我這場 Amazon OA 是 12 月 17 號收到的,
測試平臺是 HackerRank,2 道 Coding 題,沒有行為面,全程就是硬核做題。
整體感受是:
題目不算偏門,但題幹很長、邏輯繞
如果讀題不仔細,很容易一開始方向就錯
時間壓力不小,寫程式碼之前一定要把規則捋清楚
下面是兩道題的完整覆盤。

第一題:Server Allocation + Cost Calculation
題意概述
- 給一個陣列
servers - 下標表示伺服器
- 陣列值表示 當前伺服器可用的空閒例項數量
現在有 m 位顧客,每位顧客 依次 來租伺服器例項,規則如下:
- 每位顧客都會選擇 當前空閒例項最多的伺服器
- 選擇後,該伺服器的空閒例項數 減 1
- 在“選擇之前”,會產生一次
cost
cost = 當前伺服器中
最小空閒例項數
+ 最大空閒例項數
最終要求:
m 位顧客分配完成後,所有 cost 的總和
關鍵考點
這題表面是模擬,實際上考的是:
- 優先佇列(Heap)
- 每一步都要 動態維護 min / max
- 非常容易寫成 O(nm) 直接超時
正確思路方向(不貼程式碼,但給思路)
- 用一個 最大堆 維護當前空閒例項最多的伺服器
- 同時維護一個 最小堆 或者能快速拿到當前最小值
- 每一輪:
- 先讀取當前 min + max → 計入 cost
- 再 pop 最大值,減 1 後重新 push
坑點
- 多個伺服器空閒數相同的情況
- 減到 0 之後是否還參與比較
- m 可能大於伺服器總例項數(是否繼續選)
這道題非常 Amazon 風格:
規則寫得很長,但真正的難點在“你能不能保持狀態一致”
第二題:Warehouses 分組 + 最大化最小半區總量
這道題明顯比第一題難一檔,讀題本身就是第一道門檻。
題意拆解
已知:
- 有若干個
logs- 每個 log 有對應的 parts 數量
- 有
k個 warehouses(k 一定是偶數)
儲存規則:
- 每個 warehouse 只能儲存來自同一個 log 的零件
- 同一個 log 的零件 可以分散存到多個 warehouse
- 如果 warehouse 不夠,可能會有部分 log 的零件無法儲存
儲存完成後:
- 將 warehouses 按儲存零件數排序
- 前一半(
0 ~ k/2):儲存的零件數 最多 - 後一半(
k/2 ~ k):儲存的零件數 最少
目標
最大化:後一半 warehouses 的零件數總和
也就是說:
不是讓總儲存最多,而是
讓“最差的一半”儘量不差
這題在考什麼?
本質是一個:
- 資源分配 + 排序 + 貪心 / 二分 / DP 思維
- 非常像 Amazon 常出的: maximize the minimum / balance the worst case
思考方向(面試官期望)
- 你要意識到:
前一半 warehouse 存多少不重要
關鍵是怎麼“抬高後半部分的地板” - 常見思路包括:
- 二分答案(猜後半最小和能不能達到)
- 貪心分配小塊優先填後半
- 控制單個 log 被拆分的方式
這是那種:
寫不完程式碼也沒關係,但思路一定要對
為什麼你需要 ProgramHelp 的OA實時輔助?
看完上面的解析,你可能覺得自己懂了。但在實際 OA 倒計時 90 分鐘 的高壓下,面對 HackerRank 黑底白字的 IDE,你真的能保證:
- Bug-free: 一次性寫對 Heap 操作,處理好 Edge Cases(比如 max 減小後變成了 min)?
- 閱讀理解: 在 5 分鐘內讀懂第二題那個繞口令一樣的需求?
- 程式碼查重: 你的程式碼不會和 GitHub 上的一模一樣而被 Flag?
不要拿你的 Dream Offer 賭博。
我們提供的 High-End 服務:
- 實時螢幕共享輔助 (Screen Share Support): 我們的演算法專家與你實時連線,你在做,我們在看。遇到卡頓,直接語音/文字提示思路和程式碼。
- 原創程式碼保證: 每一行程式碼都由我們在副屏手寫,符合你的 Coding Style,絕非網上的 Copy-Paste。
- All Cases Passed: 我們的目標不僅僅是做完,而是全綠。
推薦閱讀 / 備考參考連結:
👉 亞馬遜 SDE OA 全流程覆盤|高頻真題 + 備考建議一次講清
📍 全面介紹 Amazon OA 形式、典型真題和準備策略,是你寫 Amazon 面經時非常好的參考資料。Amazon SDE OA 全流程覆盤|高頻真題 + 備考建議一次講清
👉 Atlassian OA 面經|ProgramHelp 全程語音助攻的真實體驗
📍 ProgramHelp 在 Atlassian OA 中的實戰使用覆盤,可拿來作為“服務實際效果”的參考案例。Atlassian OA 面經|ProgramHelp 全程語音助攻的真實體驗
👉 Jump Trading SDE 面經分享|ProgramHelp 遠端助攻全程陪伴
📍 ProgramHelp 在金融科技公司現場和 VO 面試中的助攻案例分享,對準備量化或 SDE 面試也有啟發。Jump Trading SDE 面經分享|ProgramHelp 遠端助攻全程陪伴