Vilka Terraform-intervjufrågor bör jag förvänta mig?

Av Aaron Cao · Uppdaterad

Vilka Terraform-intervjufrågor bör jag förvänta mig?
Förvänta dig frågor inom fyra grupper: det grundläggande arbetsflödet (init, plan, apply, destroy), tillstånd (fjärrbaserade backends, låsning, känsliga värden), kodstruktur (moduler, variabler, arbetsytor, providers) och scenarier som drift, en apply som misslyckas halvvägs eller import av resurser som skapats manuellt. Intervjuarna bedömer resonemanget bakom varje val.

Förvänta dig frågor inom fyra grupper: det grundläggande arbetsflödet (init, plan, apply, destroy), tillstånd (fjärrbaserade backends, låsning, känsliga värden), kodstruktur (moduler, variabler, arbetsytor, providers) och scenarier som drift, en apply som misslyckas halvvägs eller import av resurser som skapats manuellt. Intervjuarna bedömer resonemanget bakom varje val.

Vilka Terraform-grunder kontrollerar intervjuare först?

De flesta Terraform-intervjuer börjar med arbetsflödet och går snabbt vidare till vad som händer under ytan. Var beredd att gå igenom livscykeln utan anteckningar: terraform init hämtar providers och konfigurerar backend-systemet; terraform plan jämför den önskade konfigurationen med tillståndsfilen och de verkliga resurserna och visar sedan vilka åtgärder som skulle utföras; terraform apply verkställer planen; terraform destroy tar bort det som konfigurationen hanterar. Den första följdfrågan är nästan alltid varför plan och apply är separata steg, och svaret är granskning och säkerhet: en plan kan inspekteras, godkännas och sparas innan något ändras.

  • Providers. Insticksprogram som kommunicerar med ett API, exempelvis AWS, Azure, Google Cloud eller Kubernetes. Följdfråga: varför ska provider-versioner låsas?
  • Resurser och datakällor. Resurser är sådant Terraform skapar och äger; datakällor läser befintliga objekt som Terraform inte hanterar.
  • Variabler, lokala värden och utdata. Indata, beräknade värden och exporterade värden. Följdfråga: hur hindrar du en hemlighet från att visas i en plans utdata?
  • Beroendegrafen. Terraform ordnar åtgärder utifrån referenser mellan resurser; depends_on finns för beroenden som grafen inte kan upptäcka.

Svara med vad varje kommando läser och skriver. Kandidater som säger att plan är skrivskyddat och att apply ändrar både infrastrukturen och tillståndet har redan visat att de förstår modellen.

Vilka frågor om tillstånd och moduler bör jag förbereda mig på?

Du vet att tillståndet är viktigt och misstänker att intervjuaren kommer att hitta gränsen för din förståelse. Det är rimligt, så det här avsnittet tar upp frågorna som når den gränsen och vad ett fullständigt svar innehåller.

  • Var finns tillståndet och varför inte lokalt? Ett fjärrbaserat backend-system, exempelvis en objektlagringsbucket, Terraform Cloud eller en databas, ger en gemensam sanningskälla. Följdfrågan gäller låsning: två personer som kör apply samtidigt kan skada tillståndet, så backend-system med stöd för lås avvisar den andra körningen.
  • Vad finns i tillståndsfilen? Resursattribut, inklusive värden som du kan betrakta som känsliga. Säg att tillståndet måste behandlas som hemligt material, krypteras i vila och skyddas med åtkomstkontroll.
  • Moduler. En modul är en återanvändbar uppsättning resurser med egna indata och utdata. Intervjuare frågar hur du versionshanterar moduler, hur du undviker en modul som försöker göra allt och hur en rotmodul sätter samman underordnade moduler.
  • Arbetsytor kontra separata konfigurationer. Arbetsytor ger en konfiguration flera tillståndsfiler. Fällan är att behandla dem som hela miljöstrategin; produktion bör vanligtvis ha en egen konfiguration, ett eget backend-system och egna autentiseringsuppgifter i stället för att förlita sig på byte av arbetsyta.
  • Refaktorisering utan att förstöra. Om en resurs byter namn vill Terraform förstöra och återskapa den. Känn till att moved-block och terraform state mv finns och vad vart och ett används till.

En bra princip för varje svar här är att nämna felet som metoden förhindrar. Låsning förhindrar skador från samtidiga ändringar; fjärrtillstånd förhindrar att tillståndet skiljer sig mellan bärbara datorer; låsta versioner förhindrar en överraskande uppgradering under en rutinmässig apply.

Hur går scenariofrågorna till?

I intervjuer för seniora roller ersätts definitioner med situationer. Ett representativt exempel: en plattformsingenjör som intervjuas för en infrastrukturtjänst på ett fintechbolag får veta att någon har ändrat en säkerhetsgrupp manuellt i molnkonsolen, att nästa plan visar en oväntad skillnad och att teamet är nervöst inför att köra apply. Ett starkt svar identifierar situationen som drift, förklarar att plan redan avslöjade den genom att uppdatera det verkliga tillståndet, avgör om den manuella ändringen ska behållas eller återställas och uppdaterar antingen konfigurationen så att den motsvarar verkligheten eller kör apply för att återställa det deklarerade tillståndet. Intervjuaren lyssnar efter beslutet, inte efter ett kommando.

Andra återkommande scenarier är en apply som misslyckades halvvägs och hur tillståndet ser ut efteråt; resurser som skapades innan Terraform fanns och hur terraform import för in dem under hantering; ett team med flera ingenjörer och hur du strukturerar kodförråd, backend-system och CI så att planer körs vid pull requests och apply endast körs en gång; hemligheter i variabler och varifrån de bör hämtas i stället; en provider-uppgradering som ändrar resursbeteendet. Ange i varje fall begränsningen, välj mekanismen och förklara vad den kostar.

Det är enklare att svara bra när du har sagt svaren högt tidigare. Läget för övningsintervjuer kör scenariofrågor med följdfrågor, och de andra frågebankerna för roller och verktyg finns samlade under intervjufrågor efter roll och ämne.

Kan en AI-intervjuassistent hjälpa under en Terraform-intervju?

För samtalsdelarna är svaret ja, med begränsningar som bör anges tydligt. SubcueAIs inbyggda skrivbordsapp för macOS och Windows fångar upp systemljud och din mikrofon och visar korta förslag i ett lokalt överlägg. När intervjuaren frågar vad tillståndslåsning skyddar mot har du därför mekanismen framför dig medan du förklarar den. Webbläsartilläggets sidopanel gör samma sak för samtal i webbläsarflikar i Chrome eller Edge och fångar endast mötesflikens ljud. Ingen bot ansluter till samtalet och inget förs in på mötessidan; installationsstegen finns på sidan handledning.

När det inte hjälper: vid ett övervakat prov, en inspelad skärm, en företagsadministrerad bärbar dator eller en liveövning där du skriver HCL under uppsikt. Aaron Cao, grundaren av SubcueAI, beskriver designmålet som en påminnelse om sådant du redan kan snarare än en ersättning för kunskap. Därför utgår assistenten från ditt cv och dina egna formuleringar. De ärliga gränserna kartläggs i klustret om upptäckbarhet.

FAQ

Vad är skillnaden mellan terraform plan och terraform apply?

plan läser konfigurationen, tillståndsfilen och de verkliga resurserna och visar sedan vilka åtgärder Terraform skulle utföra utan att ändra något. apply utför åtgärderna och uppdaterar tillståndet. Genom att hålla dem åtskilda kan en plan granskas och godkännas innan infrastrukturen ändras.

Varför är fjärrtillstånd med låsning viktigt?

Fjärrtillstånd ger varje ingenjör och pipeline samma sanningskälla, och låsning hindrar två apply-körningar från att köras samtidigt och skada den. Lokala tillstånd på bärbara datorer divergerar och kan inte låsas.

Är Terraform-arbetsytor rätt sätt att separera miljöer?

De ger en konfiguration flera tillståndsfiler, vilket passar mindre variationer. Produktion bör vanligtvis ha en egen konfiguration, ett eget backend-system och egna autentiseringsuppgifter, eftersom ett byte av arbetsyta inte ger någon isolering av åtkomst eller konsekvensområde.

Hur hanterar man drift i Terraform?

Kör en plan för att se skillnaden mellan det deklarerade och verkliga tillståndet, avgör om den manuella ändringen ska bestå och uppdatera sedan antingen konfigurationen så att den stämmer eller kör apply för att återställa det deklarerade tillståndet. Att redigera tillståndet manuellt är den sista utvägen.

Kan SubcueAI hjälpa under ett övervakat Terraform-prov?

Nej. Övervakade och inspelade prov stöds inte. SubcueAI är utformat för samtalsrundor där det hjälper dig att minnas medan du talar; läget för övningsintervjuer är rätt plats att träna dessförinnan.

Relaterade frågor

← Mer om Intervjufrågor efter roll & ämne