Terraform 面試會遇到哪些問題?
作者 Aaron Cao · 更新於

預期問題分為四類:核心工作流程(init、plan、apply、destroy)、狀態(遠端後端、鎖定、敏感值)、程式碼結構(模組、變數、工作區、供應商),以及組態漂移、apply 執行到一半失敗,或匯入手動建立資源等情境。面試官評估的是每項選擇背後的推理。
面試官最先檢查哪些 Terraform 基礎知識?
大多數 Terraform 面試會從工作流程開始,接著迅速深入其底層運作。你應能不看筆記說明整個生命週期:terraform init 會下載供應商並設定後端;terraform plan 會比較所需組態、狀態檔與實際資源,然後列出預計採取的動作;terraform apply 會執行該計畫;terraform destroy 會移除由組態管理的資源。第一個追問幾乎總是為何 plan 與 apply 要分開,而答案是審查與安全性:在進行任何變更之前,可以先檢查、核准並儲存計畫。
- 供應商。與 AWS、Azure、Google Cloud 或 Kubernetes 等 API 溝通的外掛程式。追問:為什麼要鎖定供應商版本?
- 資源與資料來源。資源是 Terraform 建立並擁有的項目;資料來源則讀取其不管理的既有項目。
- 變數、區域值與輸出。分別是輸入、計算值與匯出值。追問:如何避免祕密出現在計畫輸出中?
- 相依性圖。Terraform 會依資源之間的參照決定操作順序;對於相依性圖無法辨識的相依關係,可使用
depends_on。
回答時要說明每個命令會讀取和寫入什麼。若應徵者能指出 plan 是唯讀的,而 apply 會同時變更基礎架構與狀態,就已表明自己理解這套模型。
我該準備哪些狀態與模組問題?
你知道狀態很重要,也猜得到面試官會試探你的理解邊界。這很合理,因此本節會涵蓋觸及該邊界的問題,以及完整答案應包含的內容。
- 狀態存放在哪裡,為何不放在本機?物件儲存貯體、Terraform Cloud 或資料庫等遠端後端,可提供共享的單一真實來源。接下來會追問鎖定:兩個人同時執行 apply 會損壞狀態,因此支援鎖定的後端會拒絕第二次執行。
- 狀態檔包含什麼?資源屬性,包括你可能視為敏感資訊的值。應說明狀態必須視為機密資料,採用靜態加密並實施存取控制。
- 模組。模組是一組可重複使用的資源,擁有自己的輸入與輸出。面試官會問如何管理模組版本、如何避免打造企圖包辦一切的模組,以及根模組如何組合子模組。
- 工作區與獨立組態的比較。工作區可讓一份組態使用多個狀態檔。陷阱答案是把工作區當成完整的環境策略;正式環境通常應有自己的組態、後端與認證,而不是只靠切換工作區。
- 在不銷毀資源的情況下重構。重新命名資源會讓 Terraform 想要銷毀並重建它。你應了解
moved區塊與terraform state mv的用途。
回答這裡的每個問題時,可遵循一項好原則:說出該做法能防止的失敗。鎖定可防止並行操作造成損壞;遠端狀態可防止不同筆電上的狀態分歧;鎖定版本可防止例行 apply 時意外升級。
情境題通常怎麼問?
資深職位的多輪面試會以實際情境取代定義題。一個典型例子是:某金融科技公司面試基礎架構職位的平台工程師,被告知有人在雲端主控台中手動修改了安全群組,下一次計畫顯示出無人預期的差異,團隊因此不敢執行。優秀的回答會指出這是組態漂移,解釋 plan 已透過重新整理實際狀態發現它,判斷是否應保留或還原手動變更,接著更新組態以符合現況,或執行 apply 來恢復宣告的狀態。面試官想聽的是決策,而不是命令。
其他常見情境包括:apply 執行到一半失敗,以及之後的狀態會如何;Terraform 出現前建立的資源,以及如何用 terraform import 將其納入管理;多人組成的工程團隊,以及如何安排儲存庫、後端與 CI,讓計畫在提取要求上執行,而 apply 只執行一次;變數中的祕密,以及它們應改由何處提供;會改變資源行為的供應商升級。每種情況都要說明限制條件、選擇機制,並指出其代價。
如果你事先曾大聲說出答案,就更容易答好這些問題。模擬面試模式會進行情境題與追問,其他職位與工具題庫則整理在依職位與主題分類的面試題中。
AI 面試助手能在 Terraform 面試中提供協助嗎?
對話形式的部分可以,但有些限制值得明確說明。SubcueAI 的原生 macOS 與 Windows 桌面應用程式會擷取系統音訊和你的麥克風,並在本機浮層顯示簡短建議。因此,當面試官問狀態鎖定能防止什麼時,你可以一邊說明,一邊在眼前看到相關機制。瀏覽器擴充功能的側邊面板也能在 Chrome 或 Edge 的瀏覽器分頁通話中提供同樣功能,且只擷取會議分頁的音訊。不會有機器人加入通話,也不會將任何內容注入會議頁面;設定步驟請見教學頁面。
不適用的情況包括:受監考的評量、螢幕錄影、公司管理的筆電,或在他人觀察下撰寫 HCL 的即時練習。SubcueAI 創辦人 Aaron Cao 將設計目標描述為提示你已掌握的知識,而非取代這些知識;因此,這款助手會依據你的履歷與你自己的措辭提供協助。誠實的使用界線整理於可偵測性主題群。