डेवOps इंटरव्यू में यह जाँचा जाता है कि आप सॉफ़्टवेयर को भरोसेमंद तरीके से शिप कर सकते हैं या नहीं: कोड लैपटॉप से प्रोडक्शन तक कैसे पहुँचता है, आपको कैसे पता चलता है कि यह ठीक चल रहा है, और जब नहीं चल रहा हो तो आप क्या करते हैं। नीचे 20 सवाल उनके जवाबों के साथ हैं, बेसिक्स से लेकर उन सिनेरियो सवालों तक जो ज़्यादातर इंटरव्यू का फ़ैसला करते हैं। जहाँ कोई कमांड दिखाया गया है, वह एक मानक कमांड है जिसे आप टूल के अपने डॉक्युमेंटेशन में देख सकते हैं।
बुनियादी बातें
1. DevOps क्या है?
काम करने का एक तरीका जो डेवलपमेंट और ऑपरेशंस को साथ लाता है, ताकि सॉफ़्टवेयर बनाया, टेस्ट किया, रिलीज़ किया और चलाया एक ही साझा प्रक्रिया से जाए। इसके लक्ष्य हैं तेज़ और सुरक्षित रिलीज़, और कुछ टूटने पर जल्दी रिकवरी। यह एक संस्कृति और प्रैक्टिसेज़ का सेट है, जिसमें टूल्स सहायक हैं, सिर्फ़ एक जॉब टाइटल नहीं।
2. continuous integration, continuous delivery और continuous deployment में क्या अंतर है?
| प्रैक्टिस | इसका क्या मतलब है |
|---|---|
| Continuous integration | डेवलपर्स छोटे बदलाव अक्सर मर्ज करते हैं, और हर मर्ज एक ऑटोमेटेड बिल्ड और टेस्ट रन शुरू करता है |
| Continuous delivery | पाइपलाइन पास करने वाला हर बदलाव रिलीज़ के लिए तैयार होता है, और कब रिलीज़ करना है यह एक व्यक्ति तय करता है |
| Continuous deployment | पाइपलाइन पास करने वाला हर बदलाव अपने आप प्रोडक्शन में रिलीज़ हो जाता है |
3. सॉफ़्टवेयर डिलीवरी के मुख्य मेट्रिक्स कौन-से हैं?
DORA रिसर्च प्रोग्राम से चार व्यापक रूप से इस्तेमाल होते हैं: deployment frequency, lead time for changes, change failure rate, और time to restore service। पहले दो गति मापते हैं, और आख़िरी दो स्थिरता। एक अच्छा जवाब बताता है कि आप चारों को ट्रैक करते हैं ताकि स्थिरता की क़ुर्बानी देकर गति न बढ़ाएँ।
4. एक अच्छी CI पाइपलाइन कैसी दिखती है?
- कोड चेकआउट करें और कैश की गई डिपेंडेंसीज़ रीस्टोर करें।
- बिल्ड करें।
- पहले तेज़ टेस्ट चलाएँ (यूनिट टेस्ट), फिर धीमे वाले।
- स्टैटिक चेक चलाएँ, जैसे लिंटिंग और डिपेंडेंसी वल्नरेबिलिटी स्कैन।
- एक आर्टिफ़ैक्ट (कंटेनर इमेज या पैकेज) एक बार बनाएँ और उसे कमिट के साथ टैग करें।
- उसे पब्लिश करें, और वही आर्टिफ़ैक्ट हर एनवायरनमेंट में डिप्लॉय करें।
मुख्य विचार है एक बार बिल्ड करें और वही आर्टिफ़ैक्ट आगे बढ़ाएँ, ताकि जो आपने टेस्ट किया वही आप शिप करें।
वर्ज़न कंट्रोल और रिलीज़
5. आप ब्रांच और रिलीज़ कैसे करते हैं?
दो आम तरीके हैं। Trunk-based development में छोटे बदलाव अक्सर मुख्य ब्रांच में मर्ज होते हैं, और अधूरे काम को छिपाने के लिए feature flags इस्तेमाल होते हैं। GitFlow जैसे branch-based workflows रिलीज़ के लिए लंबे समय तक चलने वाली ब्रांच इस्तेमाल करते हैं। Trunk-based development आमतौर पर continuous delivery के साथ बेहतर मेल खाता है, क्योंकि मर्ज छोटे और बार-बार होते हैं।
6. blue-green और canary deployments क्या हैं?
| रणनीति | यह कैसे काम करती है | रोलबैक |
|---|---|---|
| Blue-green | दो एक जैसे एनवायरनमेंट। खाली वाले पर डिप्लॉय करें, उसे टेस्ट करें, फिर ट्रैफ़िक स्विच करें | ट्रैफ़िक वापस स्विच करें |
| Canary | नए वर्ज़न पर थोड़ा-सा ट्रैफ़िक भेजें, मेट्रिक्स देखें, और धीरे-धीरे बढ़ाएँ | हिस्सा वापस शून्य करें |
| Rolling | इंस्टेंस कुछ-कुछ करके बदलें | आगे बढ़ाएँ या रोल को उलट दें |
Blue-green में अतिरिक्त क्षमता का ख़र्च आता है। Canary को अच्छे मेट्रिक्स चाहिए, क्योंकि फ़ैसला डेटा पर होता है।
7. feature flag क्या है, और इसका इस्तेमाल क्यों करें?
कॉन्फ़िगरेशन में एक स्विच जो बिना डिप्लॉयमेंट किसी फ़ीचर को चालू या बंद करता है। यह कोड डिप्लॉय करने को फ़ीचर रिलीज़ करने से अलग करता है, छोटे समूह के साथ टेस्ट करने देता है, और कुछ गड़बड़ होने पर तुरंत बंद करने का विकल्प देता है। क़ीमत यह है कि पुराने फ़्लैग जमा होते जाते हैं, इसलिए फ़ीचर स्थिर होते ही उन्हें हटा दें।
8. सुरक्षित तरीके से रोलबैक कैसे करें?
पिछला आर्टिफ़ैक्ट उपलब्ध रखें, डिप्लॉय को दोहराने योग्य बनाएँ, और डेटाबेस बदलावों को backward compatible रखें, ताकि पुराना वर्ज़न नई स्कीमा के साथ भी काम करे। जो रोलबैक प्लान डेटाबेस को नज़रअंदाज़ करता है वह प्लान नहीं है। जोखिम भरे बदलावों के लिए, जब रोलबैक से डेटा खोने का ख़तरा हो, तो फ़िक्स के साथ आगे बढ़ना बेहतर है।
इंफ्रास्ट्रक्चर और कंटेनर
9. इंफ्रास्ट्रक्चर ऐज़ कोड क्या है?
कंसोल में क्लिक करने के बजाय सर्वर, नेटवर्क और अनुमतियों को वर्शन-कंट्रोल्ड फ़ाइलों में परिभाषित करना। यह एनवायरनमेंट को दोहराने योग्य, समीक्षा योग्य और आसानी से फिर से बनाने योग्य बनाता है। आम टूल्स में Terraform, Pulumi और क्लाउड प्रोवाइडर के अपने टेम्पलेट शामिल हैं। हमारे Terraform इंटरव्यू प्रश्न देखें।
10. कंटेनर और वर्चुअल मशीन में क्या अंतर है?
एक वर्चुअल मशीन में वर्चुअलाइज़्ड हार्डवेयर के ऊपर एक पूरा गेस्ट ऑपरेटिंग सिस्टम शामिल होता है। एक कंटेनर होस्ट के कर्नेल को साझा करता है और केवल एप्लिकेशन और उसकी डिपेंडेंसीज़ को पैकेज करता है, इसलिए यह तेज़ी से शुरू होता है और कम मेमोरी का उपयोग करता है। कंटेनर वर्चुअल मशीन की तुलना में कम आइसोलेशन देते हैं।
11. एक अच्छे Dockerfile में क्या होना चाहिए?
एक छोटी, विशिष्ट बेस इमेज का उपयोग करें, लेयर को इस तरह क्रम में रखें कि जो सबसे कम बदलती हैं वे पहले आएं (बिल्ड कैश का उपयोग करने के लिए), डिपेंडेंसी फ़ाइलों को कॉपी करें और सोर्स कोड कॉपी करने से पहले इंस्टॉल करें, नॉन-रूट यूज़र के रूप में चलाएं, और इमेज में सीक्रेट्स न डालें। मल्टी-स्टेज बिल्ड बिल्ड टूल्स को अंतिम इमेज से बाहर रखते हैं।
12. Kubernetes क्यों?
यह मशीनों में कंटेनर को शेड्यूल करता है, फेल हुए कंटेनर को रीस्टार्ट करता है, उन्हें स्केल करता है, और रोलिंग अपडेट और सर्विस डिस्कवरी को संभालता है। यह बहुत सारी जटिलता भी जोड़ता है, इसलिए एक अच्छा उत्तर बताता है कि आप इसे कब नहीं उपयोग करेंगे, जैसे कि एक छोटा ऐप जो कुछ सर्वर पर फिट हो जाता है या एक मैनेज्ड प्लेटफ़ॉर्म। हमारे Kubernetes इंटरव्यू प्रश्न देखें।
13. आप सीक्रेट्स को कैसे मैनेज करते हैं?
उन्हें कभी भी सोर्स कंट्रोल या इमेज में न रखें। एक सीक्रेट्स मैनेजर या प्लेटफ़ॉर्म के सीक्रेट स्टोर का उपयोग करें, प्रत्येक सर्विस को केवल न्यूनतम आवश्यक एक्सेस दें, सीक्रेट्स को रोटेट करें, और उन्हें लॉग में प्रिंट करने से बचें। बताएं कि अगर कोई लीक हो जाए तो आप क्या करेंगे: उसे रिवोक करें, रोटेट करें, और उपयोग के लिए लॉग की जांच करें।
विश्वसनीयता और संचालन
14. मॉनिटरिंग, लॉगिंग और ट्रेसिंग क्या हैं?
| सिग्नल | आपको बताता है |
|---|---|
| मेट्रिक्स | समय के साथ सिस्टम कैसा चल रहा है, जैसे एरर रेट और लेटेंसी |
| लॉग्स | किसी विशिष्ट इवेंट में क्या हुआ |
| ट्रेसेस | एक रिक्वेस्ट कई सर्विसेज़ से कैसे गुज़री |
उन लक्षणों पर अलर्ट करें जो यूज़र्स महसूस करते हैं, जैसे एरर और धीमी प्रतिक्रियाएं, न कि कारणों पर, जैसे एक मशीन पर उच्च CPU।
15. SLI, SLO और SLA क्या हैं?
सर्विस लेवल इंडिकेटर एक माप है, जैसे सफल होने वाली रिक्वेस्ट का हिस्सा। सर्विस लेवल ऑब्जेक्टिव इसके लिए लक्ष्य है, जैसे 30 दिनों में 99.9 प्रतिशत। सर्विस लेवल एग्रीमेंट ग्राहकों से एक वादा है, अक्सर चूकने पर परिणामों के साथ। 100 प्रतिशत और SLO के बीच का अंतर एक एरर बजट है: जोखिम और बदलाव के लिए आपके पास जो जगह है।
16. एक प्रोडक्शन सर्विस धीमी है। आप क्या करते हैं?
- डैशबोर्ड और एरर रेट का उपयोग करके जांचें कि क्या यह वास्तविक है और कौन प्रभावित है।
- जांचें कि हाल ही में क्या बदला: एक डिप्लॉयमेंट, एक कॉन्फ़िगरेशन परिवर्तन, एक ट्रैफ़िक स्पाइक।
- इसे संकीर्ण करें: एक विशिष्ट एंडपॉइंट, रीजन, या डिपेंडेंसी।
- संसाधनों (CPU, मेमोरी, कनेक्शन) और डाउनस्ट्रीम सर्विसेज़ को देखें।
- यदि हाल का कोई बदलाव संभावित कारण है, तो पहले उसे रोल बैक करें और बाद में जांच करें।
- काम करते समय स्थिति बताएं।
इंटरव्यूअर एक शांत, क्रमबद्ध दृष्टिकोण और मूल कारण खोजने से पहले शमन करने की सुन रहे हैं।
17. ब्लेमलेस पोस्टमॉर्टम क्या है?
एक घटना के बाद एक लिखित समीक्षा जो इस बात पर केंद्रित होती है कि सिस्टम और प्रक्रिया ने विफलता को कैसे अनुमति दी, न कि इस पर कि किसने गलती की। इसमें टाइमलाइन, प्रभाव, कारण और मालिकों के साथ ठोस फॉलो-अप कार्रवाई शामिल होती है। उद्देश्य सीखना और उसी विफलता को दोहराना कठिन बनाना है।
18. हॉरिज़ॉन्टल और वर्टिकल स्केलिंग में क्या अंतर है?
वर्टिकल स्केलिंग एक मशीन को अधिक संसाधन देती है। हॉरिज़ॉन्टल स्केलिंग अधिक मशीनें जोड़ती है। वर्टिकल सरल है लेकिन इसकी एक सीमा और एक सिंगल पॉइंट ऑफ़ फेलियर है। हॉरिज़ॉन्टल अधिक स्केल करती है और एक मशीन के नुकसान से बच जाती है, लेकिन इसके लिए स्टेटलेस सर्विसेज़ या साझा स्टेट की आवश्यकता होती है।
व्यावहारिक
19. आप एक पाइपलाइन को कैसे सुरक्षित करते हैं?
सीमित करें कि कौन पाइपलाइन बदल सकता है और कौन प्रोडक्शन में डिप्लॉय कर सकता है। ज्ञात कमजोरियों के लिए डिपेंडेंसीज़ और इमेज को स्कैन करें, आर्टिफैक्ट्स पर हस्ताक्षर करें और सत्यापित करें, क्रेडेंशियल्स को अल्पकालिक और स्कोप्ड रखें, और कोड की तरह पाइपलाइन फ़ाइलों में बदलावों की समीक्षा करें। व्यापक अनुमतियों वाला बिल्ड एजेंट एक पसंदीदा लक्ष्य है।
20. मुझे एक डिप्लॉयमेंट के बारे में बताएं जो गलत हो गया।
यह एक तकनीकी इंटरव्यू के अंदर एक व्यवहारिक प्रश्न है। एक छोटी कहानी का उपयोग करें: क्या बदला, आपने कैसे नोटिस किया, आपने पहले क्या किया (आमतौर पर शमन, अक्सर रोल बैक करके), आपने क्या पाया, और बाद में आपने क्या बदला ताकि यह दोहराया न जा सके। ब्लेमलेस शब्दावली और एक ठोस फॉलो-अप वह है जो इंटरव्यूअर देखते हैं।
तैयारी कैसे करें
- एक छोटी पाइपलाइन शुरू से अंत तक बनाएँ: एक रिपॉज़िटरी, एक बिल्ड, एक टेस्ट रन, एक कंटेनर, और किसी ऐसी जगह पर डिप्लॉयमेंट जहाँ आप पहुँच सकें।
- अपने अनुभव में घटी किसी एक घटना या असफल रिलीज़ को समझाने के लिए तैयार रहें।
- "सर्विस धीमी है" वाले जवाब को ज़ोर से तब तक अभ्यास करें जब तक वह एक शांत, क्रमबद्ध सूची न बन जाए।
- CI, कंटेनर, इंफ्रास्ट्रक्चर ऐज़ कोड, और मॉनिटरिंग जैसे हर क्षेत्र में नामों की लंबी सूची के बजाय एक-एक टूल अच्छी तरह जानें।
संबंधित अभ्यास के लिए, हमारी इन गाइड्स को देखें: AWS इंटरव्यू प्रश्न, Terraform इंटरव्यू प्रश्न, Kubernetes इंटरव्यू प्रश्न, और कंप्यूटर नेटवर्किंग इंटरव्यू प्रश्न।
ज़ोर से और अपने शब्दों में अभ्यास करें। बाद में एक ट्रांसक्रिप्ट दिखाता है कि आपने कहाँ भटकाव किया या मुख्य बात छोड़ दी। किसी भी लाइव इंटरव्यू या असेसमेंट में AI टूल्स के बारे में नियोक्ता के नियमों का पालन करें।
YesToTheOffer के साथ अपने उत्तरों का अभ्यास करें
जोर से पूर्वाभ्यास करें, अपने ही रिज्यूमे से बने उत्तर प्राप्त करें, और बाद में अपने ट्रांसक्रिप्ट की समीक्षा करें। 30 मुफ्त मिनट, कोई सदस्यता नहीं।



