React डेवलपर इंटरव्यू सवाल

आप कैसे तय करते हैं कि कोई खास state कहां रहनी चाहिए?

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

छोटा जवाब

जितना हो सके उतना local शुरू कीजिए, उसी component के अंदर जो उसे इस्तेमाल करता है, और तभी सबसे नजदीकी साझा पूर्वज तक उठाइए जब भाई बहन components को उसे सच में साझा करना हो। अगर वह server का data है, तो उसकी जगह component state नहीं, कोई caching परत है। अगर user को उसका link भेजने लायक होना चाहिए, जैसे filters या मौजूदा tab, तो उसे URL में रखिए। global store आखिरी उपाय है।

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

यह सवाल किसी framework की जानकारी से ज्यादा आर्किटेक्चर की सहज समझ उजागर करता है। इंटरव्यूअर देखना चाहते हैं कि आप state को किस्म के हिसाब से बांटते हैं, server का data बनाम UI की state बनाम URL की state, हर चीज को डिफॉल्ट किसी global store में नहीं डाल देते। वे जल्दबाजी में state ऊपर उठाने की लागत की समझ भी देखते हैं, क्योंकि बहुत ऊपर धकेली गई state चौड़े दोबारा renders और prop drilling लाती है जिन्हें बाद में सुलझाना तकलीफदेह है।

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

  • पहले state को बांटें: server, URL, local UI, या सचमुच global।
  • जितना हो सके local रखने का डिफॉल्ट बताएं।
  • उसे ऊपर उठाने या किसी store में ले जाने की वजह बताएं।
  • दोनों में से किसी भी दिशा में गलती की कीमत बताएं।

उदाहरण जवाब

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

मेरा पहला कदम यह तय करना है कि यह किस किस्म की state है, क्योंकि जिन चीजों को लोग state कहते हैं उनमें से ज्यादातर असल में local state होती ही नहीं। अगर वह server से आई है तो वह query cache में जाती है, ताकि मुझे उसे useState और किसी effect में हाथ से गूंथने की जगह deduplication, revalidation और बासीपन का इंतजाम मिले। अगर उसे refresh के बाद बचना चाहिए या link के तौर पर साझा होना चाहिए, जैसे चालू filters या कौन सा tab खुला है, तो वह URL में जाती है। जो बचता है वह सच्ची UI state है, और वह उसी component में शुरू होती है जो उसे इस्तेमाल करता है। मैं तभी ऊपर उठाता हूं जब किसी दूसरे component को वह सच में चाहिए, और तब भी सिर्फ सबसे नजदीकी साझा parent तक। global stores मैं उन चीजों के लिए रखता हूं जो सच में पूरे app की हैं, जैसे मौजूदा user या कोई websocket connection। जो गड़बड़ मैंने सबसे ज्यादा बार साफ की है वह ऐसी state है जिसे किसी ऊपरी provider तक इसलिए उठा दिया गया क्योंकि दो components को वह एक बार चाहिए थी, और दो साल बाद हर keystroke पर सब कुछ दोबारा render होता है और उसे नीचे लाने की हिम्मत किसी में नहीं।

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

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

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

  • आप कैसे तय करते हैं कि कोई चीज memory की जगह URL में रहनी चाहिए?
  • जब server का data component state में दोहरा दिया जाता है तो क्या टूटता है?
  • बहुत ऊपर उठा दी गई state को आप कैसे refactor करेंगे?

React डेवलपर के और सवाल

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

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

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

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

GhostPilot पाएं