linuxlab.io
Tutorials▾
  • Linux & networking
    File system, processes, TCP/IP, BGP and OSPF
    →
  • Terraform & IaC
    HCL, state, plan/apply on a LocalStack sandbox
    →
  • Git & GitHub
    Object model, plumbing, branching, GitHub Actions
    →
All tutorials →
PricingAboutSign inCreate account
/
Intro
Lessons
Footer
linuxlab-TutorialsPricingAboutPrivacy & cookies
Copyright © 2026 LinuxLab. All rights reserved.
linuxlab.io
Tutorials▾
  • Linux & networking
    File system, processes, TCP/IP, BGP and OSPF
    →
  • Terraform & IaC
    HCL, state, plan/apply on a LocalStack sandbox
    →
  • Git & GitHub
    Object model, plumbing, branching, GitHub Actions
    →
All tutorials →
PricingAboutSign inCreate account
/
  • Introduction
  • Lessons
  • How it works
  • Knowledge base
  • Cheat sheet
  • Capstone
  • Interview prep
Interview prep

$ /courses/terraform/interview

Interview prep.
Terraform, to the point.

Not a Top-30 with a list of answers. Each question is a card: what they want to hear, the usual traps, a follow-up, and links into the knowledge base for depth. Right now 47 questions across 8 clusters.

Clusters

Clusters

Each cluster is an independent topic. Open the one you're weakest on, or go in order.

  • /core-hcl

    6 questions

    HCL: expressions, types, references

    HCL semantics and types: type coercion, splat, the dynamic block, conditionals, for-expressions, references, and the graph resolver. What "known after apply" means and why it gets annoying. Junior-level questions plus a couple of traps for mid-level candidates.

    junior
    1
    middle
    3
    senior
    2
    20 minopen→
  • /state

    7 questions

    State, backend, lock, drift

    The most common topic in a Terraform interview. State is what sets Terraform apart from kubectl apply. What it holds, why you need a lock, how to catch drift, and when state surgery is acceptable. These come from real DevOps interviews: AWS teams, banks, mid-size infrastructure teams.

    junior
    1
    middle
    4
    senior
    2
    28 minopen→
  • /modules

    6 questions

    Modules: inputs, outputs, sources, versions

    A module's boundary of responsibility, sources (local, registry, git, s3), version pinning and semver, composition vs a flat root, the usual antipatterns. What a lead wants to hear: where to draw the boundary and why.

    junior
    1
    middle
    3
    senior
    2
    23 minopen→
  • /workflow-cicd

    6 questions

    Workflow and CI/CD

    What happens between plan and apply. Why fmt and validate belong in the pipeline. How to reach AWS from GitHub Actions without long-lived keys. Drift detection, require-approval, splitting state by environment. Questions for DevOps/SRE roles.

    junior
    2
    middle
    2
    senior
    2
    23 minopen→
  • /providers-resources

    6 questions

    Provider and resource: lifecycle, count/for_each

    The provider block, alias, multi-region. Resource lifecycle (create_before_destroy, prevent_destroy, ignore_changes), count vs for_each, data vs resource, and depends_on when it is honestly needed. The grammar of everyday Terraform work.

    junior
    1
    middle
    4
    senior
    1
    24 minopen→
  • /testing-policy

    5 questions

    Tests and policy-as-code

    What to test in Terraform and with what. The built-in `terraform test`, terratest, tflint, checkov, trivy, OPA/conftest, terraform-compliance. The test pyramid for IaC. Where each tool fits, and where it is overkill.

    junior
    1
    middle
    2
    senior
    2
    22 minopen→
  • /refactoring-large

    5 questions

    Refactoring and large state

    What to do when a monolithic root has grown to 3000 resources and plan takes seven minutes. The moved/removed blocks, splitting state across workspaces and separate roots, zero-downtime migration. Senior questions from real migrations at banks and large product teams.

    junior
    0
    middle
    2
    senior
    3
    26 minopen→
  • /troubleshooting-debug

    6 questions

    Troubleshooting and debugging

    What to do when `plan` fails with a vague error. Reading TF_LOG, the common errors (cycle, inconsistent dependency lock, provider auth). terraform console for debugging expressions, reading a plan diff, and terraform graph when you actually need it.

    junior
    2
    middle
    3
    senior
    1
    22 minopen→
Footer
linuxlab-
Copyright © 2026 LinuxLab. All rights reserved.
Tutorials
Pricing
About
Privacy & cookies