अंदाज़े से पहले नापिए। तय कीजिए कि यह सबके लिए धीमा है या एक ही account के लिए, फिर कोई trace पढ़कर देखिए कि समय असल में कहां जा रहा है: एप्लिकेशन के कोड में, डेटाबेस में, या किसी बाहर जाती कॉल में। ज़्यादातर मामलों में डेटाबेस होता है, तो slow query log निकालिए और संदिग्ध query पर EXPLAIN ANALYZE चलाइए। साथ ही देखिए कि क्या बदला, क्योंकि कोई deploy, डेटा की मात्रा का कोई पड़ाव, या ऐसा cache जिसने hit करना बंद कर दिया, ज़्यादातर गिरावटें इन्हीं से समझ आती हैं।
इंटरव्यूअर यह क्यों पूछते हैं
यह डिबगिंग की प्रक्रिया का सवाल है, सामान्य ज्ञान का नहीं। इंटरव्यूअर देखना चाहता है कि आप fix पर कूदने की जगह तरीके से दायरा घटाते हैं, और वे यह भी देखना चाहते हैं कि आप जल्दी पूछते हैं कि क्या बदला। वे यह भी जांच रहे हैं कि आप प्रोडक्शन के बारे में सुरक्षित ढंग से बात कर सकते हैं: दोहराना, blast radius, और यह कि जब यूज़र प्रभावित हों तो आप पहले mitigate करेंगे और जांच बाद में।
अपना जवाब कैसे स्ट्रक्चर करें
- पहले यह तय करें कि किस पर और किस चीज़ पर असर है।
- trace या timings से धीमी परत ढूंढें।
- पूछें कि क्या बदला: deploy, डेटा की बढ़त, कोई dependency।
- बताएं कि खोदते हुए आप बीच में कैसे राहत देंगे।
उदाहरण जवाब
पहले मुझे समस्या की शक्ल चाहिए। यह हर request है या निन्यानवेवां percentile, एक tenant है या सब, और ठीक कब शुरू हुई। वह timestamp अक्सर आधा मामला अपने आप सुलझा देता है, क्योंकि वह किसी deploy, migration या config बदलाव से जा मिलता है। फिर मैं किसी धीमी request का trace निकालकर उसका waterfall देखता हूं, क्योंकि कौन सी परत धीमी है यह अंदाज़ा लगाना सबसे ज़्यादा समय बर्बाद करता है। अगर डेटाबेस है, तो मैं slow query log देखता हूं और EXPLAIN ANALYZE चलाता हूं, और आम जवाब होते हैं table बढ़ने के बाद plan का पलट जाना, नए filter वाले column पर index का न होना, या कोई N plus one जो अब चोट देता है क्योंकि accounts में rows बढ़ गई हैं। अगर कोई बाहर जाती कॉल है, तो मैं देखता हूं कि वह dependency खराब चल रही है या नहीं और हमारे पास timeout है भी या नहीं, क्योंकि timeout न होना उनके बुरे दिन को हमारा बना देता है। इस बीच अगर यूज़र को तकलीफ हो रही है तो मैं पहले राहत देता हूं: rollback, कोई छोटा cache, या महंगा रास्ता बंद, और फिर बिना दबाव के जांच पूरी करता हूं।
जल्दी ही यह इंटरव्यू देने जा रहे हैं? GhostPilot आपकी लाइव कॉल सुनता है, सवाल पूछे जाते ही उसे पकड़ लेता है, और रियल-टाइम में एक स्ट्रक्चर्ड जवाब आपकी स्क्रीन पर डाल देता है। अगले मॉक में इसे आजमाएं, या ले लें एक $29 Session Pass, कोई सब्सक्रिप्शन नहीं, असली इंटरव्यू के लिए।
देखें यह कैसे काम करता हैफॉलो-अप सवाल जिनकी उम्मीद रखें
- अगर traces दिखाएं कि समय आपके अपने एप्लिकेशन कोड में जा रहा है तो?
- plan के बिगड़ने और डेटा बढ़ने की समस्या में फर्क कैसे करेंगे?
- अगली बार इसकी जांच तेज़ हो, इसके लिए आप क्या जोड़ेंगे?
फुल स्टैक डेवलपर के और सवाल
आपका इंटरव्यूअर इसका अपना वर्ज़न पूछेगा। फ्री Question Predictor में अपना असली जॉब डिस्क्रिप्शन पेस्ट कीजिए और वो 20 सवाल पाइए जो उस रोल में सबसे ज्यादा पूछे जाने की संभावना है, साथ में यह भी कि हर सवाल असल में क्या टटोल रहा है।
मेरे सवाल प्रेडिक्ट करें