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

एक pod CrashLoopBackOff में अटका है। आप इसकी छानबीन कैसे करेंगे?

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

छोटा जवाब

events और आखिरी exit code के लिए kubectl describe pod से शुरू करें, फिर क्रैश हुए कंटेनर का आउटपुट पढ़ने को --previous के साथ kubectl logs चलाएं। exit code 137 का मतलब आम तौर पर OOM kill होता है, तो मेमोरी की सीमाएं जांचें; exit 1 या 2 का मतलब आम तौर पर ऐप startup पर फेल हुआ, अक्सर कोई गायब config, secret, या न पहुंच सकने वाली डिपेंडेंसी। पक्का करें कि image tag सच में मौजूद है और देखें कि कहीं कोई सख्त liveness probe तो यह लूप नहीं करा रहा।

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

यह व्यावहारिक काबिलियत की जांच है: दबाव में आप सच में cluster चला सकते हैं या सिर्फ अवधारणाएं जानते हैं। इंटरव्यूअर कमांड का खास क्रम चाहते हैं, आम exit code का मतलब, और यह समझ कि crash loop कभी कभी एप्लिकेशन कोड की जगह प्लेटफॉर्म (probes, रिसोर्स सीमाएं, node pressure) की वजह से होता है।

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

  • describe से शुरू करते हुए कमांड का क्रम बताएं।
  • exit code पढ़ें और उसे कारण की श्रेणी में बदलें।
  • --previous लॉग इस्तेमाल करें, क्योंकि मौजूदा कंटेनर शायद अभी हो ही न।
  • प्लेटफॉर्म वाले कारण जांचें: सीमाएं, probes, secrets, image pull, node pressure।
  • बताएं कि डिबग करते हुए आप हालात कैसे स्थिर रखेंगे।

उदाहरण जवाब

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

पहले kubectl describe pod, क्योंकि events वाला हिस्सा आम तौर पर सीधे बता देता है कि यह image pull की नाकामी है, कोई गायब secret है, या OOM kill, और वह आपको exit code के साथ आखिरी terminated state भी देता है। फिर --previous के साथ kubectl logs, क्योंकि चल रहा कंटेनर पहले ही बदला जा चुका है और उसके लॉग गायब हैं। exit 137 SIGKILL है और दस में से नौ बार वह मेमोरी सीमा होती है, तो मैं अंदाजा लगाने के बजाय सीमा और असली इस्तेमाल की तुलना करता हूं। stack trace के साथ exit 1 एप्लिकेशन के startup की नाकामी है, आम तौर पर config। मैं liveness probe भी जांचता हूं, क्योंकि मैंने एक बिलकुल सेहतमंद Java सर्विस को सिर्फ इसलिए crash loop में देखा है कि उसे गरम होने में 40 सेकंड चाहिए थे और probe उसे 10 दे रहा था। शांति से डिबग करने के लिए मैं deployment को स्केल करूंगा, एक कॉपी में command को sleep से बदलकर exec करूंगा, और restart टाइमर से लड़ने के बजाय वहीं दोबारा दिक्कत पैदा करूंगा।

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

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

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

  • जो कंटेनर कोई लॉग लिखने से पहले ही क्रैश हो जाए, उसे आप कैसे डिबग करेंगे?
  • exit code 137 आपको क्या बताता है, और आगे आप क्या जांचेंगे?
  • क्रैश होते pod को जांच के लिए काफी देर तक जिंदा कैसे रखते हैं?

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

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

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

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

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

GhostPilot पाएं