merge होते ही CI type checks, lint, और असली डेटाबेस पर unit तथा integration tests चलाता है, फिर commit से tag किया गया एक immutable artifact बनाता है। वह artifact अपने आप staging पर डिप्लॉय होता है, smoke tests चलते हैं, फिर वह health checks और ऑटोमैटिक rollback वाले क्रमिक rollout के पीछे प्रोडक्शन में जाता है। जोखिम भरा बर्ताव किसी feature flag के पीछे रहता है, ताकि कोड release करना और feature launch करना अलग अलग घटनाएं बनी रहें।
इंटरव्यूअर यह क्यों पूछते हैं
इससे इंटरव्यूअर को पता चलता है कि आप रोज़ काम कैसे करते हैं और आपने सॉफ्टवेयर सिर्फ लिखा है या चलाया भी है। वे सुन रहे हैं कि वही artifact एनवायरनमेंट से गुज़रता है, rollback की कहानी है, और flags से deploy तथा release अलग होते हैं। इससे यह भी पता चलता है कि आप बार बार शिप करने में कितने सहज हैं, जो बताता है कि आप उनकी टीम में कैसा बर्ताव करेंगे।
अपना जवाब कैसे स्ट्रक्चर करें
- merge से प्रोडक्शन तक चरण क्रम से बताएं।
- बताएं कि वही artifact प्रमोट होता है, दोबारा build नहीं होता।
- rollout और rollback के trigger बताएं।
- समझाएं कि feature flags deploy को launch से कैसे अलग करते हैं।
उदाहरण जवाब
पिछली जिस टीम में मैं था, वहां main में merge होते ही CI शुरू हो जाता था: type check, lint, unit tests, फिर Postgres container पर integration tests, कुल मिलाकर लगभग सात मिनट। पास होने पर हम commit SHA से tag की गई container image बनाते थे, और आगे वही image बढ़ती थी; हर एनवायरनमेंट के लिए कुछ दोबारा build नहीं होता, क्योंकि तब आप ऐसा कुछ शिप कर रहे होते हैं जिसे आपने कभी टेस्ट ही नहीं किया। वह अपने आप staging पर डिप्लॉय होती थी, असली endpoints पर छोटा smoke suite चलता था, और फिर वह health checks के साथ rolling deploy की तरह प्रोडक्शन में जाती थी, जहां हम कुछ मिनट error rate और latency देखते थे और किसी के सीमा पार करने पर ऑटोमैटिक rollback हो जाता था। migrations deploy से पहले अलग कदम की तरह चलती थीं और हमेशा पीछे से मेल खाती थीं, तो कोड का rollback कभी schema को अधर में नहीं छोड़ता था। यूज़र को दिखने वाली हर चीज़ किसी flag के पीछे जाती थी, डिफ़ॉल्ट रूप से बंद, फिर अंदरूनी यूज़र्स के लिए, फिर एक प्रतिशत के लिए। वह फर्क बाकी सब से ज़्यादा मायने रखता था, क्योंकि इसका मतलब था कि खराब launch रात नौ बजे का आपात deploy नहीं, बस एक config का toggle था।
जल्दी ही यह इंटरव्यू देने जा रहे हैं? GhostPilot आपकी लाइव कॉल सुनता है, सवाल पूछे जाते ही उसे पकड़ लेता है, और रियल-टाइम में एक स्ट्रक्चर्ड जवाब आपकी स्क्रीन पर डाल देता है। अगले मॉक में इसे आजमाएं, या ले लें एक $29 Session Pass, कोई सब्सक्रिप्शन नहीं, असली इंटरव्यू के लिए।
देखें यह कैसे काम करता हैफॉलो-अप सवाल जिनकी उम्मीद रखें
- जिस deploy में migration शामिल थी, उसे rollback कैसे करेंगे?
- बासी feature flags साफ करने की ज़िम्मेदारी किसकी है?
- अगर test suite चालीस मिनट लेने लगे तो आप क्या बदलेंगे?
फुल स्टैक डेवलपर के और सवाल
आपका इंटरव्यूअर इसका अपना वर्ज़न पूछेगा। फ्री Question Predictor में अपना असली जॉब डिस्क्रिप्शन पेस्ट कीजिए और वो 20 सवाल पाइए जो उस रोल में सबसे ज्यादा पूछे जाने की संभावना है, साथ में यह भी कि हर सवाल असल में क्या टटोल रहा है।
मेरे सवाल प्रेडिक्ट करें