Tôi nên chuẩn bị cho những câu hỏi phỏng vấn Terraform nào?
Bởi Aaron Cao · Cập nhật

Hãy chuẩn bị câu hỏi thuộc bốn nhóm: quy trình cốt lõi (init, plan, apply, destroy), trạng thái (backend từ xa, khóa, giá trị nhạy cảm), cấu trúc mã (mô-đun, biến, workspace, provider) và các tình huống như sai lệch, apply thất bại giữa chừng hoặc nhập những tài nguyên được tạo thủ công. Nhà tuyển dụng đánh giá lập luận đằng sau mỗi lựa chọn.
Nhà tuyển dụng kiểm tra kiến thức Terraform cơ bản nào trước?
Hầu hết các cuộc phỏng vấn Terraform bắt đầu bằng quy trình làm việc rồi nhanh chóng chuyển sang những gì diễn ra bên dưới. Hãy sẵn sàng trình bày vòng đời mà không cần ghi chú: terraform init tải provider xuống và cấu hình backend; terraform plan so sánh cấu hình mong muốn với tệp trạng thái và tài nguyên thực tế, sau đó hiển thị các hành động dự kiến; terraform apply thực thi plan đó; terraform destroy xóa những gì cấu hình đang quản lý. Câu hỏi tiếp theo gần như luôn là tại sao plan và apply lại là các bước riêng biệt, và câu trả lời là để rà soát và đảm bảo an toàn: plan có thể được kiểm tra, phê duyệt và lưu lại trước khi có bất kỳ thay đổi nào.
- Provider. Các trình cắm giao tiếp với API như AWS, Azure, Google Cloud hoặc Kubernetes. Câu hỏi tiếp theo: tại sao phải cố định phiên bản provider?
- Tài nguyên và nguồn dữ liệu. Tài nguyên là những thứ Terraform tạo và sở hữu; nguồn dữ liệu đọc những thứ hiện có mà Terraform không quản lý.
- Biến, giá trị cục bộ và đầu ra. Giá trị đầu vào, giá trị được tính toán và giá trị được xuất. Câu hỏi tiếp theo: làm thế nào để giữ bí mật không xuất hiện trong đầu ra của plan?
- Đồ thị phụ thuộc. Terraform sắp xếp các thao tác dựa trên tham chiếu giữa các tài nguyên;
depends_ondành cho những quan hệ phụ thuộc mà đồ thị không thể nhận biết.
Hãy trả lời bằng cách nêu rõ mỗi lệnh đọc và ghi gì. Ứng viên nói được rằng plan chỉ đọc, còn apply thay đổi cả hạ tầng lẫn trạng thái đã cho thấy họ hiểu mô hình.
Tôi nên chuẩn bị câu hỏi nào về trạng thái và mô-đun?
Bạn biết trạng thái rất quan trọng và có lẽ nhà tuyển dụng sẽ tìm đến giới hạn hiểu biết của bạn. Điều đó hoàn toàn hợp lý, vì vậy phần này trình bày những câu hỏi chạm đến giới hạn ấy và nội dung cần có trong một câu trả lời đầy đủ.
- Trạng thái nằm ở đâu và tại sao không nên lưu cục bộ? Backend từ xa như bucket lưu trữ đối tượng, Terraform Cloud hoặc cơ sở dữ liệu cung cấp một nguồn thông tin dùng chung đáng tin cậy. Câu hỏi tiếp theo là về khóa: hai người apply cùng lúc sẽ làm hỏng trạng thái, vì vậy các backend hỗ trợ khóa sẽ từ chối lượt chạy thứ hai.
- Tệp trạng thái chứa gì? Các thuộc tính tài nguyên, bao gồm cả những giá trị mà bạn có thể xem là nhạy cảm. Hãy nói rằng trạng thái phải được coi là dữ liệu bí mật, được mã hóa khi lưu trữ và kiểm soát quyền truy cập.
- Mô-đun. Mô-đun là một tập hợp tài nguyên có thể tái sử dụng với đầu vào và đầu ra riêng. Nhà tuyển dụng sẽ hỏi cách bạn quản lý phiên bản mô-đun, tránh tạo mô-đun ôm đồm mọi việc và dùng mô-đun gốc để kết hợp các mô-đun con.
- Workspace so với cấu hình riêng biệt. Workspace cho phép một cấu hình có nhiều tệp trạng thái. Câu trả lời sai thường gặp là xem chúng như toàn bộ chiến lược môi trường; production thường cần cấu hình, backend và thông tin xác thực riêng thay vì chỉ chuyển workspace.
- Tái cấu trúc mà không phá hủy. Đổi tên tài nguyên khiến Terraform muốn phá hủy rồi tạo lại tài nguyên đó. Hãy biết rằng có các khối
movedvà lệnhterraform state mv, đồng thời hiểu mục đích của từng cách.
Một nguyên tắc tốt cho mọi câu trả lời ở đây là nêu rõ sự cố mà biện pháp đó ngăn chặn. Khóa ngăn hỏng dữ liệu do thao tác đồng thời; trạng thái từ xa ngăn dữ liệu trên các laptop khác nhau bị phân kỳ; phiên bản cố định ngăn việc nâng cấp bất ngờ trong một lần apply thông thường.
Các câu hỏi tình huống thường diễn ra như thế nào?
Ở vòng phỏng vấn cấp cao, các định nghĩa được thay bằng tình huống. Một ví dụ tiêu biểu: kỹ sư nền tảng đang phỏng vấn cho vị trí hạ tầng tại một công ty fintech được thông báo rằng ai đó đã thay đổi thủ công một nhóm bảo mật trong bảng điều khiển đám mây, plan tiếp theo hiển thị một khác biệt không ai dự kiến và cả nhóm lo ngại việc apply. Câu trả lời tốt sẽ gọi đúng tình huống này là sai lệch, giải thích rằng plan đã phát hiện ra nó khi làm mới trạng thái thực tế, quyết định nên giữ hay hoàn tác thay đổi thủ công, rồi cập nhật cấu hình cho khớp với thực tế hoặc apply để khôi phục trạng thái đã khai báo. Nhà tuyển dụng muốn nghe quyết định chứ không phải một câu lệnh.
Các tình huống khác thường lặp lại gồm: apply thất bại giữa chừng và trạng thái sau đó sẽ ra sao; những tài nguyên được tạo trước khi có Terraform và cách terraform import đưa chúng vào phạm vi quản lý; một nhóm gồm nhiều kỹ sư và cách bạn tổ chức kho mã, backend cùng CI để plan chạy trên các pull request còn apply chỉ chạy một lần; bí mật trong biến và nguồn thích hợp để cung cấp chúng; bản nâng cấp provider làm thay đổi hành vi tài nguyên. Trong mọi trường hợp, hãy nêu ràng buộc, chọn cơ chế và trình bày cái giá phải trả.
Bạn sẽ trả lời những câu này tốt hơn nếu đã từng nói thành lời. Chế độ phỏng vấn thử đưa ra các câu hỏi tình huống kèm câu hỏi tiếp nối, còn các ngân hàng câu hỏi theo vai trò và công cụ khác được tập hợp tại câu hỏi phỏng vấn theo vai trò và chủ đề.
Trợ lý phỏng vấn AI có thể hỗ trợ trong buổi phỏng vấn Terraform không?
Với các phần hội thoại thì có, nhưng cần nêu rõ những giới hạn. Ứng dụng desktop gốc của SubcueAI dành cho macOS và Windows thu âm thanh hệ thống cùng micrô của bạn rồi hiển thị gợi ý ngắn trong một lớp phủ cục bộ; vì vậy, khi nhà tuyển dụng hỏi khóa trạng thái ngăn chặn điều gì, cơ chế đó sẽ hiện ngay trước mắt để bạn giải thích. Bảng bên của tiện ích trình duyệt cũng làm như vậy đối với các cuộc gọi trong thẻ trình duyệt trên Chrome hoặc Edge và chỉ thu âm thanh của thẻ cuộc họp. Không có bot nào tham gia cuộc gọi và không có nội dung nào được chèn vào trang họp; các bước thiết lập nằm trên trang hướng dẫn.
Những trường hợp công cụ không hỗ trợ: bài đánh giá có giám sát, màn hình đang được ghi lại, laptop do công ty quản lý hoặc bài tập trực tiếp mà bạn viết HCL dưới sự quan sát. Aaron Cao, nhà sáng lập SubcueAI, mô tả mục tiêu thiết kế là gợi nhắc những gì bạn đã biết thay vì thay thế kiến thức của bạn; vì thế, trợ lý dựa trên hồ sơ và cách diễn đạt của chính bạn. Các giới hạn minh bạch được trình bày trong nhóm nội dung về khả năng bị phát hiện.
Câu hỏi thường gặp
terraform plan và terraform apply khác nhau như thế nào?
Tại sao trạng thái từ xa có khóa lại quan trọng?
Workspace Terraform có phải là cách phù hợp để tách biệt các môi trường không?
Bạn xử lý sai lệch trong Terraform như thế nào?
SubcueAI có thể hỗ trợ trong bài đánh giá Terraform có giám sát không?
Câu hỏi liên quan
- Tôi nên chuẩn bị những câu hỏi phỏng vấn Databricks nào?
- Tôi nên chuẩn bị những câu hỏi phỏng vấn .NET nào?
- Tôi nên chuẩn bị những câu hỏi phỏng vấn kỹ sư chất lượng nào?
- Tôi nên dự kiến những câu hỏi nào trong phỏng vấn định lượng?
- Tôi nên chuẩn bị những câu hỏi phỏng vấn Snowflake nào?
- Tôi nên chuẩn bị cho những câu hỏi phỏng vấn giáo viên nào?