最近為了準備 Amazon 2026 Summer SDE 的實習申請,我係統性地刷了一遍亞麻的 OA 題庫。這場正式的 Online Assessment 做下來,整體節奏非常流暢,兩道題目都在 70 分鐘內一次透過(AC)。
這兩題是非常典型的 Amazon HackerRank 風格:沒有複雜故事背景,直接考察純邏輯推理與工程實現。這類題並不依賴 LeetCode 那些複雜演算法,而是要求你能把業務規則拆成清晰、可執行的程式碼邏輯,對程式碼速度、思路條理和工程化思維都有不低要求。
下面按照真實的考試體驗,為大家詳細覆盤這次 OA 的流程,並對兩道題目做深度拆解。
整體流程與個人節奏
進入 HackerRank 後,介面一如既往地簡潔,直接展示兩道題,70 分鐘倒計時開始。
我先快速通讀兩題題意,確認難度在預期範圍內,沒有特別生硬的演算法。隨即決定解題順序:
先做需要數學邏輯拆解的第一題,再做實現更直觀的第二題。
因為之前做過不少亞麻 OA,當天看到的內容非常熟悉。它們並不是那種“看到就知道用什麼演算法模板”的題,而是更偏向系統邏輯拆分與資料處理。只要理解規則,把約束條件用工程化的方式落實成程式碼,AC 基本沒有懸念。
Problem 1: Compute Minimum Groups Based on Server Security Levels
第一道題是關於伺服器安全等級分組的。給你一堆伺服器,每臺都有一個安全等級。要求是同一組的伺服器等級要一樣,而且所有組的大小要麼相同,要麼最多差 1,然後問最少需要多少組。我的做法是先統計每個等級的伺服器數量,比如 A 級 10 臺,B 級 7 臺,C 級 3 臺,這樣得到一個頻次陣列。核心思路是找一個組大小 g,讓每個等級的伺服器數量都能拆成若干組,每組大小是 g 或 g+1。然後遍歷所有可能的 g,從 1 到最大頻次,逐個驗證每個 g 是否可行,能行的話就算總組數,最後取最小的。這個方法不用複雜演算法,主要是列舉和驗證可行性,邏輯清楚、工程化。
Problem 2: Maximum Bandwidth Contribution with Primary–Secondary Pairing
這道題是關於最大頻寬貢獻。給你一堆節點頻寬,還有一個 streamCount,意思是要選前 streamCount 個節點作為 primary,每個 primary 要配一個剩餘頻寬最大的 secondary。首先把頻寬陣列降序排序,然後取前面幾個最大的作為 primary。配對策略很簡單,每個 primary 就拿當前最大的剩餘值作為 secondary,如果需要可以自己配自己,因為題目允許重複使用。最後累加每個 primary 和對應 secondary 的值,就是最大總貢獻。思路很直觀,就是降序 + 貪心配對,不會出什麼意外。
整體總結與備考建議
這一套 26 Summer SDE OA 非常具有亞麻特色:
1. 重邏輯拆解,輕演算法技巧
核心不在於你是否會某個冷門演算法,而在於你是否能快速讀懂規則,把它實現正確。
2. 資料規模合理,不需過度最佳化
題目鼓勵清晰的工程實現,不需要不必要的微最佳化。
3. 時間管理是關鍵
70 分鐘兩題,要求你在實現時儘量減少 debug 時間,理解越清晰,越能一次 AC。
給備考同學的建議
- 刷題不要只看 LeetCode 的 Hard,建議多刷亞麻歷年 OA 真題
- 練習“閱讀理解能力”與“規則拆解能力”
- 寫程式碼前先把約束條件畫出來,整理成幾個邏輯分支
- 熟悉 HackerRank 的節奏與輸入輸出格式
只要能做到:
理解清晰 + 穩定實現
亞馬遜 OA 基本都能順利透過。
祝大家都能順利拿下亞麻的 Offer!
理解了邏輯只是第一步,完美的考場執行力才是拿下面試的關鍵
你已經付出了 99% 的努力,千萬別倒在最後這 1% 的臨場發揮上。為什麼不給自己的求職之路上一道“雙保險”?ProgramHelp 專注於解決關鍵時刻的“掉鏈子”問題。無論是需要 OA 實時穩定助攻,還是需要資深面試官進行 VO輔助,我們都在這裡,確保你展現出最佳狀態。把壓力和風險交給我們,你只需要負責自信地拿下 Offer。