मूल प्रश्न
मैंने अपनी कंपनी के लिए पहले से ही कुछ साक्षात्कार किए, ज्यादातर कंप्यूटर वैज्ञानिक देव पदों के लिए लेकिन कुछ परीक्षक और परियोजना प्रबंधक भी। अब मुझे R & D विभाग (साइड नोट: "शोध" के भीतर हमारे शोध समूह में एक रिक्ति भरनी है, जिसका अर्थ है कि हम विश्वविद्यालयों, अन्य कंपनियों, अनुसंधान केंद्रों के साथ मिलकर अनुसंधान परियोजनाओं में सॉफ़्टवेयर का उपयोग करके अपने पेशेवर डोमेन / बाज़ार आला में समस्याओं को हल करने का प्रयास करते हैं। और अंत उपयोगकर्ता संगठनों। यह कंप्यूटर विज्ञान अनुसंधान नहीं है; हम पी = एनपी समस्या को हल करने के लिए नहीं जा रहे हैं)।
अब हमने रसायन शास्त्र में एमएससी करने वाले एक व्यक्ति (अपने सीवी में बहुत सारे भौतिकी के साथ) को आमंत्रित किया, जिसने कभी भी कंप्यूटर विज्ञान का पाठ नहीं पढ़ा था। मैंने पहले ही एक स्थानीय विश्वविद्यालय के कैरियर के दिनों में उनके साथ लगभग आधे घंटे बात की और इसमें कोई संदेह नहीं है कि लड़का स्मार्ट है। इसके अलावा उनके अंक बहुत अच्छे हैं और उन्होंने स्नातक की उपाधि प्राप्त की है। अपने बीएससी के लिए उन्हें मैथेमेटिका में खुद को प्रोग्रामिंग सिखाने की जरूरत थी और मुझे विश्वास है कि उन्हें प्रोग्रामिंग बहुत पसंद है। इसके अलावा उन्होंने कुछ भौतिक रसायन विज्ञान की समस्या को हल किया, जिसे मैं शायद अपने स्वयं के सॉफ्टवेयर का उपयोग करके नहीं समझता हूं, अपने एमएससी थीसिस के लिए गणितज्ञ में लागू किया गया है। इसमें GUI और 8,000 LoC का उल्लेखनीय आकार शामिल है। उन्हें लगता है कि हम अपने शोध समूह में जो कर रहे हैं उससे बहुत आकर्षित हो रहे हैं और ईमानदार होने के लिए हमारे जैसे एसएमई के लिए यह काफी मुश्किल है कि हमें अच्छे लोग मिलें। मुझे उसे काम पर रखने में भी बहुत दिलचस्पी है क्योंकि वह परियोजना प्रस्तावों, रिपोर्टों, प्रस्तुतियों आदि को लिखने में मेरी सहायता कर सकता है। वह शायद हमारी टीम के लिए भी फिट होगा।
एकमात्र सवाल यह है: मैं कैसे जांच कर सकता हूं कि क्या उसे प्रोग्रामिंग कौशल मिलेगा जो उसे हमारी परियोजनाओं में सॉफ्टवेयर कार्यान्वयन करने की आवश्यकता है क्योंकि यह नौकरी का एक महत्वपूर्ण हिस्सा होगा?
बेशक मैं उससे पूछूंगा कि यह क्या है, जो उसे प्रोग्रामिंग के बारे में आकर्षित कर रहा है। मैं यह भी पूछूंगा कि वह अपने प्राकृतिक विज्ञान सॉफ्टवेयर को लिखने के लिए कैसे आगे बढ़े और उन्होंने इसे कैसे संरचित किया। मैं इसके बारे में पूछूंगा कि वह कौशल और सॉफ्टवेयर विकास के बारे में जानकारी प्राप्त करने में कैसे कामयाब रहे। लेकिन क्या कुछ और है जो मैं पूछ सकता हूं? कुछ और ठोस शायद? क्या मुझे उनसे अपने गणितज्ञ समाधान के बारे में बताने के लिए कहना चाहिए?
स्पष्ट होने के लिए: मैं किसी विशेष भाषा या प्रौद्योगिकी के ढेर में ज्ञान की तलाश में नहीं हूं। हम उत्पाद विकास में एक .NET शॉप हैं लेकिन मैं अपनी रिसर्च परियोजनाओं के लिए एक स्वतंत्र विकल्प रखना चाहता हूं। इसलिए मैं मेटा-काबिलियत में दिलचस्पी रखता हूं, जो वास्तव में जरूरी है, उसे सीखने में सक्षम है।
मुझे उम्मीद है कि यह प्रश्न उत्तर देने योग्य है और खुले-समाप्त नहीं है क्योंकि मैं वास्तव में जानना चाहता हूं कि क्या काम पर आगे प्रोग्रामिंग कौशल प्राप्त करने की क्षमता की जांच करने के लिए एक डिफ़ॉल्ट तरीका है । यदि आपके लिए कुछ स्पष्ट नहीं है, तो कृपया मुझे कुछ टिप्पणी दें और मुझे अपना प्रश्न सुधारने दें।
2011-12-01 तक दिए गए उत्तरों को प्रतिबिंबित करने के लिए अपडेट करें
मैंने क्या उत्तर स्वीकार किया और क्यों
आपके जवाब के लिए आप सभी का धन्यवाद, उनमें से ज्यादातर काफी मददगार हैं, इसलिए मैंने बहुत कुछ किया! हालांकि टॉम स्क्वायर्स के जवाब को सबसे अधिक वोट मिले, लेकिन मैं प्रिंस गोलश द्वारा दिए गए उत्तर को स्वीकार करने जा रहा हूं । बेशक टॉम उद्देश्यपूर्ण रूप से सही है, लेकिन प्रिंस का उत्तर मेरे लिए अधिक उपयोगी है और मैंने अक्सर पूछे जाने वाले प्रश्नों की दोबारा जाँच की कि यह उत्तर स्वीकार करने की कसौटी है।
इंटरव्यू के दौरान मैं उनसे क्या पूछने वाला हूं
मैं उसे कुछ सरल असाइनमेंट समझाता हूँ जैसे उदाहरण द कैमल हैज़ हम्प्स में क्रिस बर्ट-ब्राउन द्वारा उल्लिखित
मैं उनसे कुछ और उन्नत नियंत्रण प्रवाह की व्याख्या करने के लिए कहूँगा जो शायद चित्रमय अंकन में हो।
मैं एक गणित उदाहरण का उपयोग करके पुनरावृत्ति की उसकी समझ की जांच करूँगा।
मैं उसे प्राकृतिक भाषा में उसकी पसंद के एक एल्गोरिथ्म की व्याख्या करने देता हूँ।
मैं उसे अपने गणितज्ञ समाधान की व्याख्या करने देता हूँ, विशेष रूप से मैं उसकी प्रक्रिया मॉडल, औज़ारों के उपयोग, कोड की संरचना और सॉफ्टवेयर के साथ-साथ विभिन्न अमूर्त परतों के बारे में पूछूँगा।
उनकी प्रेरणा की जांच करने के लिए मैं उनके सॉफ्टवेयर विकास के आकर्षण के लिए पूछूंगा।
मैं उससे पूछूंगा कि क्या उसे इस बात की जानकारी है कि उसे उद्यम सॉफ्टवेयर विकास के बारे में क्या सीखना होगा। विशेष रूप से मैं चर्चा को टीमों में काम करने की दिशा, जोड़ी प्रोग्रामिंग, टीडीडी में बदलना चाहता हूं क्योंकि मैं उम्मीद करता हूं कि वह अकेले अपने एमएससी में काम करने के बाद इस बारे में बहुत कुछ नहीं जान पाएगा।
लगता है कि यह एक लंबा साक्षात्कार होने जा रहा है;)
साक्षात्कार 2011-12-09 के बाद अद्यतन करें
आपके अच्छे उत्तरों के लिए फिर से आप सभी का धन्यवाद। उन्होंने उड़ते हुए रंगों के साथ साक्षात्कार पास किया। मैं एक आवेदक से अधिक संतुष्ट नहीं था। उनका गणितज्ञ समाधान काफी अच्छी तरह से संरचित प्रतीत होता है। वह समझाने में सक्षम था कि वह उच्च-क्रम के कार्यों का उपयोग कहां करता है, हालांकि वह नहीं जानता था कि ये इस तरह से संदर्भित हैं। उन्होंने मेरे गणित-आधारित पुनरावृत्ति के सवालों के जवाब दिए और साथ ही द कैमल हैस टू हंप्स से सरल असाइनमेंट और कंट्रोल फ्लो चीजों को भी देखा। जब वह कुछ एल्गोरिदम की व्याख्या कर रहा था, तो मैंने गैर-रैखिक फिटिंग के बारे में बहुत कुछ सीखा;) साथ ही उसने ईमानदारी से कहा कि निश्चित रूप से वह गारंटी नहीं दे सकता कि वह पेशेवर सॉफ्टवेयर विकास के बारे में ऐसी चीजें सीख सकेगा जो वह अब तक नहीं जानता है। लेकिन उसने विश्वास किया कि वह हमेशा नई अवधारणाओं को सीखने में अच्छा था - खुद से भी - और वास्तव में सॉफ्टवेयर विकास में रुचि रखता है। उन्होंने परियोजना के प्रौद्योगिकी स्टैक के लिए भी कहा, वह पहले घर पर एक नज़र रखने के लिए लागू किया जाएगा। वह जोड़ी प्रोग्रामिंग और टीम वर्क के बारे में भी उत्सुक थे। अब मुझे उम्मीद है कि रोजगार अनुबंध समाप्त हो जाएगा।