नोड.जेएस साक्षात्कार प्रश्न और उत्तर के लिए परिचय
नोड.जेएस एक ढांचा है जो सर्वर-साइड प्लेटफ़ॉर्म की तरह कार्य करता है जो गूगल के जावास्क्रिप्ट इंजन पर बनाया गया है । यह एक ओपन सोर्स सॉफ्टवेयर है और इसलिए इसका इस्तेमाल मुफ्त में किया जा सकता है। यह एक गैर-अवरुद्ध I / O मॉडल का उपयोग करता है जो हल्का होता है और वितरित सेवाओं में चलाया जा सकता है। यह सर्वर-साइड और नेटवर्किंग अनुप्रयोगों के विकास में मदद करता है । इसमें कई पुस्तकालय हैं जिनमें जावास्क्रिप्ट मॉड्यूल शामिल हैं जो विकास को आसान बनाते हैं। यह मुख्य रूप से डेटा स्ट्रीमिंग अनुप्रयोगों, एकल पृष्ठ अनुप्रयोगों, डेटा गहन वास्तविक काल अनुप्रयोगों आदि में उपयोग किया जाता है ।
तो आपको अंततः नोड.जेएस में अपना सपनों का काम मिल गया है, लेकिन यह सोच रहा है कि नोड.जेएस साक्षात्कार को कैसे दरार करना है और संभावित नोड.जेएस साक्षात्कार प्रश्न क्या हो सकता है। प्रत्येक साक्षात्कार अलग होता है और नौकरी का दायरा भी अलग होता है। इसे ध्यान में रखते हुए हमने आपके साक्षात्कार में सफलता प्राप्त करने में आपकी सहायता के लिए सबसे आम नोड.जेएस साक्षात्कार प्रश्न और उत्तर तैयार किए हैं।
आइए हम साक्षात्कार में पूछे जा रहे नोड.जेएस साक्षात्कार प्रश्नों पर नज़र डालें। ये प्रश्न दो भागों में विभाजित हैं:
भाग 1 – नोड.जेएस साक्षात्कार प्रश्न (मूल)
यह पहला भाग बुनियादी नोड.जेएस साक्षात्कार प्रश्न और उत्तर शामिल करता है
प्रश्न 1) नोड.जेएस क्या है और इसकी विशेषताओं को समझाता है?
उत्तर:
नोड.जेएस गूगल क्रोम के जावास्क्रिप्ट इंजन पर निर्मित क्रम प्लेटफ़ॉर्म है। यह एक सिंगल धागा मॉडल है जो इसकी घटनाओं के लिए संगामिति मॉडल का उपयोग करता है। किसी एप्लिकेशन को अवरुद्ध करने के बजाय यह नए एप्लिकेशन में कॉलबैक पंजीकृत करने में सहायता करता है और वर्तमान एप्लिकेशन को जारी रखने की अनुमति देता है। इसके परिणामस्वरूप निष्पादन के कई धागे बनाए बिना समवर्ती परिचालनों को संभालने में परिणाम होता है। यह फाइल सिस्टम के साथ बातचीत के लिए सी या सी ++ के साथ जावास्क्रिप्ट का उपयोग करता है । नोड.जेएस की मुख्य विशेषताएं हैं:
1) नोड.जेएस लाइब्रेरी: सभी डेवलपर जावास्क्रिप्ट के साथ अधिकतर पहले से ही आरामदायक हैं।नोड.जेएस में जावास्क्रिप्ट पर निर्मित लाइब्रेरी है। इसलिए डेवलपर्स को नोड.जेएस का उपयोग करना आसान लगता है।
2) सिंगल थ्रेडेड और उच्च स्केलेबल:यह घटना लूपिंग के लिए एक धागा का उपयोग करता है। हालांकि प्रतिसाद समय पर सर्वर तक नहीं पहुंच सकते हैं, यह किसी भी परिचालन को अवरुद्ध नहीं करता है। अनुरोधों को संभालने के लिए सामान्य सर्वरों में सीमित धागे होते हैं और बड़ी संख्या में अनुरोधों को संभालने के लिए नोड.जेएस एक एकल थ्रेड बनाता है।
3) कोई बफर नहीं: इन अनुप्रयोगों को किसी भी बफर की आवश्यकता नहीं है और केवल भागों में डेटा का आउटपुट भेजें।
4) असीमित घटना–संचालित आईओ के साथ समवर्ती अनुरोध: नोड.जेएस में एपीआई के सभी नोड्स एसिंक्रोनस हैं जो एक नोड में ऑपरेशन के लिए अनुरोध प्राप्त करने में मदद करता है। यह नए अनुरोध लेने के साथ पृष्ठभूमि में काम करता है। इसलिए यह सभी अनुरोधों को एक साथ संभालता है और पिछले प्रतिक्रियाओं की प्रतीक्षा नहीं करता है।
प्रश्न 2) नोड.जेएस में आरईपीएल क्या है?
उत्तर:
आरईपीएल रीडिंग इवल प्रिंट और लूप के लिए खड़ा है। इन परिचालनों का उपयोग करके आप आदेश स्वीकार करने, उनका मूल्यांकन करने और उन्हें मुद्रित करने के लिए प्रोग्राम लिख सकते हैं। यह लिनक्स या यूनिक्स के समान वातावरण का समर्थन करता है जहां एक डेवलपर आदेशों दर्ज कर सकता है और आउटपुट के साथ प्रतिक्रिया प्राप्त कर सकता है। आरईपीएल निम्नलिखित कार्यों को निष्पादित करता है:
पढ़ें: यह उपयोगकर्ता से इनपुट पढ़ता है, इसे जावास्क्रिप्ट में पार्स करता है और फिर इसे स्मृति में संग्रहीत करने के लिए आगे बढ़ता है।
ईवीएएल: यह डेटा संरचना को निष्पादित करता है जो जानकारी संग्रहीत करता है।
प्रिंट: यह आदेश को निष्पादित करने से प्राप्त परिणाम को प्रिंट करता है।
लूप: जब तक डेवलपर Ctrl + C दो बार दबाता है तब तक यह उपरोक्त आदेश को लूप करता है।
आइए अगले नोड.जेएस साक्षात्कार प्रश्नों पर जाएं
प्रश्न 3) कॉलबैक नरक क्या है?
उत्तर:
कॉलबैक नरक नेस्टेड कॉलबैक है जो कई बार एक प्रक्रिया को कॉलबैक करता है और इसलिए कोड को अपठनीय बना देता है।
downloadPhoto (‘http://coolcats.com/cat.gif’, displayPhoto)
function displayPhoto (error, photo) {
if (error) console.error(‘Download error!’, error)
else console.log(‘Download finished’, photo)
}
console.log(‘Download started’)
यहां नोड.जेएस सबसे पहले’ डिस्प्ले फोटो ‘फ़ंक्शन घोषित करता है और फिर’ डाउनलोड फोटो ‘फ़ंक्शन कॉल करता है और इसके कॉलबैक के रूप में प्रदर्शित करता है।
प्रश्न 4) ट्रेसिंग क्या है?
उत्तर:
यह एक साक्षात्कार में पूछा जाने वाला मूल नोड.जेएस साक्षात्कार प्रश्न है। ट्रेसिंग आपको वी 8 द्वारा उत्पन्न जानकारी का पता लगाने में सक्षम बनाता है। यह
नोड शुरू करते समय ध्वज को पार करने के द्वारा सक्षम किया जा सकता है – ट्रेस-इवेंट-सक्षम। रिकॉर्ड की गई सभी श्रेणियां
ध्वज-पाठ-घटना-श्रेणियों द्वारा निर्दिष्ट की जा सकती हैं । सक्षम किए गए लॉग को क्रोम में क्रोम: // ट्रेसिंग के रूप में खोला जा सकता है।
प्रश्न 5) कॉलबैक नरक से कैसे बचें?
उत्तर:
नोड.जेएस केवल एक ही थ्रेड का उपयोग करता है और इसलिए इससे कई कतारबद्ध घटनाएं हो सकती हैं। इसलिए जब भी एक लंबी चलती क्वेरी अपने निष्पादन को समाप्त करती है तो यह क्वेरी से जुड़े कॉलबैक को चलाती है। इस समस्या को हल करने के लिए निम्नलिखित का पालन किया जा सकता है:
मॉड्यूलर कोड: यह कोड छोटे मॉड्यूल में विभाजित किया जाएगा और बाद में इच्छित परिणाम प्राप्त करने के लिए मुख्य मॉड्यूल में एक साथ जोड़ा जा सकता है।
वादा तंत्र: यह एसिंक कोड के लिए एक वैकल्पिक तरीका है। यह तंत्र या तो परिणाम या त्रुटि सुनिश्चित करता है। वे दो वैकल्पिक तर्क लेते हैं और वादे की स्थिति के आधार पर उनमें से एक को बुलाया जाएगा।
जेनरेटर का उपयोग: ये दिनचर्या हैं जो उपज कीवर्ड का उपयोग करके प्रतीक्षा करें और फिर से शुरू करें। वे असीमित परिचालन को निलंबित और फिर से शुरू कर सकते हैं।
एकसिंक तंत्र: यह विधि निष्पादन का अनुक्रमिक प्रवाह प्रदान करता है। इस मॉड्यूल में <async.waterfall> API है जो अगले कॉलबैक का उपयोग करके एक ऑपरेशन से डेटा को दूसरे में पास करता है। कॉलर मुख्य विधि है और इसे कॉलबैक के माध्यम से केवल एक बार कहा जाता है।
भाग 2 – नोड.जेएस साक्षात्कार प्रश्न (उन्नत)
आइए अब उन्नत नोड.जेएस साक्षात्कार प्रश्नों पर नज़र डालें।
प्रश्न 6) नोड.जेएस में एचटीएमएल कैसे लोड करें?
उत्तर:
नोड.जेएस में एचटीएमएल लोड करने के लिए हमें एचटीएमएल कोड में ‘सामग्री-प्रकार’ को सादा पाठ से एचटीएमएल टेक्स्ट में बदलना चाहिए ।
आइए एक उदाहरण देखें जहां सर्वर में एक स्थिर फ़ाइल बनाई गई है:
fs.readFile(filename, “binary”, function(err, file) {
if(err) {
response.writeHead(500, {“Content-Type”: “text/plain”});
response.write(err + “\n”);
response.end();
return;
}
response.writeHead(200);
response.write(file, “binary”);
response.end();
});
इस कोड को सादा पाठ के बजाय एचटीएमएल पृष्ठ के रूप में लोड करने के लिए संशोधित किया जा सकता है।
fs.readFile(filename, “binary”, function(err, file) {
if(err) {
response.writeHead(500, {“Content-Type”: “text/html”});
response.write(err + “\n”);
response.end();
return;
}
response.writeHead(200, {“Content-Type”: “text/html”});
response.write(file);
response.end();
});
प्रश्न 7) नोड.जेएस में इवेंट एमिटर समझाओ?
उत्तर:
यह सबसे लोकप्रिय नोड.जेएस साक्षात्कार प्रश्नों में से एक है। नोड.जेएस में ईवेंट मॉड्यूल में इवेंट एमिटर क्लास हो सकती है जो कस्टम ईवेंट को बढ़ाने और प्रबंधित करने में सहायक होती है। इसे नीचे कोड द्वारा एक्सेस किया जा सकता है:
// आयात घटना मॉड्यूल
वार इवेंट = आवश्यकता (‘घटनाओं’);
// एक ईवेंट बनाएंइमीटर ऑब्जेक्ट
वार इवेंट एमिटर = नया इवेंट.इवेंट एमिटर ();
जब कोई त्रुटि होती है तो यह त्रुटि ईवेंट भी कॉल करती है। जब कोई नया श्रोता जोड़ा जाता है तो नया लिस्टनर ईवेंट ट्रिगर होता है और इसी तरह जब श्रोता हटा दिया जाता है तो हटाएं लिस्टनर को कॉल किया जाता है।
आइए अगले नोड.जेएस साक्षात्कार प्रश्नों पर जाएं
प्रश्न 8) एनपीएम क्या है?
उत्तर:
एनपीएम नोड पैकेज प्रबंधक के लिए खड़ा है। इसमें दो मुख्य कार्य हैं:
यह नोड.ईज़ संकुल के लिए ऑनलाइन रिपोजिटरी पर काम करता है जो <nodejs.org> पर मौजूद हैं।
यह एक कमांड लाइन उपयोगिता के रूप में काम करता है और संस्करण प्रबंधन करता है।
आप नीचे आदेश का उपयोग कर संस्करण सत्यापित कर सकते हैं: npm -version।
किसी भी मॉड्यूल को स्थापित करने के लिए आप इसका उपयोग कर सकते हैं: npm इंस्टॉल <मॉड्यूल नाम>
प्रश्न 9) विधि अंडे () और कांटा () के उपयोग की व्याख्या?
उत्तर:
इस विधि का उपयोग तब किया जाता है जब आदेशों के दिए गए सेट के साथ एक नई प्रक्रिया शुरू की जाती है। आदेश का उपयोग इस उद्देश्य के लिए किया जा सकता है:
बाल_ प्रक्रिया. अंडे (कमांड [, आर्ग] [, विकल्प])
फोर्क विधि अंडे () विधि के लिए एक विशेष मामला माना जाता है। इसे नीचे के रूप में उपयोग किया जा सकता है:
बाल_ प्रक्रिया. कांटा (मॉड्यूलपाथ [, आर्ग] [, विकल्प])
प्रश्न 10) नियंत्रण प्रवाह समारोह और इसे निष्पादित करने के लिए कदम बताएं?
उत्तर:
यह वह कोड है जो एसिंक्रोनस फ़ंक्शन कॉल के बीच चलता है। इसे निष्पादित करने के लिए निम्नलिखित चरणों का पालन किया जाना चाहिए:
- निष्पादन के आदेश को नियंत्रित करें।
- डेटा इकट्ठा करना।
- सीमा समेकन।
- कार्यक्रम में अगले चरण पर कॉल करें।
अनुशंसित लेख
यह नोड.जेएस साक्षात्कार प्रश्न और उत्तरों की सूची के लिए एक मार्गदर्शक रहा है ताकि उम्मीदवार इन Node.js साक्षात्कार प्रश्नों को आसानी से क्रैकडाउन कर सकें। अधिक जानने के लिए आप निम्नलिखित लेख भी देख सकते हैं –