जावास्क्रिप्ट साक्षात्कार कैसे पास करें: शीर्ष प्रश्न A से Z तक

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

जावास्क्रिप्ट साक्षात्कार कैसे पास करें: शीर्ष प्रश्न A से Z तक

\n\n

जावास्क्रिप्ट डेवलपर पद के लिए साक्षात्कार केवल सिंटैक्स की जाँच नहीं है। नियोक्ता भाषा की गहरी समझ, इसकी विशेषताओं और एसिंक्रोनसिटी के साथ काम करने की क्षमता देखना चाहते हैं। इस लेख में, हम प्रमुख विषयों पर चर्चा करेंगे जो आपको आत्मविश्वास से साक्षात्कार पास करने में मदद करेंगे। हम वास्तविक कोड उदाहरणों के साथ बुनियादी अवधारणाओं से लेकर Node.js के उन्नत विषयों तक के प्रश्नों को कवर करेंगे।

\n\n

1. मूल बातें: डेटा प्रकार, hoisting और स्कोप

\n\n

आइए मूल बातों से शुरू करें। जावास्क्रिप्ट एक डायनामिक टाइपिंग वाली भाषा है। var, let और const को समझना अनिवार्य न्यूनतम आवश्यकता है।

\n\n

प्रश्न: var, let और const में क्या अंतर है?

\n
    \n
  • var का फंक्शन-लेवल स्कोप होता है और यह undefined मान के साथ होइस्ट (hoisting) होता है।
  • \n
  • let और const का ब्लॉक-लेवल स्कोप होता है और ये घोषणा से पहले इनिशियलाइज़ नहीं होते (Temporal Dead Zone)।
  • \n
  • const पुनः असाइनमेंट को प्रतिबंधित करता है, लेकिन ऑब्जेक्ट को अपरिवर्तनीय नहीं बनाता।
  • \n
\n\n

Hoisting का उदाहरण:

\n
console.log(a); // undefined (hoisting)\nvar a = 5;\n\nconsole.log(b); // ReferenceError: Cannot access 'b' before initialization\nlet b = 10;
\n\n

प्रश्न: 'होइस्टिंग' (hoisting) क्या है?

\n

यह एक तंत्र है जिसमें वेरिएबल और फंक्शन की घोषणाएं कोड निष्पादित होने से पहले अपने स्कोप की शुरुआत में स्थानांतरित हो जाती हैं। function के माध्यम से घोषित फंक्शन पूरी तरह से होइस्ट होते हैं, जबकि वेरिएबल केवल घोषणा होइस्ट होती है, इनिशियलाइज़ेशन नहीं।

\n\n

2. क्लोजर और कॉन्टेक्स्ट (this)

\n\n

क्लोजर जावास्क्रिप्ट की सबसे मजबूत विशेषताओं में से एक हैं। वे फंक्शन को उस लेक्सिकल एनवायरनमेंट को याद रखने की अनुमति देते हैं जिसमें वे बनाए गए थे।

\n\n

प्रश्न: क्लोजर क्या है? एक उदाहरण दें।

\n

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

\n\n
function createCounter() {\n  let count = 0;\n  return function() {\n    count++;\n    return count;\n  };\n}\n\nconst counter = createCounter();\nconsole.log(counter()); // 1\nconsole.log(counter()); // 2
\n\n

प्रश्न: जावास्क्रिप्ट में this कैसे काम करता है?

\n

this का मान इस बात से निर्धारित होता है कि फंक्शन को कैसे कॉल किया गया है, न कि इसे कहाँ घोषित किया गया है। मुख्य नियम:

\n
    \n
  • ग्लोबल कॉन्टेक्स्ट में (ब्राउज़र में) — window, Node.js में — global।
  • \n
  • ऑब्जेक्ट की विधि में — स्वयं ऑब्जेक्ट।
  • \n
  • new के माध्यम से कॉल किए गए फंक्शन में — नया इंस्टेंस।
  • \n
  • call, apply, bind का उपयोग करते समय — पास किया गया ऑब्जेक्ट।
  • \n
  • एरो फंक्शन में — this बाहरी लेक्सिकल कॉन्टेक्स्ट से लिया जाता है।
  • \n
\n\n
const obj = {\n  name: 'Alice',\n  greet() {\n    console.log(this.name);\n  }\n};\n\nconst greet = obj.greet;\ngreet(); // undefined (कॉन्टेक्स्ट का नुकसान)\n\nconst boundGreet = obj.greet.bind(obj);\nboundGreet(); // Alice
\n\n

3. एसिंक्रोनसिटी: Event Loop, प्रॉमिस और async/await

\n\n

जावास्क्रिप्ट एक सिंगल-थ्रेडेड भाषा है, लेकिन यह Event Loop की बदौलत एसिंक्रोनस ऑपरेशन को कुशलतापूर्वक संभालती है। यह साक्षात्कारों में सबसे लोकप्रिय विषयों में से एक है।

\n\n

प्रश्न: Event Loop क्या है और यह कैसे काम करता है?

\n

Event Loop एक अनंत लूप है जो कॉल स्टैक (Call Stack) और टास्क क्यू (Task Queue / Microtask Queue) पर नज़र रखता है। यदि स्टैक खाली है, तो यह माइक्रोटास्क क्यू (Promise, MutationObserver) या मैक्रोटास्क क्यू (setTimeout, I/O) से पहला कार्य लेता है।

\n\n

प्रश्न: माइक्रोटास्क और मैक्रोटास्क में क्या अंतर है?

\n
    \n
  • माइक्रोटास्क: Promise.then/catch/finally,

ब्लॉग

पुस्तक अनुशंसाएँ