अंदाजा लगाने की जगह bundle का diff निकालिए। पहले और बाद वाले commit पर bundle analyzer चलाइए, और कोई नई dependency, किसी मौजूदा का दोहरा version, या पूरी library खींच लाता कोई barrel import ढूंढिए। हल्की dependency, गहरे imports, या पहले paint पर जरूरी न होने पर dynamic import से ठीक कीजिए। फिर CI में size का बजट जोड़िए ताकि यह दोबारा चुपचाप न हो सके।
इंटरव्यूअर यह क्यों पूछते हैं
इंटरव्यूअर optimization के नुस्खों की सूची नहीं, debugging का तरीका चाहते हैं। वे जांचते हैं कि आप आकार को किसी खास module पर टिकाना जानते हैं, कि आप आम वजहें बता सकते हैं जैसे transitive dependencies के दोहरे versions और side effect वाली barrel files, और सबसे जरूरी, कि आप इसे automation से बंद करते हैं। CI के बजट पर खत्म करना ही एक मरम्मत को एक आदत से अलग करता है।
अपना जवाब कैसे स्ट्रक्चर करें
- कुछ भी सुझाने से पहले दोनों builds नापें और उनका diff निकालें।
- संभावित वजहें क्रम से गिनाएं और बताएं कि हर एक की पुष्टि कैसे करते हैं।
- वजह के मुताबिक हल दें, कोई आम नुस्खा नहीं।
- CI में size का बजट जोड़ें ताकि ऐसा दोबारा review के वक्त ही पकड़ा जाए।
उदाहरण जवाब
पहले मैं तथ्य जुटाता हूं। मैं पिछला commit और मौजूदा दोनों build करता हूं और दोनों पर analyzer चलाता हूं, ताकि मैं बहस करने की जगह ठीक उस module पर उंगली रख सकूं जो बढ़ा है। आम तौर पर यह तीन में से एक होता है। किसी ने एक function के लिए भारी dependency जोड़ दी, तारीख या utility वाली library क्लासिक है। या अब हम एक ही package के दो versions भेज रहे हैं क्योंकि किसी transitive dependency ने अलग version पकड़ रखा है, जिसे analyzer दोहरे chunks की तरह दिखाता है। या कोई index file सब कुछ दोबारा export करती है और tree shaking ने हार मान ली क्योंकि package को side effect free नहीं बताया गया। हल वजह के पीछे चलता है: हल्की dependency या platform वाला विकल्प लगाओ, version dedupe करो, या खास module का रास्ता import करो। अगर code सच में चाहिए पर पहले paint पर नहीं, जैसे rich text editor या charting library, तो वह उस बातचीत के पीछे dynamic import बन जाता है जिसे उसकी जरूरत है। फिर मैं CI में एक size का बजट जोड़ता हूं जो ऐसी छलांग पर pull request फेल कर दे, क्योंकि वरना यह अगली तिमाही फिर हो जाएगा।
जल्दी ही यह इंटरव्यू देने जा रहे हैं? GhostPilot आपकी लाइव कॉल सुनता है, सवाल पूछे जाते ही उसे पकड़ लेता है, और रियल-टाइम में एक स्ट्रक्चर्ड जवाब आपकी स्क्रीन पर डाल देता है। अगले मॉक में इसे आजमाएं, या ले लें एक $29 Session Pass, कोई सब्सक्रिप्शन नहीं, असली इंटरव्यू के लिए।
देखें यह कैसे काम करता हैफॉलो-अप सवाल जिनकी उम्मीद रखें
- कैसे पता करेंगे कि दोहरा version कौन सी dependency खींच लाई?
- size का बजट किस सीमा पर और किन entry points के लिए रखेंगे?
- code splitting आपकी caching की रणनीति के साथ कैसे बरतता है?
React डेवलपर के और सवाल
आपका इंटरव्यूअर इसका अपना वर्ज़न पूछेगा। फ्री Question Predictor में अपना असली जॉब डिस्क्रिप्शन पेस्ट कीजिए और वो 20 सवाल पाइए जो उस रोल में सबसे ज्यादा पूछे जाने की संभावना है, साथ में यह भी कि हर सवाल असल में क्या टटोल रहा है।
मेरे सवाल प्रेडिक्ट करें