मुझे Terraform इंटरव्यू में किन प्रश्नों की उम्मीद करनी चाहिए?

द्वारा Aaron Cao · अपडेट

मुझे Terraform इंटरव्यू में किन प्रश्नों की उम्मीद करनी चाहिए?
चार समूहों में प्रश्नों की उम्मीद करें: मुख्य वर्कफ़्लो (init, plan, apply, destroy), स्टेट (रिमोट बैकएंड, लॉकिंग, संवेदनशील मान), कोड संरचना (मॉड्यूल, वेरिएबल, वर्कस्पेस, प्रोवाइडर) और ड्रिफ्ट, बीच में विफल हुए apply या हाथ से बनाए गए रिसोर्स को इंपोर्ट करने जैसे परिदृश्य। इंटरव्यू लेने वाले हर चुनाव के पीछे के तर्क का मूल्यांकन करते हैं।

चार समूहों में प्रश्नों की उम्मीद करें: मुख्य वर्कफ़्लो (init, plan, apply, destroy), स्टेट (रिमोट बैकएंड, लॉकिंग, संवेदनशील मान), कोड संरचना (मॉड्यूल, वेरिएबल, वर्कस्पेस, प्रोवाइडर) और ड्रिफ्ट, बीच में विफल हुए apply या हाथ से बनाए गए रिसोर्स को इंपोर्ट करने जैसे परिदृश्य। इंटरव्यू लेने वाले हर चुनाव के पीछे के तर्क का मूल्यांकन करते हैं।

इंटरव्यू लेने वाले पहले Terraform की कौन-सी बुनियादी बातें जाँचते हैं?

अधिकांश Terraform इंटरव्यू वर्कफ़्लो से शुरू होकर जल्दी ही उसके भीतर होने वाली प्रक्रियाओं पर पहुँचते हैं। बिना नोट्स के पूरा जीवनचक्र समझाने के लिए तैयार रहें: terraform init प्रोवाइडर डाउनलोड करता और बैकएंड कॉन्फ़िगर करता है; terraform plan इच्छित कॉन्फ़िगरेशन की तुलना स्टेट फ़ाइल और वास्तविक रिसोर्स से करके प्रस्तावित कार्रवाइयाँ दिखाता है; terraform apply उस प्लान को लागू करता है; terraform destroy कॉन्फ़िगरेशन द्वारा प्रबंधित चीज़ों को हटाता है। पहला पूरक प्रश्न लगभग हमेशा यह होता है कि plan और apply अलग चरण क्यों हैं। उत्तर है समीक्षा और सुरक्षा: किसी बदलाव से पहले प्लान को जाँचा, स्वीकृत और सहेजा जा सकता है।

  • प्रोवाइडर। वे प्लगइन जो AWS, Azure, Google Cloud या Kubernetes जैसे API से संवाद करते हैं। पूरक प्रश्न: प्रोवाइडर के वर्ज़न पिन क्यों करने चाहिए?
  • रिसोर्स और डेटा सोर्स। रिसोर्स वे चीज़ें हैं जिन्हें Terraform बनाता और नियंत्रित करता है; डेटा सोर्स उन मौजूदा चीज़ों को पढ़ते हैं जिन्हें वह प्रबंधित नहीं करता।
  • वेरिएबल, लोकल और आउटपुट। इनपुट, परिकलित मान और निर्यात किए गए मान। पूरक प्रश्न: किसी रहस्य को प्लान के आउटपुट से बाहर कैसे रखते हैं?
  • डिपेंडेंसी ग्राफ़। Terraform रिसोर्स के बीच संदर्भों के आधार पर संचालन क्रम तय करता है; depends_on उन निर्भरताओं के लिए है जिन्हें ग्राफ़ नहीं देख सकता।

यह बताते हुए उत्तर दें कि प्रत्येक कमांड क्या पढ़ता और लिखता है। जो उम्मीदवार कहते हैं कि plan केवल पढ़ता है और apply इंफ्रास्ट्रक्चर तथा स्टेट दोनों को बदलता है, वे पहले ही दिखा देते हैं कि वे मॉडल समझते हैं।

मुझे स्टेट और मॉड्यूल के किन प्रश्नों की तैयारी करनी चाहिए?

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

  • स्टेट कहाँ रहता है और स्थानीय रूप से क्यों नहीं? ऑब्जेक्ट स्टोरेज बकेट, Terraform Cloud या डेटाबेस जैसा रिमोट बैकएंड सत्य का साझा स्रोत देता है। पूरक प्रश्न लॉकिंग पर होता है: दो लोगों के एक साथ apply करने से स्टेट खराब होता है, इसलिए लॉक समर्थित करने वाले बैकएंड दूसरी रन को अस्वीकार कर देते हैं।
  • स्टेट फ़ाइल में क्या होता है? रिसोर्स के गुण, जिनमें वे मान भी शामिल हैं जिन्हें आप संवेदनशील मान सकते हैं। बताएं कि स्टेट को गुप्त सामग्री मानना, स्थिर अवस्था में एन्क्रिप्ट करना और उसकी पहुँच नियंत्रित करना चाहिए।
  • मॉड्यूल। मॉड्यूल अपने इनपुट और आउटपुट वाले रिसोर्स का पुनः उपयोग योग्य समूह है। इंटरव्यू लेने वाले पूछते हैं कि आप मॉड्यूल के वर्ज़न कैसे तय करते हैं, सब कुछ करने की कोशिश करने वाले मॉड्यूल से कैसे बचते हैं और रूट मॉड्यूल चाइल्ड मॉड्यूल को कैसे संयोजित करता है।
  • वर्कस्पेस बनाम अलग कॉन्फ़िगरेशन। वर्कस्पेस एक कॉन्फ़िगरेशन को कई स्टेट फ़ाइलें देते हैं। इसे पूरी परिवेश रणनीति मानना भ्रामक उत्तर है; केवल वर्कस्पेस बदलने के बजाय प्रोडक्शन के लिए आम तौर पर अपना कॉन्फ़िगरेशन, बैकएंड और क्रेडेंशियल होने चाहिए।
  • नष्ट किए बिना रीफ़ैक्टरिंग। किसी रिसोर्स का नाम बदलने पर Terraform उसे नष्ट करके दोबारा बनाना चाहता है। जानें कि moved ब्लॉक और terraform state mv उपलब्ध हैं तथा दोनों का उपयोग किसलिए होता है।

यहाँ हर उत्तर के लिए एक अच्छा अनुशासन है: उस विफलता का नाम बताएं जिसे यह अभ्यास रोकता है। लॉकिंग समवर्ती बदलाव से होने वाली खराबी रोकती है; रिमोट स्टेट अलग-अलग लैपटॉप पर भिन्न स्थिति बनने से रोकता है; पिन किए गए वर्ज़न नियमित apply के दौरान अप्रत्याशित अपग्रेड रोकते हैं।

परिदृश्य-आधारित प्रश्न कैसे पूछे जाते हैं?

वरिष्ठ पदों के इंटरव्यू में परिभाषाओं के बजाय परिस्थितियाँ पूछी जाती हैं। एक प्रतिनिधि उदाहरण: किसी फिनटेक कंपनी में इंफ्रास्ट्रक्चर भूमिका के लिए इंटरव्यू दे रहे प्लेटफ़ॉर्म इंजीनियर को बताया जाता है कि किसी ने क्लाउड कंसोल में हाथ से सिक्योरिटी ग्रुप बदला, अगले प्लान में अप्रत्याशित अंतर दिखा और टीम apply करने को लेकर चिंतित है। मजबूत उत्तर इसे ड्रिफ्ट बताता है, समझाता है कि वास्तविक स्टेट रिफ्रेश करने के कारण plan ने इसे पहले ही दिखा दिया, तय करता है कि हाथ से किया गया बदलाव रखना है या वापस करना है और फिर या तो वास्तविकता से मेल खाने के लिए कॉन्फ़िगरेशन अपडेट करता है या घोषित स्टेट बहाल करने के लिए apply करता है। इंटरव्यू लेने वाला निर्णय सुन रहा है, कोई कमांड नहीं।

अन्य बार-बार आने वाले परिदृश्य हैं: बीच में विफल हुआ apply और उसके बाद स्टेट की स्थिति; Terraform के अस्तित्व से पहले बनाए गए रिसोर्स और उन्हें प्रबंधन के अंतर्गत लाने के लिए terraform import का उपयोग; कई इंजीनियरों वाली टीम में रिपॉज़िटरी, बैकएंड और CI की संरचना ताकि pull request पर प्लान चले और apply केवल एक बार हो; वेरिएबल में रहस्य और इसके बजाय वे कहाँ से आने चाहिए; रिसोर्स के व्यवहार को बदलने वाला प्रोवाइडर अपग्रेड। हर मामले में बाधा बताएं, तरीका चुनें और उसकी लागत स्पष्ट करें।

इनका अच्छा उत्तर देना आसान होता है जब आप इन्हें पहले ज़ोर से बोल चुके हों। मॉक इंटरव्यू मोड पूरक प्रश्नों के साथ परिदृश्य-आधारित प्रश्न चलाता है और भूमिका तथा टूल के अन्य प्रश्न-संग्रह भूमिका और विषय के अनुसार इंटरव्यू प्रश्न के अंतर्गत उपलब्ध हैं।

क्या AI इंटरव्यू सहायक Terraform इंटरव्यू में मदद कर सकता है?

बातचीत वाले हिस्सों में हाँ, लेकिन इसकी सीमाएँ स्पष्ट रूप से बताना उचित है। SubcueAI का नेटिव macOS और Windows डेस्कटॉप ऐप सिस्टम ऑडियो तथा आपका माइक्रोफ़ोन कैप्चर करके स्थानीय ओवरले में छोटे सुझाव दिखाता है। इसलिए जब इंटरव्यू लेने वाला पूछता है कि स्टेट लॉकिंग किससे बचाती है, तो समझाते समय तरीका आपके सामने होता है। ब्राउज़र एक्सटेंशन का साइड पैनल Chrome या Edge पर ब्राउज़र-टैब कॉल के लिए यही करता है और केवल मीटिंग टैब का ऑडियो कैप्चर करता है। कोई बॉट कॉल में शामिल नहीं होता और मीटिंग पेज में कुछ भी इंजेक्ट नहीं किया जाता; सेटअप के चरण ट्यूटोरियल पेज पर हैं।

जहाँ यह मदद नहीं करता: निगरानी वाला आकलन, रिकॉर्ड की जा रही स्क्रीन, कंपनी द्वारा प्रबंधित लैपटॉप या ऐसा लाइव अभ्यास जिसमें आप निगरानी के तहत HCL लिखते हैं। SubcueAI के संस्थापक Aaron Cao इसका डिज़ाइन लक्ष्य आपके मौजूदा ज्ञान के संकेत के रूप में बताते हैं, उसका विकल्प नहीं। इसलिए सहायक आपके रिज़्यूमे और आपकी अपनी भाषा के आधार पर काम करता है। स्पष्ट सीमाएँ पता लगाने की संभावना वाले समूह में दी गई हैं।

सामान्य प्रश्न

terraform plan और terraform apply में क्या अंतर है?

plan कॉन्फ़िगरेशन, स्टेट फ़ाइल और वास्तविक रिसोर्स पढ़कर बिना कुछ बदले वे कार्रवाइयाँ दिखाता है जो Terraform करेगा। apply उन कार्रवाइयों को पूरा करके स्टेट अपडेट करता है। उन्हें अलग रखने से इंफ्रास्ट्रक्चर बदलने से पहले प्लान की समीक्षा और स्वीकृति हो सकती है।

लॉकिंग वाला रिमोट स्टेट क्यों महत्वपूर्ण है?

रिमोट स्टेट प्रत्येक इंजीनियर और पाइपलाइन को सत्य का समान स्रोत देता है, जबकि लॉकिंग दो apply को एक साथ चलकर उसे खराब करने से रोकती है। लैपटॉप पर मौजूद स्थानीय स्टेट अलग हो जाता है और उसे लॉक नहीं किया जा सकता।

क्या Terraform वर्कस्पेस परिवेशों को अलग करने का सही तरीका हैं?

वे एक कॉन्फ़िगरेशन को कई स्टेट फ़ाइलें देते हैं, जो छोटे बदलावों के लिए उपयुक्त है। प्रोडक्शन के लिए आम तौर पर अपना कॉन्फ़िगरेशन, बैकएंड और क्रेडेंशियल होने चाहिए, क्योंकि केवल वर्कस्पेस बदलना पहुँच या प्रभाव-क्षेत्र का कोई अलगाव नहीं देता।

Terraform में ड्रिफ्ट को कैसे संभालते हैं?

घोषित और वास्तविक स्टेट के बीच अंतर देखने के लिए प्लान चलाएं, तय करें कि हाथ से किया गया बदलाव रखना है या नहीं, फिर या तो मेल बैठाने के लिए कॉन्फ़िगरेशन अपडेट करें या घोषित स्टेट बहाल करने के लिए apply करें। हाथ से स्टेट संपादित करना अंतिम उपाय है।

क्या SubcueAI निगरानी वाले Terraform आकलन के दौरान मदद कर सकता है?

नहीं। निगरानी और रिकॉर्ड वाले आकलन इसके दायरे से बाहर हैं। यह बातचीत वाले चरणों के लिए बनाया गया है, जहाँ बोलते समय यह आपकी अपनी स्मृति को संकेत देता है; उससे पहले अभ्यास करने की जगह मॉक इंटरव्यू मोड है।

संबंधित प्रश्न

← और देखें: भूमिका और विषय के अनुसार इंटरव्यू प्रश्न