DevOps इंजीनियर इंटरव्यू सवाल

Terraform state कैसे काम करता है, और एक टीम में आप उसे कैसे संभालते हैं?

इंटरव्यूअर असल में क्या परख रहा है, अपना जवाब कैसे स्ट्रक्चर करें, और एक बोला हुआ उदाहरण जिसे आप अपना सकते हैं।

छोटा जवाब

state Terraform का वह रिकॉर्ड है जो बताता है कि कौन सा असली resource किस configuration address से जुड़ा है, साथ में cached attributes जिनसे वह plan निकालता है। टीम के लिए इसे locking वाले remote backend में रहना ही पड़ेगा, जैसे native lockfile सपोर्ट वाला S3 या कोई managed backend, ताकि दो apply एक साथ न चल सकें। इसे कभी git में commit न करें, क्योंकि इसमें secrets सादे टेक्स्ट में होते हैं, और एक विशाल फाइल रखने की जगह इसे blast radius के हिसाब से बांटें।

इंटरव्यूअर यह क्यों पूछते हैं

state वहीं है जहां टीमों को चोट लगती है, इसलिए यह सवाल उन लोगों को अलग कर देता है जिन्होंने प्रोडक्शन में Terraform चलाया है और जिन्होंने सिर्फ ट्यूटोरियल देखा है। इंटरव्यूअर locking, remote backends, state में पड़े secrets और state फाइलें बांटने की बात सुनना चाहता है। फॉलो अप आमतौर पर रिकवरी पर जाते हैं: state में drift आ जाए, कोई हाथ से resource डिलीट कर दे, या apply बीच में टूट जाए तो आप क्या करते हैं।

अपना जवाब कैसे स्ट्रक्चर करें

  • state को config और असली resources के बीच का मैपिंग बताएं।
  • समझाएं कि टीम के लिए remote state और locking क्यों अनिवार्य है।
  • state में secrets और backend पर access control कवर करें।
  • बताएं कि आप state कैसे बांटते हैं और blast radius उसे कैसे तय करता है।

उदाहरण जवाब

बोला हुआ उदाहरण, पहले व्यक्ति में

state वह नक्शा है जो मेरे लिखे कोड और provider में सच में मौजूद चीज़ों को resource address से जोड़ता है, साथ में attributes का cache ताकि plan को हर बार सब कुछ नए सिरे से पढ़ना न पड़े। टीम में यह locking वाले remote backend में जाता है, ताकि दो लोग एक ही वक्त apply चलाकर उसे खराब न कर सकें। जो बात लोगों को चौंकाती है वह यह कि state में resource attributes ज्यों के त्यों होते हैं, तो डेटाबेस पासवर्ड और generated keys वहां सादे टेक्स्ट में पड़े रहते हैं; इसका मतलब bucket encrypted हो, versioned हो, और सिर्फ पाइपलाइन role तक सीमित हो, सबके पढ़ने लायक नहीं। लेआउट पर, मैं blast radius और बदलाव की रफ्तार से बांटता हूं। networking और accounts कम बदलते हैं और उनका अपना state होता है, हर सर्विस या एनवायरनमेंट का अपना, और वे data sources या published outputs से एक दूसरे को पढ़ते हैं, न कि एक root module में सब कुछ ठूंसकर। व्यावहारिक वजह यह है कि पांच सौ resources वाली state फाइल हर plan को धीमा और हर गलती को विशाल बना देती है। रिकवरी के लिए मैं फाइल हाथ से एडिट करने की जगह bucket versioning के साथ state mv और import पर भरोसा करता हूं।

जल्दी ही यह इंटरव्यू देने जा रहे हैं? GhostPilot आपकी लाइव कॉल सुनता है, सवाल पूछे जाते ही उसे पकड़ लेता है, और रियल-टाइम में एक स्ट्रक्चर्ड जवाब आपकी स्क्रीन पर डाल देता है। अगले मॉक में इसे आजमाएं, या ले लें एक $29 Session Pass, कोई सब्सक्रिप्शन नहीं, असली इंटरव्यू के लिए।

देखें यह कैसे काम करता है

फॉलो-अप सवाल जिनकी उम्मीद रखें

  • अगर कोई console से resource डिलीट कर दे तो आप क्या करेंगे?
  • resources नष्ट किए बिना module structure को कैसे refactor करेंगे?
  • crash हुए apply के छोड़े हुए state lock से कैसे उबरते हैं?

DevOps इंजीनियर के और सवाल

आपका इंटरव्यूअर इसका अपना वर्ज़न पूछेगा। फ्री Question Predictor में अपना असली जॉब डिस्क्रिप्शन पेस्ट कीजिए और वो 20 सवाल पाइए जो उस रोल में सबसे ज्यादा पूछे जाने की संभावना है, साथ में यह भी कि हर सवाल असल में क्या टटोल रहा है।

मेरे सवाल प्रेडिक्ट करें

मुश्किल सवाल पूछे जाने से पहले उनकी रिहर्सल कीजिए

एक लाइव कोपायलट के साथ प्रैक्टिस कीजिए, फिर तैयार होकर अंदर जाइए। $29 Session Pass आपको इंटरव्यू पार करा देता है, न कोई सब्सक्रिप्शन, न कोई लॉक-इन।

GhostPilot पाएं