क्योंकि जावास्क्रिप्ट इतनी छोटी भाषा है, फिर भी अविश्वसनीय जटिलता के साथ, आपको अपेक्षाकृत बुनियादी सवाल पूछने और यह पता लगाने में सक्षम होना चाहिए कि क्या वे वास्तव में अपने उत्तरों के आधार पर अच्छे हैं। उदाहरण के लिए, मेरे साक्षात्कार के बाकी हिस्सों को समझने के लिए मेरा पहला प्रश्न है:
जावास्क्रिप्ट में, के बीच अंतर क्या है var x = 1और x = 1? आप जितना सहज महसूस करते हैं, उतने या कम विस्तार में उत्तर दें।
नौसिखिया जेएस प्रोग्रामर स्थानीय लोगों के बारे में एक मूल जवाब हो सकता है। इंटरमीडिएट जेएस लोगों के पास निश्चित रूप से उत्तर होना चाहिए, और संभवतः फ़ंक्शन-स्तरीय गुंजाइश का उल्लेख करना चाहिए। खुद को "उन्नत" जेएस प्रोग्रामर कहने वाले किसी को भी स्थानीय लोगों के बारे में बात करने के लिए तैयार होना चाहिए, ग्लोबल्स, windowऑब्जेक्ट, फ़ंक्शन-स्कोप, घोषणा उत्थापन और स्कोप चेन। इसके अलावा, मैं इसके बारे में सुनना पसंद करूंगा [[DontDelete]], पूर्वता (बनाम varबनाम पैरामीटर function), और उत्थापन undefined।
एक और अच्छा सवाल यह है कि उन्हें एक sum()फ़ंक्शन लिखने के लिए कहा जाए जो किसी भी तर्क को स्वीकार करता है, और उनकी राशि लौटाता है। फिर, उन्हें किसी सरणी में सभी मानों को योग करने के लिए उस फ़ंक्शन (संशोधन के बिना) का उपयोग करने के लिए कहें। उन्हें एक फ़ंक्शन लिखना चाहिए जो इस तरह दिखता है:
function sum() {
var i, l, result = 0;
for (i = 0, l = arguments.length; i < l; i++) {
result += arguments[i];
}
return result;
}
sum(1,2,3); // 6
और उन्हें इसे आपके सरणी पर इस तरह लागू करना चाहिए (संदर्भ applyजो भी हो, मैं आमतौर पर nullउस मामले में उपयोग करता हूं ):
var data = [1,2,3];
sum.apply(null, data); // 6
यदि उन्हें वे उत्तर मिल गए हैं, तो वे शायद उनके जावास्क्रिप्ट को जानते हैं। फिर आपको उन्हें गैर-जेएस विशिष्ट सामान जैसे परीक्षण, वर्कफ़्लोज़, संस्करण नियंत्रण आदि के बारे में पूछने के लिए आगे बढ़ना चाहिए ताकि यह पता चल सके कि वे एक अच्छे प्रोग्रामर हैं या नहीं ।