ऐसा लगता है कि विश्वविद्यालय में कुछ वर्षों तक प्रोग्रामिंग का अध्ययन करने वाले किसी व्यक्ति से मैं क्या उम्मीद करता हूं, और जो वास्तव में जानता है, उसके बीच एक बड़ी विसंगति है।
मुझे ऐसा नहीं लग रहा है कि मैं इंटरव्यू में ओवरकंप्लीट प्रश्न पूछ रहा हूं। मेरे कुछ सामान्य प्रश्न हैं:
एक संदर्भ प्रकार और एक मूल्य प्रकार के बीच अंतर क्या है?
अगर ऐसा लगता है कि साक्षात्कारकर्ता वास्तव में अपने स्वयं के उत्तर को नहीं समझता है, या यदि वह मेरे द्वारा उपयोग की जा रही शब्दावली को नहीं जानता है, तो मैं उसे यह बताने के लिए कहकर और अधिक जानकारी प्राप्त करता हूं कि जब मैं int i = 0 लिखता हूं तो क्या होता है; एक विधि में, ऑब्जेक्ट ओ = 0, ऑब्जेक्ट ओ = नया मायक्लास (), आदि के बारे में क्या ...
असल में, मैं सब कुछ करता हूं जो मुझे साक्षात्कारकर्ता को कॉलस्टैक, ढेर आदि के बारे में बताने के लिए छल कर सकता है, और मैं भाषा-अज्ञेय अवधारणाओं में रहने की कोशिश करता हूं। यदि साक्षात्कारकर्ता मुझे बताता है कि उसने बहुत सी, या सी ++, या सी # किया, तो मैं विशिष्ट भाषा में गहराई से गोता लगाता हूं, और संभवतः कार्यान्वयन विवरण में।
यदि आवश्यक हो, तो मैं साक्षात्कारकर्ता से पूछता हूं कि कॉलस्टैक क्या है, या जहां उसकी पसंद की अनिवार्य भाषा में एक फ़ंक्शन को दिए गए तर्क संग्रहीत हैं।
अधिकांश साक्षात्कारकर्ताओं को इस बात का कोई अंदाजा नहीं है कि कॉलस्टैक क्या है, अकेले बॉक्सिंग के बारे में विचार करें, आदि।
अमूर्त वर्ग और इंटरफ़ेस के बीच क्या अंतर है। किन मामलों में आपको एक के ऊपर एक का उपयोग करना चाहिए?
आमतौर पर, मैं उनसे कुछ विरासत और कुछ अमूर्त कारखानों का उपयोग करने के उद्देश्य से उपयोग के मामले के साथ एक छोटे पुस्तकालय के डिजाइन की कल्पना करने के लिए भी कहता हूं।
अधिकांश साक्षात्कारकर्ता को इस बात का कोई अंदाजा नहीं है कि विरासत का वास्तविक उद्देश्य क्या हो सकता है। वे आम तौर पर कुछ कीवर्ड (वर्चुअल, ओवरराइड, आदि) जानते हैं, लेकिन वास्तव में नहीं जानते कि उनका उपयोग कब करना है, अकेले बताएं कि वर्चुअल-टेबल क्या है।
हालांकि, मैं पहले से ही सीवी स्क्रीन करता हूं, यहां तक कि जटिल आर्किटेक्चर वाले वास्तविक जीवन परियोजनाओं में 5 साल के अनुभव वाले लोगों के लिए, मैं कहूंगा कि मेरे सभी साक्षात्कारकर्ताओं में से 25% से कम उन दो सवालों का ठीक से जवाब दे सकते हैं। और जब मैं ठीक से कहता हूं, तो मेरा मतलब 'इन-इन-डेप्थ' नहीं है ... बस एक अनुमानित विचार है कि अवधारणा क्या है।
जूनियर्स के बारे में, मैं किसी ऐसे व्यक्ति को काम पर रखने के लिए ठीक हूं जो अपने समय को बहुत अच्छी तरह से व्यवस्थित करना नहीं जानता है, या कोई है जो उदाहरण के लिए औद्योगिक निर्माण प्रक्रियाओं के लिए उपयोग नहीं करता है, लेकिन मुझे लगता है कि अगर किसी ने शब्द नहीं सुना है " कॉलस्टैक "कंप्यूटर विज्ञान का अध्ययन करने के कुछ वर्षों के बाद, वह या तो बेवकूफ है, या अनमोटेड है, या अपने विश्वविद्यालय को बहुत अवांछित रूप से चुना है।
क्या आपको लगता है कि मैं यहाँ अतिवादी हूँ? क्या आपने विश्वविद्यालय पूरा करने के बाद इन बुनियादी अवधारणाओं को सीखना आम है? क्या आप उन लोगों के बारे में जानते हैं जो इनसे परिचित नहीं थे, और कुछ वर्षों के बाद बहुत अच्छे सॉफ्टवेयर इंजीनियर बन गए? और क्या आपको लगता है कि मेरी कंपनी में प्रतिभाशाली लोगों को आकर्षित करने का मुद्दा हो सकता है, या क्या आप अपनी खुद की भर्ती प्रक्रिया में उसी तरह के मुद्दों का अनुभव करते हैं?
संपादित करें। "तत्काल प्रकार" चीज़ के बारे में, यह फ्रांसीसी से अंग्रेजी में सिर्फ एक शाब्दिक अनुवाद था, जैसा कि हम आम तौर पर फ्रेंच में अपने साक्षात्कार करते हैं। मैंने इसे अपने प्रश्न में ठीक कर लिया है। लेकिन फिर भी, मुझे लगता है कि आप सभी को पूरी तरह से समझ में आ गया है कि मेरा क्या मतलब है, मेरी बात किस तरह की है?