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

Tôi nên chuẩn bị cho những câu hỏi phỏng vấn Terraform nào?
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.

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_on dà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 moved và lệnh terraform 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?

plan đọc cấu hình, tệp trạng thái và tài nguyên thực tế, sau đó hiển thị những hành động Terraform sẽ thực hiện mà không thay đổi bất cứ thứ gì. apply thực hiện các hành động đó và cập nhật trạng thái. Việc tách riêng hai bước cho phép rà soát và phê duyệt plan trước khi hạ tầng thay đổi.

Tại sao trạng thái từ xa có khóa lại quan trọng?

Trạng thái từ xa cung cấp cho mọi kỹ sư và pipeline cùng một nguồn thông tin đáng tin cậy, còn khóa ngăn hai lượt apply chạy đồng thời và làm hỏng trạng thái. Trạng thái cục bộ trên các laptop sẽ phân kỳ và không thể bị khóa.

Workspace Terraform có phải là cách phù hợp để tách biệt các môi trường không?

Chúng cho phép một cấu hình có nhiều tệp trạng thái, phù hợp với các biến thể nhỏ. Production thường cần cấu hình, backend và thông tin xác thực riêng, vì chỉ chuyển workspace không thể cô lập quyền truy cập hoặc phạm vi ảnh hưởng.

Bạn xử lý sai lệch trong Terraform như thế nào?

Chạy plan để xem khác biệt giữa trạng thái đã khai báo và trạng thái thực tế, quyết định có nên giữ thay đổi thủ công hay không, rồi cập nhật cấu hình cho khớp hoặc apply để khôi phục trạng thái đã khai báo. Chỉnh sửa trạng thái thủ công là phương án cuối cùng.

SubcueAI có thể hỗ trợ trong bài đánh giá Terraform có giám sát không?

Không. Các bài đánh giá có giám sát và ghi hình nằm ngoài phạm vi hỗ trợ. Công cụ được thiết kế cho các vòng hội thoại, nơi nó gợi nhắc kiến thức của chính bạn khi bạn nói; chế độ phỏng vấn thử là nơi để luyện tập trước đó.

Câu hỏi liên quan

← Thêm về Câu hỏi phỏng vấn theo vai trò & chủ đề