Chuyển đến nội dung chính

20 Câu Hỏi Phỏng Vấn Terraform Hàng Đầu và Đáp Án cho năm 2026

Khám phá 20 câu hỏi phỏng vấn Terraform và đáp án để làm chủ Hạ tầng như Mã vào năm 2026, từ khái niệm cơ bản đến thực hành nâng cao.
Đã cập nhật 16 thg 4, 2026  · 12 phút đọc

Lần đầu tôi dùng Terraform, tôi khá hoài nghi. Cảm giác rất lạ khi cập nhật hạ tầng ngay trong trình soạn thảo mã thay vì nhấp chuột trong bảng điều khiển đám mây, và khi đó tôi cũng chưa hiểu rõ lợi ích. Nhưng vì đó là chính sách công ty, tôi vẫn làm theo. Rồi một ngày, tôi được yêu cầu dựng cả một môi trường dev mới. Tôi nhớ rất rõ mình đã đến hỏi senior dev trong đội xem mình bỏ sót gì không, vì tôi chỉ mất 10 phút. Anh ấy kiểm tra, cười và xác nhận rằng, đúng vậy, việc đó đơn giản như thế.

Không có gì lạ khi Terraform được áp dụng rộng rãi trong ngành. Khi điện toán đám mây phát triển nhanh chóng, các đội ngũ trên toàn cầu đang chuyển sang Hạ tầng như Mã (IaC) để quản lý những hệ thống ngày càng phức tạp. Khả năng của Terraform trong việc mang lại cách tiếp cận nhất quán, lặp lại được và có khả năng mở rộng cho quản trị hạ tầng đã khiến nó trở thành lựa chọn hàng đầu của nhiều công ty ở các lĩnh vực khác nhau.

Trong một buổi phỏng vấn về Terraform, điều được đánh giá không chỉ là bạn biết bao nhiêu lệnh, mà là khả năng bạn sử dụng Terraform hiệu quả để hòa vào quy trình DevOps hiện đại và giải quyết các bài toán thực tế.

Giao tiếp là chìa khóa. Như đã bàn trong một podcast DataFramed về các vai trò kỹ thuật gần đây, sự tinh thông thực sự là khả năng thích ứng:

Bạn cần có khả năng truyền đạt bất kỳ kiểu insight nào theo cách mà một đứa trẻ sáu tuổi cũng hiểu được, đồng thời vẫn làm tôi hài lòng hoặc thậm chí làm hài lòng cả những người còn kỹ thuật hơn. Nếu bạn thực sự nắm vững vấn đề, bạn có thể diễn giải cực kỳ đơn giản, nhưng cũng có thể làm nó phức tạp đến mức, thật lòng mà nói, chỉ những người có chuyên môn kỹ thuật rất, rất cao mới hiểu được.

Mo ChenData & Analytics Manager at NatWest Group

Giữ tư duy này là rất quan trọng khi bạn chuẩn bị. Trong bài viết này, tôi sẽ dẫn bạn qua một số câu hỏi phỏng vấn Terraform thường gặp. Tôi đã nhóm chúng theo các mức – Cơ bản, Trung cấp và Nâng cao – nên dù bạn đang ở giai đoạn nào trong sự nghiệp, vẫn có phần phù hợp cho bạn!

Và trước khi bắt đầu: Nếu bạn hoàn toàn mới với điện toán đám mây, tôi khuyến nghị học khóa Introduction to Cloud Computing của chúng tôi trước. Khóa học này phân tích các kiến thức nền tảng về đám mây, giải thích các thuật ngữ then chốt như khả năng mở rộng (scalability) và độ trễ (latency), và đề cập đến lợi thế của các công cụ đám mây từ những nhà cung cấp như AWS. Terraform xoay quanh việc xử lý hạ tầng đám mây, nên hãy đảm bảo bạn quen thuộc với các khái niệm này trước tiên, cả về lý thuyết lẫn thực hành!

Câu Hỏi Phỏng Vấn Terraform Cơ Bản

Những câu hỏi này tập trung vào Terraform là gì và cách nó hoạt động. Bạn có khả năng gặp các câu hỏi này nếu chưa từng làm việc với Terraform, hoặc khi người phỏng vấn chưa chắc chắn về trình độ của bạn và muốn bắt đầu từ căn bản.

1. Terraform là gì và mục đích chính của nó là gì?

Terraform là công cụ Hạ tầng như Mã (IaC) mã nguồn mở do HashiCorp tạo ra. Nó cho phép bạn định nghĩa và quản lý hạ tầng đám mây và on-premises bằng ngôn ngữ cấu hình khai báo có tên HCL (HashiCorp Configuration Language). Terraform tự động hóa việc cung cấp, cập nhật và quản lý phiên bản hạ tầng, nhằm đảm bảo tính nhất quán và giảm công sức thủ công.

2. Terraform khác gì so với các công cụ IaC khác như CloudFormation hoặc Ansible?

Terraform so với CloudFormation: Terraform không phụ thuộc nhà cung cấp đám mây, tức có thể quản lý hạ tầng trên nhiều nhà cung cấp (AWS, Azure, GCP, v.v.), trong khi AWS CloudFormation chỉ dành riêng cho AWS. Terraform cũng có cú pháp linh hoạt hơn và cơ chế quản lý state tốt.

Terraform so với Ansible: Ansible chủ yếu là công cụ quản lý cấu hình (quản lý phần mềm, gói và cấu hình hệ điều hành), còn Terraform tập trung vào cung cấp và quản lý tài nguyên hạ tầng theo cách khai báo.

3. Các lệnh chính của Terraform là gì và chúng làm gì?

  • terraform init – Khởi tạo một dự án Terraform và tải về các plugin nhà cung cấp cần thiết.

  • terraform plan – Tạo kế hoạch thực thi, hiển thị các thay đổi Terraform sẽ áp dụng.

  • terraform apply – Áp dụng các thay đổi đã lập kế hoạch và cung cấp tài nguyên.

  • terraform destroy – Xóa tất cả tài nguyên đang được quản lý.

  • terraform validate – Kiểm tra lỗi cú pháp trong các tệp cấu hình Terraform.

4. Tệp state của Terraform là gì?

Terraform duy trì một tệp state (terraform.tfstate) để theo dõi hạ tầng thực tế mà nó quản lý. Tệp state giúp Terraform hiểu trạng thái hiện tại của tài nguyên, phát hiện sai lệch (drift) và áp dụng thay đổi hiệu quả. Đây là yếu tố quan trọng cho cộng tác, nhưng vì chứa dữ liệu nhạy cảm nên cần được lưu trữ an toàn.

5. Nhà cung cấp (provider) trong Terraform là gì và vì sao chúng quan trọng?

Provider trong Terraform là các plugin cho phép tương tác với nền tảng đám mây, dịch vụ SaaS và các API khác. Mỗi provider (ví dụ: AWS, Azure, Kubernetes) định nghĩa các tài nguyên mà Terraform có thể quản lý. Không có provider, Terraform sẽ không biết cách tạo hoặc cấu hình tài nguyên hạ tầng.

Nếu bạn muốn tìm hiểu thêm về Terraform và cách nó hoạt động, hãy xem hướng dẫn cho người mới bắt đầu này. Trong bài đó, tôi đi sâu vào các thành phần chính của Terraform và phân tích ưu và nhược điểm của công cụ. Thậm chí còn có một hướng dẫn nhỏ để bạn bắt đầu cung cấp hạ tầng trên AWS.

Câu Hỏi Phỏng Vấn Terraform Trung Cấp

Phần này đi sâu hơn vào quy trình làm việc của Terraform, thực hành cấu hình và chiến lược quản lý state và tài nguyên trong các dự án thực tế. Bạn sẽ cần có khá nhiều kinh nghiệm thực hành với Terraform để trả lời những câu này, đặc biệt nếu được yêu cầu nêu ví dụ cụ thể. 

6. Module trong Terraform là gì?

Module Terraform là các thành phần có thể tái sử dụng, giúp tổ chức mã hạ tầng bằng cách nhóm các tài nguyên liên quan. Chúng cải thiện khả năng bảo trì, cho phép đội ngũ tái sử dụng mã giữa các dự án và đơn giản hóa việc triển khai. 

Một module có thể đơn giản chỉ là một thư mục chứa các tệp .tf và một tệp variables.tf tùy chọn!

7. Terraform quản lý state từ xa như thế nào?

Mặc định, Terraform lưu state cục bộ, nhưng để cộng tác, nó hỗ trợ các backend từ xa (S3 kèm DynamoDB cho AWS, GCS cho Google Cloud, hoặc Terraform Cloud). State từ xa cho phép:

  • Chia sẻ truy cập cho nhiều thành viên trong nhóm.
  • Khóa state để ngăn xung đột.
  • Bảo mật tốt hơn với mã hóa và kiểm soát truy cập.

8. Workspace trong Terraform là gì và khi nào nên dùng?

Workspace của Terraform cho phép bạn duy trì các tệp state tách biệt trong cùng một cấu hình. Chúng hữu ích khi quản lý nhiều môi trường (như dev, staging, prod) mà không cần nhân bản mã.

Workspace phù hợp để tách môi trường đơn giản nhưng có thể khó duy trì với các thiết lập đa tài khoản phức tạp.

Terraform workspaces

Nguồn: DevOps Mojo

9. Terraform xử lý việc nhập (import) hạ tầng hiện có như thế nào và có những hạn chế gì?

Terraform có thể nhập các tài nguyên hiện có vào state bằng lệnh terraform import. Tuy nhiên, nó không tự động tạo tệp cấu hình (các tệp .tf ) cho các tài nguyên đó, vì vậy bạn sẽ phải viết thủ công.

Một số hạn chế của chức năng import này gồm:

  • Thiết lập phức tạp yêu cầu đối chiếu cấu hình thủ công.
  • Một số loại tài nguyên không được hỗ trợ import.
  • Nguy cơ drift nếu cấu hình tài nguyên được nhập không khớp với hạ tầng thực tế.

10. Provisioner trong Terraform là gì và khi nào nên dùng?

Provisioner thực thi các script hoặc lệnh trên một tài nguyên sau khi nó được tạo. Chúng thường dùng cho các tác vụ như cấu hình VM hoặc cài đặt phần mềm. 

Có hai loại provisioner:

  • Local provisioner chạy trên máy thực thi Terraform).
  • Remote provisioner chạy trên tài nguyên đích qua SSH hoặc WinRM.

Vì provisioner tạo ra phụ thuộc và làm giảm tính khai báo của Terraform, nên chỉ nên dùng khi thật cần thiết. Một lựa chọn thay thế là dùng các công cụ quản lý cấu hình như Ansible hoặc cloud-init.

Terraform plugins

Nguồn: Opcito

11. Phát hiện drift trong Terraform là gì và xử lý thế nào?

Phát hiện drift đề cập đến tình huống trạng thái hạ tầng thực tế lệch khỏi trạng thái được định nghĩa trong cấu hình của Terraform. Điều này có thể xảy ra khi có các thay đổi thủ công bên ngoài Terraform, như cập nhật trong bảng điều khiển nhà cung cấp đám mây hoặc các công cụ tự động hóa khác. 

Terraform có thể phát hiện drift bằng cách chạy terraform plan, so sánh trạng thái hiện tại trong tệp state với hạ tầng thực.

Nếu phát hiện drift, bạn nên hoàn tác các thay đổi thủ công để khớp với cấu hình Terraform, cập nhật cấu hình để phản ánh trạng thái mong muốn mới và chạy terraform apply để đưa hạ tầng trở lại đồng bộ với cấu hình.

12. Bạn sẽ triển khai rolling update bằng Terraform cho ứng dụng chạy nhiều instance như thế nào?

Rolling update cho phép bạn cập nhật hạ tầng dần dần để giảm thời gian gián đoạn và đảm bảo một phần instance của ứng dụng vẫn khả dụng trong quá trình cập nhật. Trong kịch bản rolling update, Terraform tạo instance mới của tài nguyên, đợi nó đạt trạng thái khỏe mạnh (qua health check), rồi dần thay thế các instance cũ.

Về thực tế, bạn có thể triển khai rolling update bằng cách định nghĩa hạ tầng bất biến trong Terraform và sử dụng count hoặc for_each trong khai báo tài nguyên (ví dụ: EC2, load balancer).

13. Bạn xử lý phụ thuộc tài nguyên trong Terraform như thế nào, vai trò của phụ thuộc ngầm định và tường minh là gì?

Trong Terraform, phụ thuộc tài nguyên được xử lý tự động thông qua cơ chế xây dựng đồ thị. Phụ thuộc ngầm định được tạo khi một tài nguyên tham chiếu tài nguyên khác trong cấu hình (ví dụ, tham chiếu aws_security_group trong aws_instance) và Terraform tự suy ra thứ tự phụ thuộc. 

Phụ thuộc tường minh hữu ích cho các trường hợp rìa khi Terraform không thể tự suy ra thứ tự. Chúng được tạo bằng đối số depends_on, buộc Terraform thực thi theo thứ tự cụ thể ngay cả khi tài nguyên không tham chiếu trực tiếp nhau. 

Kết quả lệnh graph của Terraform

Nguồn: HashiCorp

Câu Hỏi Phỏng Vấn Terraform Nâng Cao

Ở mức nâng cao, người phỏng vấn sẽ muốn thấy chuyên môn của bạn trong việc quản lý hạ tầng quy mô lớn bằng Terraform. Câu hỏi có thể gồm các chủ đề như triển khai đa đám mây, cộng tác trong nhóm và thách thức tự động hóa. Đây là lúc bạn thể hiện kinh nghiệm và kỹ năng, nên đừng ngại nói về các dự án từng làm và đưa ra ví dụ thực tế!

14. Bạn quản lý các triển khai đa đám mây phức tạp với Terraform như thế nào?

Quản lý môi trường đa đám mây yêu cầu xử lý nhiều provider trong một cấu hình. Terraform cho phép bạn cấu hình tài nguyên từ các nhà cung cấp khác nhau (ví dụ: AWS, Azure, Google Cloud) trong cùng một main.tf bằng cách chỉ định các provider khác nhau và dùng tài nguyên đặc thù từng provider.

Bạn có thể dùng alias provider để quản lý nhiều phiên bản của cùng một provider (ví dụ: nhiều vùng của AWS), và tận dụng module để trừu tượng hóa cấu hình chung, tránh trùng lặp. Hãy quản lý cẩn thận các phụ thuộc xuyên đám mây, vì tài nguyên ở các đám mây khác nhau có thể không có quan hệ trực tiếp.

15. Lệnh taint và untaint trong Terraform là gì? Bạn sẽ dùng chúng trong tình huống thực tế như thế nào?

terraform taint đánh dấu một tài nguyên để tạo lại ở lần chạy terraform apply tiếp theo, ngay cả khi cấu hình không thay đổi. Điều này hữu ích khi tài nguyên gặp sự cố hoặc ở trạng thái không mong muốn.

Ví dụ, nếu một EC2 gặp lỗi và cần tạo lại, bạn có thể taint nó để kích hoạt hủy và tạo lại trong lần apply kế tiếp.terraform untaint dùng để hoàn tác lệnh taint và ngăn tài nguyên bị tạo lại.

16. Terraform Cloud và Terraform Enterprise là gì, khác nhau ở điểm nào?

Terraform Cloud là dịch vụ SaaS của HashiCorp cung cấp các tính năng cộng tác như quản lý state từ xa, quản lý workspace, tích hợp kiểm soát phiên bản và áp chính sách. Phù hợp cho đội ngũ nhỏ đến trung bình.

Terraform Enterprise là phiên bản tự triển khai, bổ sung tính năng nâng cao như đăng ký module riêng tư, kiểm soát truy cập chi tiết hơn và các tính năng bảo mật nâng cao, bao gồm triển khai on-premise.

Tóm lại: Terraform Cloud được lưu trữ và vận hành bởi HashiCorp, còn Terraform Enterprise do tổ chức tự lưu trữ và kiểm soát toàn bộ hạ tầng.

Terraform Cloud vs Entreprise

Nguồn: Google Cloud

17. Bạn quản lý khóa state và vấn đề đồng thời trong Terraform thế nào khi làm việc với đội ngũ lớn?

Khóa state trong Terraform nhằm ngăn hai người cùng chỉnh sửa một state vào cùng thời điểm, vì có thể dẫn đến hỏng tệp state.

Terraform Cloud và Enterprise tự động xử lý khóa state thông qua backend.

Với backend từ xa như S3 kèm DynamoDB, Terraform dùng DynamoDB để khóa state và ngăn vấn đề đồng thời.

18. Triển khai zero-downtime là gì và Terraform đạt được điều đó như thế nào?

Triển khai zero-downtime là khi áp thay đổi hạ tầng mà không làm gián đoạn dịch vụ. Terraform có thể đạt được thông qua các chiến lược như:

  • Triển khai Blue-Green: Dùng hai môi trường giống hệt (Blue và Green), chuyển hướng lưu lượng giữa chúng để triển khai thay đổi mà không downtime.
  • Rolling update: Áp thay đổi dần dần lên một phần nhỏ các instance, cho phép phần còn lại vẫn hoạt động trong quá trình cập nhật.

Đây là các chiến lược phổ biến trong kiến trúc đám mây và Terraform cung cấp những tính năng có thể hỗ trợ triển khai. Tuy nhiên, để thực hiện đầy đủ zero-downtime thường cần thêm công cụ khác, như load balancer.

19. Bạn xử lý quản lý bí mật (secrets) trong Terraform như thế nào, thực hành tốt nhất là gì?

Bản thân Terraform không quản lý bí mật nhưng có thể tích hợp với các công cụ quản lý bí mật bên ngoài. Ví dụ, bạn có thể dùng:

  • HashiCorp Vault: Terraform hỗ trợ sẵn Vault để truy xuất bí mật như API key hoặc mật khẩu lúc chạy, tránh hardcode trong tệp cấu hình.
  • Biến môi trường: Với các giá trị nhạy cảm, bạn có thể đặt dưới dạng biến môi trường.
  • Backend từ xa có mã hóa: Lưu tệp state ở backend từ xa có bật mã hóa để ngăn truy cập trái phép đến dữ liệu nhạy cảm.
  • Sử dụng đối số sensitive: Đánh dấu output và biến là sensitive để chúng không xuất hiện trong log plan/apply của Terraform.

20. Bạn triển khai provider tùy chỉnh cho Terraform như thế nào và khi nào cần?

Provider tùy chỉnh dùng khi bạn cần quản lý tài nguyên hoặc dịch vụ mà Terraform chưa hỗ trợ sẵn. Chúng được hiện thực bằng Go và liên quan đến việc tạo các hàm tương tác với API hoặc dịch vụ chưa được các provider hiện có bao phủ, như API nội bộ, dịch vụ đám mây ngách, hoặc công nghệ sở hữu riêng.

Terraform cung cấp Terraform Plugin SDK để giúp bạn xây dựng provider, nhưng bạn sẽ cần xử lý xác thực, các thao tác CRUD (Tạo, Đọc, Cập nhật, Xóa) và mọi cấu hình đặc thù của API bạn tương tác.

Kết luận

Hy vọng bài viết này đã mang đến cho bạn kiến thức và sự tự tin để chinh phục buổi phỏng vấn Terraform!

Nếu bạn cần luyện tập thêm, hãy xem các hướng dẫn Terraform của HashiCorp để học cách dùng Terraform cho những tác vụ và tình huống phổ biến, hoặc xem bài blog 14 Công Cụ Thiết Yếu cho Kỹ Sư Dữ Liệu Nên Dùng trong 2024 để hiểu Terraform nằm ở đâu trong bộ công cụ của một Data Engineer.


Marie Fayard's photo
Author
Marie Fayard

Tôi là một trưởng nhóm kỹ thuật định hướng sản phẩm, chuyên giúp các startup giai đoạn đầu phát triển từ nguyên mẫu đầu tiên đến khi đạt được sự phù hợp sản phẩm - thị trường và xa hơn nữa. Tôi luôn tò mò về cách con người sử dụng công nghệ, và tôi thích làm việc sát sao với nhà sáng lập và các nhóm liên chức năng để biến những ý tưởng táo bạo thành hiện thực. Khi không xây dựng sản phẩm, tôi tìm cảm hứng ở những miền đất mới hoặc xả căng thẳng tại phòng tập yoga.

Câu hỏi thường gặp về Terraform

Mức độ hiểu biết Terraform của tôi cần sâu đến đâu cho buổi phỏng vấn?

Tùy thuộc vào vị trí. Với vị trí junior, hiểu các khái niệm cơ bản như provider, quản lý state và tài nguyên là đủ. Vị trí mid-level cần biết về module, workspace và state từ xa. Vị trí senior kỳ vọng thành thạo khóa state, tích hợp CI/CD và gỡ lỗi các vấn đề phức tạp.

Tôi có nên học thuộc các lệnh Terraform cho buổi phỏng vấn không?

Mặc dù biết các lệnh chính như terraform init, planapply là hữu ích, người phỏng vấn quan tâm hơn đến cách bạn áp dụng các khái niệm Terraform. Họ có thể yêu cầu bạn mô tả cách bạn sẽ cấu trúc Terraform cho một kịch bản thực tế thay vì chỉ liệt kê lệnh.

Chứng chỉ Terraform quan trọng thế nào trong việc xin việc?

Chứng chỉ Terraform (như HashiCorp Certified: Terraform Associate) có thể giúp xác thực kiến thức của bạn, nhưng không bắt buộc cho hầu hết vị trí. Kinh nghiệm thực tế với Terraform trong các dự án đời thực có giá trị hơn chứng chỉ đơn lẻ. Tuy nhiên, nếu bạn mới với Terraform, lấy chứng chỉ có thể là cách tốt để học.

Chủ đề

Học Cloud cùng DataCamp

Courses

Hiểu về Điện toán Đám mây

2 giờ
224K
Một giới thiệu cơ bản về điện toán đám mây, bao gồm các khái niệm chính, thuật ngữ và công cụ.
Xem chi tiếtRight Arrow
Bắt đầu khóa học
Xem thêmRight Arrow