नौकरी के साक्षात्कार में एक उत्कृष्ट प्रोग्रामर को समझने का सबसे अच्छा तरीका क्या है?


82

एक साक्षात्कार की सेटिंग में: किसी को एक उत्कृष्ट प्रोग्रामर होने पर मज़बूती से पहचानने का सबसे अच्छा तरीका क्या है । इसका मतलब है कि वह उन लोगों में से एक है जो स्पेक्ट्रम के निचले छोर की ओर अपने साथियों की तुलना में 10-15 गुना अधिक कुशल / तेज / बेहतर है।

हम में से बहुत से लोगों ने FizzBuzz Problem को कमजोर लोगों का मातम करने के तरीके के रूप में सुना है। निश्चित रूप से, उस समस्या को हल करने में 5-10 मिनट लगना एक गंभीर संकेतक है कि एक आवेदक एक कमजोर उम्मीदवार है। मेरा मानना ​​है कि एक अच्छा संकेतक इसे हल करने में सक्षम हो रहा है जितनी जल्दी आप लिख सकते हैं। हालांकि यह पर्याप्त नहीं लगता है।

क्या यह शायद उसे मामूली जटिल बगिया कार्यक्रम देने जैसा कुछ है, और यह देखते हुए कि वह कितनी तेजी से इसे ग्रो कर सकता है और इसके साथ सभी समस्याओं की पहचान कर सकता है?


प्रश्न मानता है कि यह मज़बूती से किया जा सकता है।
एंथनी


जरुरी नहीं। एक वैध उत्तर होगा 'कोई रास्ता नहीं है'
क्लाउडी

जवाबों:


65

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

सामान्य बुद्धिमत्ता (मस्तिष्क टीज़र / तर्क पहेली)

कंप्यूटर विज्ञान ज्ञान

प्रोग्रामिंग अभ्यास

ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग तकनीकों और सामान्य डिज़ाइन पैटर्न का ज्ञान

एल्गोरिथम विश्लेषण (रन-टाइम ओ (एन) जटिलता और भंडारण आवश्यकताएं)

उपकरण और कार्यप्रणाली का उपयोग

सामान्य सुरक्षा कमजोरियों और हमलों का ज्ञान

बुनियादी गणित

  • अंक प्रणाली (एक आधार से दूसरे में परिवर्तित)
  • सिद्धांत संभावना
  • कार्तीय विमान (पाइथागोरस प्रमेय) पर दो बिंदुओं के बीच की दूरी
  • वर्गमूल (अलेक्जेंड्रिया का बगुला, क्रमिक सन्निकटन)

क्रिप्टोग्राफी

  • सार्वजनिक कुंजी क्रिप्टोग्राफी
  • सममित-कुंजी क्रिप्टोग्राफी
  • हैश फ़ंक्शन
  • क्रिप्टोग्राफ़िक प्रोटोकॉल (गुप्त साझाकरण, शून्य-ज्ञान प्रमाण)

गणित पृथक करें

  • तर्क
  • समुच्चय सिद्धान्त
  • ग्राफ सिद्धांत
  • सूचना सिद्धांत
  • साहचर्य
  • प्रमाण (जैसे अपरिमेय संख्याओं का अस्तित्व, अनंत प्राइम)

आप पुस्तक प्रोग्रामिंग इंटरव्यू एक्सपोज्ड पुस्तक पर भी नज़र डालना चाह सकते हैं । यह विषय पर एक अच्छा संदर्भ है।


10
काहे, कि कुछ लंबा साक्षात्कार होना चाहिए।
रिक मिनरिच

8
आज मैंने अपने एसीएम प्रोग्रामिंग प्रतियोगिता टीम के साथी के साथ "क्रॉसिंग ब्रिज" को हल करने का प्रयास किया। अंतर केवल इतना है कि हमें इसे किसी भी संख्या में लोगों के लिए हल करना है। किसी भी एन लोगों की संख्या को हल करने में हमें लगभग 30 मिनट का समय लगा .. लेकिन एक इंटरव्यू सेटिंग में मुझे लगता है कि पहेलियां एक खराब मीट्रिक हैं।

52
एक साक्षात्कार में, पहेलियाँ चूसना क्योंकि साक्षात्कारकर्ता घबरा जाता है, सीधे नहीं सोच रहा है, आदि इसके अलावा, कई puzzels एक हा-हा हैं! उन चीजों को टाइप करें जो वास्तव में आपको उम्मीदवार के बारे में कुछ नहीं बताती हैं।

11
मुझे उच्च कठिनाई के इन गणितीय समस्याओं का पता चलता है। 10 वर्षों के लिए अपनी कंप्यूटर साइंस की डिग्री पूरी करने के बाद, आप यह याद रख सकते हैं कि तर्कहीन संख्याओं और इस तरह से कैसे साबित करें?

14
पहेली के साथ परेशानी यह है कि ज्यादातर लोगों ने उन्हें हल नहीं किया है; वे पहले जवाब देख चुके हैं। इसलिए सबसे अधिक समझ रखने वाले उम्मीदवार उन्हें नहीं देखने का दिखावा करेंगे और जो जवाब उन्हें पहले से पता है उसे पूरी तरह से हल करने की कोशिश करेंगे। यदि आपका लक्ष्य स्मार्ट लोगों को नियुक्त करना है, न कि धोखेबाज लोगों को, तो पहेलियाँ एक बुरा विकल्प हैं।
Kyralessa

28

आह, शाश्वत प्रश्न।

मैंने इस वर्ष बहुत सारे साक्षात्कार किए (मेरे पास दो उम्मीदवार कल निर्धारित हैं), और मेरे अनुभव में, हायरिंग आंत की भावना और लोगों के कौशल के बारे में अधिक है, और तकनीकी ज्ञान के बारे में कम है।

  1. अपना समय सीवी के साथ लें। कुछ सीवी को सेकंडों में खारिज किया जा सकता है, कुछ को आधे घंटे लगते हैं। कभी-कभी मैं सीवी के आधार पर उम्मीदवार के बारे में सोचता हूं कि मैं उससे साक्षात्कार करता हूं। कुछ समय बाद मैंने विशेष रूप से उस उम्मीदवार के लिए साक्षात्कार प्रश्न तैयार किए हैं, भले ही मैंने आमतौर पर प्रश्न तैयार नहीं किए हैं।

  2. तकनीकी ज्ञान - मैं चाहता हूं कि एक न्यूनतम है, और यह आमतौर पर बताने के लिए बहुत आसान है। यदि संदेह है, तो साक्षात्कार के दौरान, सीवी में उल्लिखित परियोजनाओं के बारे में बात करें, और जितना आवश्यक हो उतना गहरा जाएं। यह आमतौर पर आपको बताने के लिए पर्याप्त से अधिक है कि वह क्या जानता है और उसे क्या करता है। शिक्षा महत्वपूर्ण नहीं है, पिछली नौकरियां मायने रखती हैं, संभव व्यक्तिगत परियोजनाएं उच्च स्कोर करती हैं।

  3. इस बारे में पूछें कि वह क्या करना चाहता है और वह अपने करियर के साथ कहाँ जाना चाहता है - क्या आपको उसकी ज़रूरत है और क्या आप उसे वही प्रदान कर सकते हैं जो वह चाहता है? इसके अलावा, साक्षात्कार के अंत के पास, मैं आमतौर पर पसंदीदा वेतन के बारे में पूछता हूं। यदि वह मेरी सीमा से बाहर है, या यदि मैं वह नहीं जानता, जो वह जानता है, तो हम साक्षात्कार समाप्त करते हैं।

  4. सबसे महत्वपूर्ण बात, उम्मीदवार को टीम में फिट होना चाहिए, और मुझे विश्वास होना चाहिए कि हम एक साथ काम करने में सक्षम होंगे। मुझे उसे पसंद करने की आवश्यकता नहीं है, लेकिन मुझे उसे संभालने में सक्षम होना चाहिए, और उसे मुझे संभालने में सक्षम होना चाहिए। अगर ऐसा नहीं है, तो मैं पास हो जाऊंगा, क्योंकि मैं उनके तकनीकी ज्ञान का उपयोग नहीं कर पाऊंगा। दूसरी ओर, यदि यह मामला है, और यदि वह एक त्वरित शिक्षार्थी है, तो तकनीकी ज्ञान की कमी मुझे उसे काम पर रखने से नहीं रोकेगी।

मैंने एचआर से लड़कियों को प्रशिक्षित किया है कि वे मुझे मिलते ही किसी भी सीवी को पास करें; मैं व्यक्तिगत रूप से साक्षात्कार निर्धारित करता हूं, जितना जल्दी हो सके (अच्छे सीवी के लिए सीवी प्राप्त करने के बाद आदर्श दिन)। फिर उसे मेरे साथ आधे घंटे या एक घंटे का साक्षात्कार मिलता है और कम से कम एक सह-कार्यकर्ता (आमतौर पर मेरे बॉस या टीम के सदस्य), जहां मुझे उसका पता चलता है और किसी भी प्रश्न का उत्तर मिलता है। यहां तक ​​कि अगर मैं मौके पर उनके आवेदन को अस्वीकार करता हूं, तो उन्हें कंपनी का 20-30 मिनट का दौरा मिलता है और मैं बात करता हूं कि हम क्या करते हैं और कैसे करते हैं। फिर मैं उसे साइको टेस्ट के लिए एचआर को भेजता हूं और वास्तव में बेसिक पेपर कोडिंग / एसक्यूएल का एक सा। दोनों परीक्षण लगभग कभी भी मेरे निर्णय में महत्वपूर्ण भूमिका नहीं निभाते हैं, यह एक सत्यापन से अधिक है जिसे मैंने साक्षात्कार में सही ढंग से आंका है। परिणामों के बाद, यह 15-मिनट की बात है जहाँ मैं उसे एक प्रस्ताव देता हूँ, और यदि हम उन शर्तों पर बातचीत करते हैं जिनसे हम खुश हैं, तो उन्हें काम पर रखा गया है।

यह एक ऐसी प्रक्रिया है जिसके लिए मुझे कंपनी नौकरशाही के माध्यम से लड़ना पड़ा, एक दो उम्मीदवारों को याद करने के बाद, और जो काम करता है क्योंकि मैं वह हूं जो हायरिंग के बारे में फैसला करता हूं (हालांकि मैं एचआर और सहकर्मियों दोनों से सलाह सुनता हूं, मेरी शब्द अंतिम है)। अधिक निर्णय लेने वाले, लंबी प्रक्रिया। यह प्रक्रिया जितनी लंबी होगी, आपको फसल के शीर्ष पर पहुंचने के लिए Google होना पड़ेगा।

जैसे ही मुझे यकीन है कि कोई मैच नहीं है, मैं साक्षात्कार समाप्त करता हूं, वह कंपनी का दौरा करता है और यह खत्म हो गया है। इंटरव्यू शेड्यूल करते समय फोन पर यह दो मिनट जितना छोटा हो सकता है। यहां तक ​​कि अगर आप किसी उम्मीदवार को अस्वीकार करते हैं, तो कंपनी को बेच दें। यदि आपने अच्छा काम किया है, तो अस्वीकार किए गए उम्मीदवार से अच्छा किराया शब्द के माध्यम से आ सकता है।

इसके अलावा, एक टिप। आपको प्राप्त होने वाले प्रत्येक आवेदन के लिए अस्वीकृति पत्र (या ई-मेल) भेजें। मेरी वर्तमान कंपनी में, मैं आमतौर पर एचआर (उन लोगों के अलावा जो मैं साक्षात्कार के दौरान बताता हूं) को छोड़ देता हूं, लेकिन एक बिंदु पर यह अनमोल था कि "थैंक यू यू!" की तर्ज पर अस्वीकार किए गए उम्मीदवार से आपको खुशी मिल रही है। जवाब देने के बजाय मुझे आश्चर्य हुआ कि क्या वे एक दिन जवाब देंगे! "


मनोवैज्ञानिक परीक्षण?

5
@ इंक-जेट: नहीं, साइको परीक्षण सही था - उम्मीदवार को कोड लिखने के लिए कहा जाता है, जिसे एक हिंसक व्यक्ति द्वारा बनाए रखा जाएगा जो अपने घर का पता भी जानता है।

यही मैंने इसे पहली बार पढ़ा, ईमानदार होने के लिए।

@Grundlefleck - हां, यह सही है। :)
डोमची

2
अगर मुझे आपका अस्वीकृति पत्र मिला तो मैं आपको धन्यवाद दूंगा। मैं एक फोन साक्षात्कार के रूप में दूर होने के बाद चुप्पी के माध्यम से खारिज कर दिया गया है, और यह तंत्रिका- wracking है।
01d55

24

यह उत्तर बॉक्स से थोड़ा बाहर है, लेकिन मुझे लगता है कि यह एक मूल्यवान बिंदु है।

बहुत अच्छा प्रोग्रामर शायद ही कभी साक्षात्कार करते हैं। वे करने के लिए नहीं है । यदि आपकी कंपनी विशेष रूप से दुनिया बदल रही है, या रोमांचक रूप से गोपनीयता में कटा हुआ है, या कई प्रोग्रामर जो वहां सम्मान करते हैं, तो वे आवेदन कर सकते हैं, लेकिन वे आमतौर पर महान प्रोग्रामर अपने सहयोगियों के नेटवर्क के माध्यम से नौकरी प्राप्त करते हैं, न कि रेंडम में भेजकर।

तो: एक नौकरी के साक्षात्कार में एक उत्कृष्ट प्रोग्रामर को बताने का सबसे अच्छा तरीका यह है कि वह वहां नहीं है


2
बहुत सही ... महान बिंदु। :)
अर्निस लैप्सा

5
तो .... यह "जो आप जानते हैं" के बजाय "आप क्या करते हैं"? वास्तव में भयभीत प्रोग्रामर भी अपने काम को दोस्तों और परिवार के माध्यम से प्राप्त करते हैं। ओह, मुझे खेद है "सहयोगियों का नेटवर्क"।
फिलिप

17

किसी भी उत्तर में कोड नमूने शामिल होने चाहिए। अपने या अपने कोड को देखे बिना एक प्रोग्रामर को किराए पर लेना उसके खाना पकाने की कोशिश किए बिना एक शेफ को काम पर रखना पसंद कर रहा है।


11

संभवतः "उत्कृष्ट" प्रोग्रामर साक्षात्कार के लिए आपके पास नहीं आ रहा है। आपको शायद उसे किसी और से चोरी करना होगा।


doh! यह उत्तर लोकप्रिय हो रहा है। बस के रूप में मैं बाहर जाने के लिए और नौकरियों के लिए आवेदन करना शुरू कर दिया है ...
अंतरजातीय

9

"मुझे बस एक नौकरी चाहिए" प्रोग्रामर्स से भावुक प्रोग्रामर को बताने का एक तरीका यह है कि वे उनसे पूछें कि वे इस सप्ताह कौन सी किताब पढ़ रहे हैं। फिर उनसे उन पुस्तकों के बारे में पूछें जो उन्होंने पिछले हफ्तों में पढ़ी हैं।

मैंने पाया है कि भावुक प्रोग्रामर हमेशा पढ़ने वाले होते हैं, और आमतौर पर सूची में कुछ प्रोग्रामिंग / COMP शामिल होंगे। विज्ञान। हाल की सूची में किताबें।

यह केवल "पेशे के साथ" रखने के बारे में नहीं है - भावुक प्रोग्रामर के पास प्रोग्रामिंग के लिए एक इच्छा और प्यार है, और विभिन्न विषयों पर सामग्री को खा जाते हैं - न केवल जो भी भाषा वे अब उपयोग कर रहे हैं, बल्कि कार्यप्रणाली, अन्य भाषाएं (विशेष रूप से) नया या "अजीब" या प्राचीन), आईटी के अन्य पहलू (शायद रोबोटिक्स, या एआई, या गेम, या ...)

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

चीयर्स,

आर


8
मेरी हालिया पुस्तक सूची लगभग हमेशा काल्पनिक है। मेरा हालिया तकनीकी पढ़ना लगभग पूरी तरह से ऑनलाइन है, क्योंकि यह अधिक अद्यतित है।

1
बेहतर अभी तक, उनसे पूछें कि उन्होंने इस महीने कौन सी किताब लिखी है। :)

7

अलग-अलग समय के पैमाने हैं, जिस पर कोई व्यक्ति "तेज" हो सकता है: कुछ स्मार्ट लोग सेकंड में कठिन पहेली को हल कर सकते हैं, लेकिन कुछ स्मार्ट लोग एक महीने में बहुत सारे अच्छे कोड का उत्पादन करते हैं, भले ही वे साक्षात्कार के प्रश्नों में उतने तेज़ न हों।

उम्मीदवारों से पूछें कि क्या वे किसी भी ओपन सोर्स प्रोजेक्ट में सक्रिय हैं जहां आप उनके कुछ कोड की समीक्षा कर सकते हैं, और उन प्रोजेक्ट्स की मेलिंग सूची अभिलेखागार और कमिट लॉग पढ़ने में कुछ समय बिता सकते हैं। एक साक्षात्कार में उम्मीदवारों द्वारा प्रदर्शित की जाने वाली सभी चीज़ों की तुलना में यह आपको बहुत कुछ बताएगा। (बेशक यह साक्षात्कार को प्रतिस्थापित नहीं कर सकता , क्योंकि सभी अच्छे कोडर खुले स्रोत का काम नहीं करते हैं।)


7

" स्मार्ट एंड गेट्स थिंग्स डन: जोएल स्पोल्स्की के कॉनसेज़ गाइड टू द बेस्ट टेक्निकल टैलेंट " पुस्तक एक उत्तर खोजने में मदद कर सकती है।

विषयसूची:

  • परिचय
  • अध्याय 1: "उच्च नोट्स को मारना"
  • अध्याय 2: "महान डेवलपर्स ढूँढना"
  • अध्याय 3: "डेवलपर्स के लिए एक फील्ड गाइड"
  • अध्याय 4: "सॉर्टिंग रिज्यूमे"
  • अध्याय 5: "द फोन स्क्रीन"
  • अध्याय 6: "साक्षात्कार के लिए गुरिल्ला गाइड"
  • अध्याय 7: "उप-विषयक टीमों को ठीक करना"
  • परिशिष्ट: "द जोएल टेस्ट"

जोएल का लेख "द गुरिल्ला गाइड टू इंटरव्यू (संस्करण 3)" भी उपयोगी हो सकता है।

और इस विषय पर स्टीव Yegge द्वारा "डन, एंड गेट्स थिंग्स स्मार्ट" लेख ।


4

उनसे प्रश्नों की एक श्रृंखला पूछें, जिनके लिए उन्हें कोड की आवश्यकता होती है, और प्रश्न कठिन हो जाते हैं। यदि वे चुनौती का आनंद लेते दिखते हैं, तो संभवतः आपके पास एक लाइव है।

यदि वे पहले आसान प्रश्न का उत्तर नहीं दे सकते हैं, जैसे "एक पाश लिखें" या कुछ मूर्खतापूर्ण आसान, तो आप जानते हैं कि यह व्यक्ति कोड नहीं कर सकता है।


4

उन्हें एक व्हाइटबोर्ड पर कोड दें। यदि आप जानते हैं कि कोड लिखने का तरीका केवल आप ही बता पाएंगे।


पता नहीं क्यों यह घट गया। यदि एक प्रोग्रामर एक व्हाइटबोर्ड पर कोड नहीं लिख सकता है, तो आपको क्या लगता है कि वे इसे कंप्यूटर पर लिख पाएंगे?
क्रिस्टोफर जॉनसन

3
@ क्रिस्टोफर: यदि कोई प्रोग्रामर कंप्यूटर पर अच्छा कोड लिख सकता है, तो आपको क्या लगता है कि वे इसे व्हाइटबोर्ड पर लिख पाएंगे? वे काफी अलग वातावरण हैं।
डेविड थॉर्नले

"व्हाइटबोर्ड परीक्षण" का उद्देश्य वास्तविक कोडिंग का अनुकरण करना नहीं है। यह देखने का मौका है कि उम्मीदवार कैसे सोचता है, क्या उम्मीदवार यह वर्णन कर सकता है कि वे क्या कर रहे हैं, उम्मीदवार कितनी जल्दी अपने सिर में हल बनाते हैं, आदि। कोई व्यक्ति जो सिर्फ व्हाइटबोर्ड को देखता है कोई विचार नहीं है कि क्या लिखना है। एक कंप्यूटर पर एक ही समस्या।
क्रिस्टोफर जॉनसन

3

आपको मुख्य रूप से उस कार्य का न्याय करना चाहिए जो वे पहले ही कर चुके हैं। कोई भी कोड या विचार जो किसी चिंता-ग्रस्त साक्षात्कार के दौरान उत्पन्न होते हैं, वे एक खराब प्रॉक्सी हैं जो वे वास्तव में एक टीम पर पैदा कर सकते हैं।

कोडिंग चुनौतियाँ करने के लिए, IM का उपयोग कुछ codepad.com जैसी चीज़ों के साथ करें और उन्हें अपने घर के आराम से करने दें। क्या आप अपने कोड का अधिकांश हिस्सा अपने बॉस के सामने व्हाइटबोर्ड पर, 30 मिनट की समय सीमा और लाइन पर अपने बोनस के साथ लिखते हैं? मैं नही।

तो, क्या साक्षात्कार व्यर्थ है? नहीं, लेकिन जोर इस बात पर होना चाहिए कि वे बताएं कि उन्होंने क्या किया है और वास्तव में उन्होंने क्या योगदान दिया है।

जब आप किसी से आमने सामने मिलते हैं तो आप भी सभी प्रकार के मनोवैज्ञानिक जीवों के अधीन होने वाले हैं। गलती से एक प्रोग्रामर को काम पर न रखें क्योंकि उन्होंने बेहतर नेत्र संपर्क किया या किसी और की तुलना में लंबा है। इन के बारे में बताने के लिए, मैं आपके सामने आने से पहले IM / ईमेल पर अधिक से अधिक साक्षात्कार आयोजित करूंगा।


आप इतिहास को काम पर रखने वाले उम्मीदवारों में अन्य लोगों के मनोवैज्ञानिक जीवों को देखकर इस प्रभाव को उलट सकते हैं। छोटे लोग जिनके पास वरिष्ठ पद थे और उन्होंने कुछ हासिल किया, वे वास्तव में वास्तव में बहुत अच्छे हैं। समान इतिहास वाले लोग औसतन इतने अच्छे नहीं होंगे और हेलो अंकों के आधार पर प्राप्त करेंगे।
टिम विस्क्राफ्ट

2

भाषा कोई मायने नहीं रखती। तर्क करता है। मेरा मतलब है कि आईडीई और कंपेलर्स इन दिनों इतने अच्छे हैं कि कोई भी अच्छा प्रोग्रामर एक हफ्ते में किसी भी भाषा (ओके शायद एसेंबलर नहीं) को चुन सकता है; कुछ हफ़्ते में सभ्य बनें और कुछ महीनों में बहुत अच्छे हो जाएँ।

यह उसका (उसका) दिमाग है जिसकी आपको पुष्टि करने की आवश्यकता है। और आप ऐसा करते हैं कि मेरी बात हो रही है। मैं उनसे सरल समस्याओं को हल करने के लिए कहता हूं। कोड लिखने से नहीं, बल्कि समाधान के लिए आने के लिए मुझे उनके तर्क के माध्यम से।

लेकिन मैं मानता हूं, अगर वह 1 से 10 तक की गिनती में एक साधारण लूप नहीं लिख सकता, तो आपको परेशानी हुई।


1

सबसे पहले, एक तरीका है जिससे आप साक्षात्कार शुरू होने से पहले एक विचार प्राप्त कर सकते हैं:

यदि उनके पास एक ब्लॉग है या एक या एक से अधिक ओपन सोर्स प्रोजेक्ट्स में योगदान करते हैं, तो बस उनके द्वारा लिखे गए कोड और लेखों को देखें। सबसे पहले, अगर उन्होंने इनमें से कोई भी काम किया है, तो उनके पास चीजों को प्राप्त करने की पहल है। इसके अलावा, आप इन चीजों की तुलना अपने रिज्यूमे में सूचीबद्ध कार्य अनुभव से कर सकते हैं और विचार कर सकते हैं कि क्या वे घर जाते हैं और काम के बाद अधिक सीखते हैं, या यदि वे घर जाते हैं और शाम 5 बजे के बाद काम के बारे में भूल जाते हैं।

अनिवार्य रूप से, क्या उन्हें प्रोग्रामिंग के बारे में जुनून है या नहीं? यही असली सवाल है।


1

साक्षात्कार में उपस्थित एक अच्छा प्रोग्रामर होने के नाते मेरी राय में सबसे अच्छा है।

केवल एक विशेषज्ञ न्याय कर सकता है यदि आवेदक सिर्फ साक्षात्कार के बहुत सारे प्रश्न जानता है या यदि वह वास्तव में समस्याओं के बारे में सोच रहा है और विस्तार से जा सकता है। याद रखें, आप इंटरव्यू पज़ल्स को हल करने के लिए लोगों को हायर नहीं करना चाहते, आप उन्हें वास्तविक काम करवाने के लिए हायर करना चाहते हैं।

पहेलियाँ उन लोगों को बाहर करने के लिए हैं जिन्हें मूल बातें सही नहीं मिलती हैं। यदि आप कौशल के लिए परीक्षण करना चाहते हैं, तो कुछ चीजें तैयार करें जो आप (या आपका "अच्छा प्रोग्रामर") के बारे में विस्तार से जा सकते हैं और आवेदक को कुछ समय के लिए सोचना पड़ता है। वह उन समस्याओं से कैसे संपर्क करता है जिन्हें वह तुरंत नहीं जानता है?


1

मुझे नहीं लगता कि आपको साक्षात्कार पर जुनून के बारे में बात करनी चाहिए। सच कहूँ तो, यह एक कंपनी की तरह लगता है जो 'जुनून' की तलाश में है, जिसका अर्थ है 'विचार के लिए बिना पैसे के काम करना'।

जुनून भी उत्कृष्टता उत्कृष्टता नहीं है। मेरा मतलब है कि मैं लगभग अपना सारा जीवन प्रोग्रामिंग में बिताता हूं, प्रोग्रामिंग के बारे में पढ़ रहा हूं, एर्लांग या क्लोजुर जैसी पागल भाषाएं सीख रहा हूं और मुझे इसके लिए कोई भुगतान नहीं मिलता है। फिर भी मैं प्रोग्रामिंग में चूसता हूं।

मुझे लगता है कि उत्कृष्ट प्रोग्रामर के पास सफल परियोजनाओं का एक ट्रैक होना चाहिए, जिसमें वे सक्रिय रूप से शामिल हो गए हैं। इस प्रकार एक प्रोग्रामर को मूल FizzBuzz के ऊपर कुछ भी लिखना साक्षात्कार में अनावश्यक है। उनके पिछले प्रोजेक्ट्स और उन्होंने जो किया उसके बारे में बात करें। क्या आप रूबिक के क्यूब्स को हल करने के लिए प्रोग्रामर को काम पर रख रहे हैं और 50 से अधिक लाइनों के कोए की लंबी और बड़ी और थकाऊ सॉफ्टवेयर परियोजनाओं पर काम कर रहे हैं ?


1

http://www.inter-sections.net/2007/11/13/how-to-recognise-a-good-programmer/

लेख से:


गोलियों में मापदंड

तो, संक्षेप में, यहां कुछ संकेतक और काउंटर-संकेतक हैं जो आपको एक अच्छे प्रोग्रामर को पहचानने में मदद करनी चाहिए।

सकारात्मक संकेतक :

  • प्रौद्योगिकी के बारे में भावुक
  • एक शौक के रूप में कार्यक्रम
  • अगर प्रोत्साहित किया तो एक तकनीकी विषय पर अपने कान बंद बात करेंगे
  • महत्वपूर्ण (और अक्सर कई) व्यक्तिगत साइड-प्रोजेक्ट वर्षों में
  • अपने दम पर नई तकनीकों को सीखता है
  • विभिन्न तकनीकों के लिए कौन सी तकनीकें बेहतर हैं, इसके बारे में राय दी गई है
  • एक तकनीक के साथ काम करने के विचार के बारे में बहुत असहज वह "सही" होने के लिए विश्वास नहीं करता है
  • स्पष्ट रूप से स्मार्ट, विभिन्न विषयों पर महान वार्तालाप कर सकता है
  • विश्वविद्यालय / काम से बहुत पहले प्रोग्रामिंग शुरू कर दी
  • कुछ छिपे हुए "हिमशैल" हैं, सीवी रडार के तहत बड़ी व्यक्तिगत परियोजनाएं
  • असंबंधित प्रौद्योगिकियों की एक विशाल विविधता का ज्ञान (सीवी पर नहीं हो सकता है)

नकारात्मक संकेतक :

  • प्रोग्रामिंग एक दिन का काम है

  • वास्तव में "टॉक शॉप" नहीं चाहते हैं, यहां तक ​​कि जब प्रोत्साहित किया जाए

  • कंपनी प्रायोजित पाठ्यक्रमों में नई तकनीकों को सीखता है

  • आपने जो भी तकनीक चुनी है, उसके साथ काम करके खुश हैं, "सभी प्रौद्योगिकियां अच्छी हैं"

  • बहुत ज्यादा स्मार्ट नहीं लगता

  • विश्वविद्यालय में प्रोग्रामिंग शुरू की

  • सभी प्रोग्रामिंग अनुभव सीवी पर है

  • मुख्य रूप से एक या दो प्रौद्योगिकी के ढेर पर केंद्रित (जैसे कि जावा एप्लिकेशन को विकसित करने के लिए सब कुछ), इसके बाहर कोई अनुभव नहीं है


क्या आप इस बारे में और अधिक व्याख्या करना चाहेंगे कि यह पूछे गए प्रश्न का उत्तर देने के लिए क्या करता है और इसकी अनुशंसा क्यों करता है? स्टैक एक्सचेंज में "लिंक-ओनली उत्तर" का बहुत स्वागत नहीं है
gnat

0

एक उत्कृष्ट प्रोग्रामर उन निचले-स्पेक्ट्रम साथियों के साथ भी काम कर सकेगा। जब तक वे परीक्षण कर सकते हैं और अपने अहंकार में दीवार नहीं कर सकते हैं तब तक आपके पास एक अच्छा उम्मीदवार है, नहीं?

यह फ़िज़बज़्ज़ टेस्ट थोड़े मज़ेदार है। समाधान मैं मॉडुलो ऑपरेटर के उपयोग के बारे में सोच सकता हूं। जिसे मैं केवल चरित्र-पत्रक मैपिंग निर्देशांक (स्कूल या कॉलेज में उल्लेखित नहीं) से काम करना जानता हूं। क्या औसत प्रोग्रामर को भी इस बारे में पता होगा या मैंने शिक्षा को बकवास किया है?


मुझे आश्चर्य है कि आप मोडुलो ऑपरेटर में नहीं आए। मैंने इसे उन विभिन्न भाषाओं में पेश किया, जिन्हें मैंने वर्ष में सीखा है।

2
यदि आपने कॉलेज में सीएस में

आश्चर्यजनक रूप से बिट-शिफ्ट और मोडुलो जैसे सामान कॉलेज में खत्म हो जाते हैं
क्लाउडीयू

मुझे लगता है कि यह निर्भर करता है कि वे किस तरह की चीजें आपको कॉलेज में पढ़ाने की कोशिश कर रहे हैं। मुझे नहीं लगता कि मैंने कभी भी एक वास्तविक दुनिया की समस्या में मॉडुलो का उपयोग किया है, और न ही इसे स्पष्ट रूप से सिखाया है। लेकिन इस तरह के व्यायाम (और परीक्षा के सवालों में) बहुत आम है।
इंटरस्टार

2
दरअसल, वे दोनों आम तौर पर प्राथमिक विद्यालय में पढ़ाए जाते हैं; उस अवस्था में उन्हें "शेष" और "10 से गुणा" के रूप में जाना जाता है।
intuited

0

एक मानदंड जो मैं उपयोग करता हूं, वह उन भाषाओं और उपकरणों के 'प्रकार' को देखने के लिए है जिन पर उन्होंने काम किया है, या तो अकादमिक या पेशेवर परियोजनाओं में और वास्तव में उन्होंने जो हासिल किया है। क्या उन्होंने हमेशा मानक पुस्तकालयों (हमेशा एक C # या VB6 आदमी?) का उपयोग करके आवेदन स्तर पर काम किया है या उन्होंने लिनक्स में C का उपयोग करके एक प्रोजेक्ट किया है जिसमें पॉइंटर्स, मेमोरी मैनेजमेंट, रिकर्सन, प्रोसेस सिंक्रोनाइजेशन, म्युचुअल इंक्लूजन, इवेंट्स आदि जैसे हार्डकोर सामान हैं। .अगर उसने हमेशा कुछ अमूर्त परत के नीचे इन मूल और मूलभूत अवधारणाओं का उपयोग किया है, तो मुझे संदेह होगा।

यह स्पष्ट रूप से उसे लिखने का कोड बनाने के अलावा है। उसके लिए कुछ भी विकल्प नहीं है। मैं हालांकि इस तथ्य के लिए पूरा करता हूं कि कुछ लोग दूसरों की तुलना में तेजी से कोड लिख सकते हैं, और लोगों के पास अलग-अलग प्रतिक्रिया समय होता है जब एक साक्षात्कार लाइमलाइट में होता है।


पुनरावृत्ति, प्रक्रिया तुल्यकालन, आपसी बहिष्कार। वे प्रौद्योगिकियाँ समान रूप से महत्वपूर्ण हैं चाहे आप C #, VB.NET, C या असेंबली भाषा के साथ काम करें।

-1 - यह गलत गलत है। भाषाओं और उपकरणों की 'तरह' 100% 'अप्रासंगिक' हैं।
मॉर्गन हेरलॉकर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.