AWS面試問題
作者 Aaron Cao · 更新於

AWS面試考察的是你是否真的在正式環境中維運過服務,而不是你能不能背出服務目錄。預期會遇到關於VPC網路、IAM、儲存類型和高可用性的核心問題,接著是關於成本、故障和遷移的情境題——這類題目考驗的是推理過程,而不是服務名稱本身。
AWS面試官到底在考察什麼?
你已經讀過服務清單,卻還是說不清面試到底會是什麼樣子。這種落差很正常,這一節就是要補上它:AWS的面試環節是為了搞清楚你是否真的維運過某項服務,而不是你能不能叫出它的名字。
這個規律會在追問中顯現。面試官問你會用哪個服務,你答對了,接下來的問題是為什麼不用另一個。真正維運過該負載的人,會從帳單、故障或遷移經驗中給出答案;只讀過文件的人則會卡住。真正決定AWS面試結果的,是第二個問題,而不是第一個。
反覆出現的環節有三種:考察網路、身分、儲存和運算的基礎環節;要求你在限制條件下做架構設計的情境或設計環節;以及給你一個現象、問你會先檢查什麼的故障排除環節。深度要求會隨資歷提高而上升,但結構大致不變。其他職缺與主題題庫請見面試問題庫。
最常出現的AWS核心問題有哪些?
以下是AWS面試中反覆出現的基礎問題,依環節常見的分類方式整理。
網路與VPC
- 什麼是VPC?公有子網路和私有子網路有什麼差別?
- 什麼時候需要NAT閘道?它會帶來什麼成本?
- 安全群組和網路ACL有什麼差別?
- 你會如何連接兩個VPC?什麼情況下對等連線(peering)是錯誤的選擇?
身分與安全
- 說明IAM角色、政策和使用者的差別,以及各自的使用時機。
- EC2執行個體如何在不儲存金鑰的情況下取得憑證?
- 最小權限原則在實際政策中會是什麼樣子?
- 你會如何在AWS中輪換和稽核密鑰?
儲存與資料庫
- 比較S3的各個儲存類型,並說明各自的使用時機。
- EBS和實例儲存(instance store)有什麼差別?
- 什麼時候會選擇DynamoDB而不是RDS?你會因此放棄什麼?
- 唯讀複本(read replica)和多可用區(multi-AZ)部署有什麼差別?
運算與可用性
- 說明自動擴展群組(auto scaling group),以及你會依據哪些指標來擴展。
- 什麼情況下Lambda是錯誤的選擇?
- 可用區(availability zone)和區域(region)有什麼差別?
- 你會如何設計架構,以應對整個可用區失效的情況?
如何回答情境題?
情境題才是真正拉開候選人差距的部分,因為它沒有可以死記硬背的標準答案。常見的題目包括:
- 我們的月度帳單翻了一倍,但流量沒有增加,你會如何找出原因?
- 設計一個能處理過大檔案(單次請求無法承載)的檔案上傳流程。
- 某個服務只在一個可用區裡變慢,你會先檢查什麼?
- 把一個地端資料庫遷移到AWS,且要把停機時間降到最低,請說說你的思路。
- 你會如何讓這個架構在區域級故障中仍能存活?這需要付出什麼成本?
每次都按同樣的順序作答:先重述你認為最關鍵的限制條件,再大聲說出你的假設,然後選定服務,最後說出你所接受的取捨。面試官真正在聽的是最後那句取捨,因為它能證明你清楚這個選擇付出了什麼代價。
一位後端工程師在應徵一家中型公司的平台職缺時,被要求設計一個上傳流程。她沒有立刻說出S3,而是先問上傳是否面向使用者、檔案通常有多大,接著選擇了搭配分段上傳(multipart upload)的預先簽署URL方案,並說明自己排除了讓應用程式伺服器中轉的做法,因為那樣會讓輸送量變成一個擴展性問題。服務的選擇本身很普通;真正被記住的是她的推理過程。
該如何練習這些問題?
閱讀問題清單並不是練習。AWS面試中最常見的失敗模式,是明明知道答案,卻把它講成一段沒有結構的獨白——而這個問題只有在你真正開口說的時候才會顯現出來。
把上面的題目一題一題大聲說出來,並嚴格遵守四段式順序:限制條件、假設、選擇、取捨。錄下幾段回放,留意你的回答從哪一刻開始失去結構。把同一套題目放進模擬面試練習,還會加上追問環節——這是你一個人練不出來的部分,也是AWS面試官最倚重的部分。
有一點需要說清楚:部分AWS篩選環節是自動化、錄影或有監考的測驗,而不是真人對話。這類情境不在任何即時助手(包括SubcueAI)的適用範圍內。在這種情況下,唯一有幫助的只有事先準備,至於哪種形式對應哪種情況,可參見面試類型庫。