बैकएंड डेवलपर इंटरव्यू सवाल

जोखिम भरे बैकएंड बदलाव को आप सुरक्षित तरीके से कैसे रोल आउट करते हैं?

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

छोटा जवाब

feature flag से deploy को release से अलग करें, फिर धीरे धीरे बढ़ाएं: पहले अंदरूनी यूज़र, फिर छोटा प्रतिशत, फिर और चौड़ा, और हर कदम पर control group के मुकाबले error rate तथा latency देखें। पुराना रास्ता बरकरार रखें ताकि rollback दोबारा deploy करने की जगह एक flag पलटना भर हो, data layer पर बदलाव को backward compatible रखें, और पहले से तय कर लें कि किस बात पर आप रुकेंगे। रोल आउट पूरा होते ही flag हटा दें।

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

इंटरव्यूअर सबूत चाहते हैं कि आप बदलाव बिना ड्रामे के भेजते हैं। वे deploy और release का फर्क, metrics को gate बनाकर ठोस ramp, और यह समझ सुन रहे हैं कि डेटाबेस बदलावों को अपना expand और contract नाच चाहिए। flag की सफाई का ज़िक्र दिखाता है कि आपने वह गंदगी झेली है जो तब जमती है जब हर रोल आउट कोड में एक स्थायी शाखा छोड़ जाता है।

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

  • कोड deploy करने और व्यवहार release करने को अलग करें।
  • ramp के चरण और वे metrics बताएं जिन पर आप रोकते हैं।
  • backward compatible डेटा बदलाव और तुरंत rollback समझाएं।
  • सफाई का कदम शामिल करें ताकि flags जमा न होते जाएं।

उदाहरण जवाब

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

मुख्य बात यह है कि deploy करना और release करना दो अलग घटनाएं हैं। कोड flag के पीछे बंद हालत में जाता है, तो deploy खुद नीरस रहता है, फिर मैं उसे पहले अंदरूनी अकाउंट्स के लिए चालू करता हूं, फिर एक प्रतिशत, फिर दस, फिर बाकी सब, और हर कदम पर इतना रुकता हूं कि metrics के कोई मायने बनें। मैं error rate, latency और वह बिज़नेस metric देखता हूं जिसे बदलाव छूता है, और उनकी तुलना उन यूज़र से करता हूं जो अब भी पुराने रास्ते पर हैं, क्योंकि कुल ग्राफ ऐसे regression को छिपा सकता है जो सिर्फ बदले हुए समूह पर असर डाल रहा हो। कोई भी schema बदलाव expand और contract से होता है, ताकि हर पल दोनों कोड रास्ते उन्हीं tables पर चलें और मैं तुरंत वापस पलट सकूं, और यही पूरी बात है: rollback दबाव में दोबारा deploy करना नहीं, बस एक flag बदलना होना चाहिए। मैं पहले ही लिख लेता हूं कि किस बात पर रुकूंगा, क्योंकि रात दो बजे वह फैसला कोई ठीक से नहीं ले पाता। और हर flag का एक मालिक और उसे हटाने का ticket होता है, क्योंकि दर्जनों बासी flags वाला codebase समझ से बाहर हो जाता है।

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

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

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

  • जो flag किसी यूज़र के लिए request के बीच में व्यवहार बदल दे, उसे आप कैसे संभालेंगे?
  • किसी column का नाम बदलने के लिए expand और contract क्या होता है?
  • प्रतिशत के कदम और हर कदम पर कितनी देर रुकना है, यह आप कैसे तय करते हैं?

बैकएंड डेवलपर के और सवाल

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

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

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

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

GhostPilot पाएं