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

नए web एप्लिकेशन को authenticate करने के लिए आप server sessions चुनेंगे या JWTs?

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

छोटा जवाब

डिफ़ॉल्ट रूप से httpOnly, Secure, SameSite cookie में सर्वर की sessions रखिए, क्योंकि आप तुरंत revoke कर सकते हैं और client के पास कुछ भी संवेदनशील नहीं होता। JWTs तब अपनी जगह कमाते हैं जब सर्विसेज़ कोई session store साझा नहीं कर सकतीं और आपको stateless verification चाहिए। इस्तेमाल करें तो access tokens अल्पजीवी रखें, उनके साथ rotating refresh token रखें, और यह मान लें कि expiry से पहले revoke करने के लिए अब आपको एक denylist संभालनी होगी।

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

यह सामान्य ज्ञान के कपड़े पहने फैसले का सवाल है। इंटरव्यूअर कोई धार्मिक जवाब नहीं, वजह के साथ एक डिफ़ॉल्ट सुनना चाहता है, और वे यह देख रहे हैं कि आपको revocation की समस्या और storage की समस्या पता है या नहीं। जो उम्मीदवार कहते हैं कि JWTs ज़्यादा सुरक्षित हैं या localStorage सुझाते हैं, उन्होंने आमतौर पर प्रोडक्शन में auth सिस्टम चलाया नहीं है। ट्रेड-ऑफ गिना पाना किसी एक पक्ष को चुनने से ज़्यादा कीमती है।

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

  • अपना डिफ़ॉल्ट और उसकी एक वजह बताएं।
  • वह शर्त बताएं जो आपका मन बदल देगी।
  • tokens के साथ revocation की समस्या समझाएं।
  • बताएं कि client पर credential कहां रखा जाता है।

उदाहरण जवाब

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

एक backend वाले सामान्य प्रोडक्ट के लिए मैं सर्वर की sessions से शुरू करता हूं। httpOnly cookie में पड़ी opaque session id का मतलब है कि ब्राउज़र उसे पढ़ नहीं सकता, तो कोई XSS bug तुरंत account नहीं सौंप देता, और किसी को हर जगह से logout करना एक row डिलीट करने भर का काम है। वह तुरंत revocation पहली बार तब बहुत कीमती लगती है जब आपको रात दो बजे कोई compromised account बंद करना हो। मैं JWTs की तरफ तब जाता हूं जब कई सर्विसेज़ को बिना साझा store के caller की जांच करनी हो, या जब एक mobile client और एक browser client एक ही API पर आते हों। तब भी मैं access tokens करीब पंद्रह मिनट के रखता हूं, साथ में rotating refresh token, और refresh के दोबारा इस्तेमाल को चोरी के संकेत की तरह पकड़ता हूं। जो मैं नहीं करता वह है tokens को localStorage में रखना; अगर मुझे वे ब्राउज़र में चाहिए तो वे SameSite वाली httpOnly cookie में जाते हैं और state बदलने वाली requests पर CSRF सुरक्षा के साथ। statelessness असली फायदा है, पर लोग revoke न कर पाने की कीमत कम आंकते हैं।

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

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

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

  • JWTs के साथ किसी यूज़र को हर डिवाइस से logout कैसे करेंगे?
  • token के लिए localStorage बुरी जगह क्यों है?
  • refresh token rotation चोरी हुए token को कैसे पकड़ता है?

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

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

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

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

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

GhostPilot पाएं