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

read heavy endpoint के आगे caching की परत कैसे जोड़ेंगे बिना बहुत बासी डेटा परोसे?

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

छोटा जवाब

सबसे छोटा TTL चुनिए जो फिर भी फर्क डाले, फिर write पर invalidate कीजिए, यानी उसी रास्ते में key मिटाइए या बदलिए जो row बदलता है। key में हर वह input रखिए जो नतीजा बदलता है, tenant और schema का version भी। single flight locking जोड़िए ताकि एक miss डेटाबेस पर भगदड़ न मचाए। जहां बासीपन बेज़रर है वहां उसे साफ तौर पर स्वीकार कीजिए, और hit rate ट्रैक कीजिए ताकि पता रहे कि यह काम कर रहा है।

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

caching जोड़ना आसान और सही रखना मुश्किल है, तो इंटरव्यूअर देखना चाहता है कि आप सिर्फ Redis का नाम लेने की जगह invalidation और key के डिज़ाइन पर सोचते हैं। वे नाकामी के तरीके भी जांच रहे हैं: expiry पर भगदड़, ऐसी keys जो tenants के बीच डेटा लीक कर दें, और ऐसे caches जो deploy के बाद चुपचाप hit करना बंद कर दें। hit rate नापना दिखाता है कि cache चुपचाप बेकार होने पर आपको पता चल जाएगा।

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

  • पक्का करें कि endpoint सच में read heavy है और थोड़ा बासीपन झेल सकता है।
  • cache की key डिज़ाइन करें, tenant और version समेत।
  • write पर invalidation की रणनीति समझाएं।
  • भगदड़ और hit rate की निगरानी कवर करें।

उदाहरण जवाब

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

कुछ भी जोड़ने से पहले मैं देखता हूं कि query को ही तेज़ किया जा सकता है या नहीं, क्योंकि खराब query के आगे लगा cache समस्या तब तक छिपाता है जब तक सबसे बुरे वक्त पर miss न हो जाए। मान लीजिए यह सच में read heavy है, तो मैं Redis में cache aside चुनता हूं। key में tenant id, असली query parameters, और एक version prefix होता है जिसे मैं deploy पर बढ़ा सकता हूं ताकि बदली हुई response की शक्ल कभी पुरानी entries से न परोसी जाए। TTL मशीनरी नहीं, सुरक्षा जाल है: मैं write पर साफ तौर पर invalidate करता हूं, उसी कोड रास्ते में जो row अपडेट करता है, तो सामान्य हाल में बासीपन की खिड़की मिलीसेकंड की होती है। जिस नाकामी की मैं योजना बनाता हूं वह भगदड़ है, जहां कोई गर्म key expire होती है और दो सौ requests एक साथ miss होकर डेटाबेस पर जा गिरती हैं, तो मैं single flight lock लगाता हूं और बाकी को जीतने वाले का इंतज़ार करने देता हूं। फिर मैं hit rate को मेट्रिक की तरह निकालता हूं, क्योंकि जो cache किसी refactor के बाद 95 प्रतिशत से 10 पर गिर जाए, उसका पता डेटाबेस गिरने तक चलता ही नहीं।

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

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

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

  • Redis में क्या cache करेंगे और CDN पर क्या?
  • अगर cache पूरी तरह बैठ जाए तो कैसे संभालेंगे?
  • यहां cache aside से write through कब बेहतर है?

फुल स्टैक डेवलपर के और सवाल

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

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

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

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

GhostPilot पाएं