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

कई screens को एक ही server data चाहिए और वह बार बार दोबारा लाया जा रहा है। आप इसे कैसे संभालेंगे?

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

छोटा जवाब

data को component state की जगह request से चाबी लगी हुई किसी caching परत में रखिए। कोई query library एक ही चाबी की एक साथ चल रही requests को एक कर देती है, cache से data तुरंत परोसती है और पृष्ठभूमि में उसे ताजा करती है, और mutation के बाद उसे रद्द करने की एक ही जगह देती है। server की तरफ, request स्तर की caching और route में prefetching का मतलब है कि component के mount होने से पहले ही अक्सर client के पास data होता है।

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

इंटरव्यूअर जांच रहे होते हैं कि आप server की state को UI की state से अलग करते हैं या नहीं, जो ज्यादातर React apps का सबसे बड़ा अकेला आर्किटेक्चर वाला फैसला है। वे API के जवाबों से ठुंसे किसी global store की जगह cache keys, बासीपन और invalidation की बात सुनना चाहते हैं। prefetching और request deduplication का जिक्र दिखाता है कि आपने waterfall की समस्या किसी tutorial में नहीं, असली app में झेली है।

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

  • श्रेणी की गलती बताएं: server का data cache है, state नहीं।
  • deduplication, stale time और पृष्ठभूमि की revalidation समझाएं।
  • mutations के बाद invalidation और चाबियों का मालिक कौन है, यह बताएं।
  • waterfall खत्म करने के लिए prefetching या server पर fetching जोड़ें।

उदाहरण जवाब

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

जड़ में वजह आम तौर पर यह होती है कि data को component state माना जा रहा है, तो हर screen की अपनी नकल और अपना fetch है। मैं उसे किसी अर्थपूर्ण चीज से चाबी लगे query cache में ले जाता हूं, जैसे resource का नाम और id। एक बार चाबी लग जाए, तो एक ही render दौर में एक ही चीज मांगने वाले तीन components एक ही network request बनाते हैं, और दूसरी screen को cache से तुरंत paint मिल जाता है जबकि पीछे चुपचाप revalidation चलती रहती है। मैं stale time हर resource के लिए अलग रखता हूं, सब पर एक जैसा नहीं, क्योंकि कोई user profile मिनटों तक बासी रह सकती है और किसी live order का status नहीं। फिर mutations सब कुछ नहीं, खास चाबियां रद्द करती हैं, और मैं चाबी बनाने वाला code एक ही module में रखता हूं ताकि कोई थोड़ी अलग चाबी गढ़कर चुपचाप cache न तोड़ दे। अगर framework साथ देता है तो मैं route में prefetch करता हूं या server पर fetch करता हूं, ताकि component के mount होने से पहले ही data रास्ते में हो, और यही असल में waterfall हटाता है, उसे किसी spinner के पीछे छिपाता नहीं।

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

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

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

  • किसी resource के लिए stale time कैसे तय करते हैं?
  • ऐसी mutation को कैसे संभालेंगे जो cache में पड़ी कई lists पर असर डालती है?
  • जब दो screens को एक ही data के अलग अलग आकार चाहिए तो आपका तरीका क्या है?

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

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

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

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

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

GhostPilot पाएं