最近 Amazon 2026 SDE Intern 的 OA 和 VO 正在大量發放,身邊陸續有同學收到面試邀請,也有不少人已經拿到 Offer。與此同時,不少同學也在關注 Amazon SDE 2 salary 的行情——畢竟 Intern 轉正之後直接對應的就是 SDE 1/2 的薪資體系,提前瞭解也是對自己負責。
我走完整條流程後最大的感受是:Amazon 的面試遠比想象中更難——不是因為演算法題有多偏,而是 Leadership Principles 的追問深到讓人窒息,Coding 的 Follow-up 也幾乎不給人喘息空間。如果你正在準備 Amazon SDE Intern 或 New Grad,希望這篇整理能給你一些實在的參考。

Amazon 2026 SDE Intern 時間線
- 3.9 OA
- 3.12 / 3.17 保溫
- 4.6 收到面試邀請
- 4.10 面試小延期
- 4.21 VO 兩輪(60 分鐘/輪)
- 4.23 收到 Offer(AWS 團隊)
從 OA 到 Offer 前後將近兩個月,中間等待期比較煎熬,保溫郵件收了兩封,不用太焦慮,耐心等就好。
Amazon SDE 2 Salary 參考(2026,美國)
亚麻的薪资结构和很多大厂不太一样,base salary 有硬性上限(目前约 $175K–$185K),超出部分全靠 RSU 和 sign-on 补齐,所以谈 offer 的时候重点要放在股票上,而不是死磕 base。
總包構成
| 組成部分 | 說明 |
|---|---|
| Base Salary | 固定月薪,SDE 2 通常在 $150K–$185K 區間 |
| RSU(限制性股票) | 主要浮動部分,4年 Vesting,5/15/40/40 分配 |
| Sign-on Bonus | 入職前兩年補償 RSU vesting 較慢的現金獎勵 |
| 年終獎 | 亞麻不設傳統年終獎,部分團隊有小額 performance bonus |
第一輪 VO(AWS 團隊,SDE I + SDE II 雙面試官)
進會議室之後發現螢幕裡有兩個人,一位 SDE II,一位 SDE I,SDE I 主導提問,SDE II 旁聽偶爾插話。這個安排比較少見,大機率是帶新人或者內部 calibration,不用想太多,正常應對就行。
BQ 環節(約 20 分鐘)
開場先聊了幾句自我介紹,然後直接進入兩個 LP 問題。
LP 1:Missing Deadline
問你有沒有遇到過沒能按時交付的經歷,怎麼處理的。
這道題的坑在於很多人會把重心放在”解釋為什麼沒完成”,但亞麻想聽的是你如何識別風險、如何主動溝通、如何重新排優先順序。我用的故事是一次課程專案中發現上游依賴 delay,當時的處理是:
- 提前兩週識別出風險,沒有等到 deadline 才暴雷
- 主動同步給 PM 和 stakeholder,給出兩個備選方案和對應時間估計
- 和團隊重新拆解任務,優先保證 MVP 可交付
- 最終晚了三天交付,但核心功能完整,stakeholder 沒有提出異議
回答完 SDE I 追問了一句:”如果時間還能再往前推,你會在哪個節點做得不一樣?” 這種追問其實是在考你有沒有真正覆盤,我回答了應該在專案啟動階段就設定更細的 milestone checkpoint,他點了點頭。
LP 2:Invent and Simplify
問你有沒有主動簡化一個複雜系統或流程的經歷。
重點不是”我做了一個很酷的東西”,而是你為什麼覺得原來的方案複雜、你是怎麼發現簡化空間的、簡化之後帶來了什麼可量化的改進。我用的例子是把一個多步驟的資料處理指令碼重構成流水線,減少了約 40% 的執行時間,同時降低了新人上手的理解成本。
SDE II 這時候插了一句:”你當時有沒有考慮過簡化可能帶來的風險?” 我回答了做了迴歸測試並且保留了舊版本作為 fallback,他沒有繼續追。
Coding(40 min)
題目一:合併 K 個有序連結串列
题目就是 LeetCode 23,给定 K 条已经升序排列的链表,将它们合并成一条有序链表。
我直接說用優先佇列,面試官點頭示意可以開始寫。
核心思路:
- 把每條連結串列的頭節點壓入最小堆
- 每次取出堆頂節點接入結果連結串列,再把該節點的 next 壓入堆
- 時間複雜度 O(N log K),N 是所有節點總數,K 是連結串列數量
程式碼寫完之後我主動走了一遍 trace,用三條連結串列 [1->4->5], [1->3->4], [2->6] 演示了一遍堆的變化過程,兩位面試官都在看。
Follow-up:如果記憶體有限,無法一次性載入所有節點怎麼辦?
這個追問有點超出預期,我停了幾秒想了一下,回答了兩個方向:
- 外部排序思路:把連結串列分批載入,每次只在記憶體中維護當前批次的堆,歸併結果寫回磁碟,最終多路歸併
- 分治歸併:兩兩歸併,每次只需要在記憶體中同時維護兩條連結串列,反覆迭代直到剩最後一條
面試官說”這個方向對,你能說說兩種方式的 IO 次數差異嗎?” 我答了分治在最壞情況下需要 log K 輪,每輪需要讀寫全部資料,IO 代價是 O(N log K)。他點頭說 yes,沒有繼續深挖。
題目二:編輯距離
題目是 LeetCode 72,給定 word1 和 word2,求最少運算元將 word1 轉換成 word2,允許插入、刪除、替換三種操作。
經典二維 DP,我直接定義狀態和轉移方程:
dp[i][j] = word1 前 i 個字元轉換為 word2 前 j 個字元的最少運算元
if word1[i] == word2[j]:
dp[i][j] = dp[i-1][j-1]
else:
dp[i][j] = 1 + min(
dp[i-1][j], // 刪除 word1[i]
dp[i][j-1], // 插入 word2[j]
dp[i-1][j-1] // 替換
)
寫完之後 SDE I 直接上 Follow-up。
Follow-up 1:只允許插入和刪除,不允許替換,狀態轉移方程怎麼改?
我想了一下,替換本質上等於先刪除再插入,代價從 1 變成 2,所以只需要把 dp[i-1][j-1] + 1 改成 dp[i-1][j-1] + 2 即可,其餘不變。他說對,繼續問。
Follow-up 2:如何將空間複雜度最佳化到 O(min(m, n))?
標準滾動陣列最佳化,讓較短的那個詞作為列,只保留當前行和上一行。需要注意的是在更新 dp[i][j] 之前要用一個臨時變數暫存 dp[i-1][j-1] 的值,否則更新之後就丟失了。我寫出來之後他們看了一眼說 good。
寫在最後
這次 Amazon SDE Intern 能順利透過,我最大的感受是:一個人準備真的很吃力。
從 Leadership Principles 的故事打磨,到 Coding Follow-up 的深度應對,再到系統設計細節的梳理,我一個人摸索了很久。後來找到 Programhelp 後,效率提升非常明顯。如果你也在準備 Amazon Intern、New Grad,或者其他大廠的面試,感覺一個人複習方向不清晰、壓力比較大,可以考慮瞭解一下 Programhelp。
他們專注提供 OA 實戰輔助 和麵試指導,學長會直接跟你溝通,根據你的具體情況給出實用建議。
有需要的同學可以直接聯絡 Programhelp 詳談。感謝閱讀,祝大家早日拿到心儀 Offer!