एक साक्षात्कार में कंपनी के कोड नमूने के लिए पूछना [बंद]


69

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


14
मैं कोडिंग मानकों, कोड समीक्षाओं आदि के बारे में पूछना चाहता हूं
16:16 पर user16764

5
क्या कंपनी "जोएल परीक्षण" पास करती है: joelonsoftware.com/articles/fog000000004343.html
मार्टिन यॉर्क

2
@ लोकीस्टारी जोल टेस्ट सीधे तौर पर कोडिंग कल्चर (केवल कामकाजी माहौल) की चिंता नहीं करता है।
साइमन बर्गोट

8
@ user16764 जो उम्मीदवार को सैद्धांतिक सवाल पूछने जैसा है: यह अच्छा पहला कदम है, लेकिन यह वास्तव में आपको यह नहीं दिखाता है कि वह इस ज्ञान को कैसे लागू करता है।
साइमन बर्गोट

2
programmers.stackexchange.com/questions/160922/… इस प्रश्न के समान।
बेनामी

जवाबों:


69

मैं हमेशा कई कारणों से कुछ कोड देखने के लिए कहता हूं:

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

और फिर कुछ और दुष्प्रभाव हैं:

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


1
यदि संभावित नियोक्ता आपको कोड दिखाता है जो स्पष्ट रूप से खराब है, तो याद रखें कि यह उनके कोड और प्रक्रियाओं को बेहतर बनाने के लिए उन्हें नेतृत्व करने का अवसर हो सकता है। जैसा कि पुरानी कहावत है "मैं केवल सही पेंच कर सकता हूं लेकिन मैं टूटी हुई को ठीक कर सकता हूं!"। इसके अलावा, याद रखें कि एक उम्मीदवार द्वारा या उसके द्वारा दिखाए जा रहे कोड शायद अन्य कोड की तुलना में बहुत अधिक कठोरता और समीक्षा के अधीन थे।
अकटन

@akton यह बुरा कोड के प्रति मेरा दृष्टिकोण है। हालांकि यह बेकार है जब आप अपने "फिक्सिंग मेसी कोड" खोज में अकेले हैं। कुछ अच्छे कोड देखने के लिए कहने से यह महसूस करने में मदद मिल सकती है कि क्या आपकी भावी टीम SOLID जैसी चीजों को महत्व देती है
साइमन बर्गोट

1
"मैं हमेशा कुछ कोड देखने के लिए कहता हूं" आप वास्तव में कोड दिखाए जाने के बाद कैसे हैं ? क्या आप उनसे पहले से कुछ तैयार करने या बाद में कुछ भेजने के लिए कह रहे हैं? कोई फर्क नहीं पड़ता कि आप इसे किस रूप में देखते हैं, यह अव्यावहारिक है।
बुरहान अली

1
@BurhanAli: मैं सिर्फ पूछता हूं। कई मुझे कोई भी दिखाने से इनकार करते हैं, और आमतौर पर वे मुझे अच्छे कारण देते हैं, जो ठीक है। जो सहमत हैं वे मुझे एक पर्यवेक्षित दौरा देते हैं; मुझे संदेह है कि कोई भी मेरे माध्यम से नाक काटने के लिए स्रोतों का एक पूरा सेट मेल करेगा, लेकिन एक आईडीई में परियोजना के आसपास क्लिक करते समय मैं अक्सर स्वीकार्य होता हूं।
14

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

14

हालांकि, क्या उम्मीदवार को साक्षात्कारकर्ता से यह पूछने के लिए स्वीकार्य होगा कि वह एक छोटा सा कोड दिखाएगा जो उसे लगता है कि अच्छी तरह से लिखा गया है?

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

इसके अलावा, वे सिर्फ चेरी को सबसे अच्छा दिखने वाला, कम से कम सार्थक कोड लेने जा सकते हैं। सबसे अच्छा कोड वास्तव में एक समस्या नहीं है, सबसे खराब है। यही कारण है कि उम्मीदवारों से कोड नमूने प्राप्त करना बेकार के बगल में है।


10
यह देखना अभी भी उपयोगी है कि क्या वे आपको दिखाने के लिए अच्छे कोड चुन सकते हैं। अक्सर खराब कोड से निपटने का सबसे निराशाजनक हिस्सा यह है कि कोई भी यह नहीं मानता है कि यह खराब है और इसे ठीक किया जाना चाहिए।
JGWeissman 17

5
इसके अलावा, साक्षात्कारकर्ता के अच्छे कोड का विचार आपके अच्छे कोड का विचार नहीं हो सकता है। मुझे लगता है कि यह बाद में के बजाय जल्द ही पता लगाने के लिए उपयोगी होगा।
एरिक किंग

1
दुःख की बात है कि जब मैंने "साक्षात्कारों को द्विदिश कर दिया है" का उपयोग करने की कोशिश की है, तो अधिकांश नियोक्ताओं ने नाराज़गी जताई है। मुझे कभी भी कोड नहीं दिखाया गया है। मैंने जो दूसरी चीज़ देखने को कहा है, वह डेटा मॉडल है, लेकिन इसमें कोई किस्मत भी नहीं है।
एंटोनियो २०११ ए

12

क्या उम्मीदवार के लिए यह स्वीकार्य होगा कि वह साक्षात्कारकर्ता से उसे एक छोटा सा कोड दिखाने के लिए कहे जो उसे लगता है कि अच्छी तरह से लिखा गया है?

आप जो चाहें पूछ सकते हैं, लेकिन:

  • तुम्हें शायद यह नहीं मिलेगा।

  • यदि आप इसे प्राप्त करते हैं, तो यह आपको उपयोगी कुछ भी नहीं बताएगा। यदि उनके कोड का 10% सुंदर है और बाकी स्पेगेटी है, तो आप अभी भी स्पेगेटी के साथ काम करेंगे।

  • आप एक समझदार पैंट की तरह लगेंगे। यह एक बड़ी मदद नहीं है यदि आप अंततः तय करते हैं कि आप वहां काम करना चाहते हैं।

  • यह अनमोल साक्षात्कार समय की बर्बादी है।

  • यह जानने के लिए बेहतर तरीके हैं कि आप क्या जानना चाहते हैं। जैसे प्रश्न पूछें:

    • कोड गुणवत्ता के सबसे महत्वपूर्ण संकेतक क्या हैं?
    • क्या मैं ज्यादातर मौजूदा कोड बनाए रखूंगा या नया कोड लिखूंगा?
    • क्या आप संक्षेप में बता सकते हैं कि आपका सिस्टम कैसे काम करता है?
    • क्या आपके पास एक कोडिंग मानक दस्तावेज़ है, और क्या हर कोई इसका पालन करता है?

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

2
@ एंटोनियो 20171 ए ठीक होना चाहिए यदि आप सही पूछते हैं - शायद "आप यहां किस कोड गुणवत्ता वाले मैट्रिक्स की तलाश करते हैं?" बस यह स्पष्ट करें कि आप इस बारे में अधिक सीखना चाहते हैं कि वे चीजें कैसे करते हैं। आप उनके बारे में सीख रहे हैं, परीक्षण का प्रबंध नहीं कर रहे हैं। कोड मांगने पर भी काम कर सकता है: "क्या मैं देख सकता था कि आपका कोड कैसा दिखता है?" के बजाय "मैं जो आप अच्छे कोड का एक नमूना चाहते हैं।"
कालेब

3

अच्छा वह निर्भर करता है। मुझे हमेशा यह जानना पसंद था कि मैं कहां काम करने जा रही हूं।

मैं एक नौकरी के साक्षात्कार को द्विदिश के रूप में देखता हूं। कंपनी आपके बारे में पता लगाती है और आप कंपनी के बारे में पता लगा लेते हैं। कोड के लिए पूछना थोड़ा बहुत हो सकता है, लेकिन विकास से संबंधित प्रश्न पूछना ठीक होना चाहिए।

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


माना। मैं उन उपकरणों का उपयोग करने की कोशिश कर रहा हूं? क्या प्रबंधन अतिरिक्त उपकरणों (घटकों, उपयोगिताओं) के लिए भुगतान करता है जो कई स्थानों पर नहीं होते हैं। स्रोत उपकरण खोलने का रवैया हमेशा एक अच्छा होता है।
ओज

2

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

मैं निश्चित रूप से इस तरह के एक सवाल पूछने के इरादे को समझता हूं। एक नौकरी चाहने वाले के रूप में, मैंने जोएल टेस्ट से पहले एक साक्षात्कारकर्ता से पूछा है। वे नहीं जानते थे कि यह क्या है, लेकिन वे जवाब देने के लिए खुश थे।

कुछ स्थानों पर, उन प्रकार के प्रश्न पूछना आपके अवसरों में सुधार कर सकता है जबकि यह आपके अवसरों को कहीं और चोट पहुँचा सकता है। जीवन की सुंदरता यह है कि अगर यह आपके अवसरों को बेहतर बनाता है, तो आप जिस तरह की जगह पर काम करना चाहेंगे। यदि यह आपके अवसरों को चोट पहुँचाता है, तो आप उस नौकरी को वैसे भी नहीं चाहते थे।

मैं विनम्रता से पूछकर खोने के लिए कुछ भी नहीं देख रहा हूं और यह समझाने में सक्षम हूं कि आप इसे क्यों देखना चाहते हैं।


"जीवन की सुंदरता यह है कि अगर यह आपके अवसरों में सुधार करता है, तो यह वह जगह है जहां आप काम करना चाहते हैं।" +1
स्पाइडी

2

मैंने अपने दो साक्षात्कारों में यह सवाल पूछा है, जहां उन्होंने दावा किया कि उनके पास asp.net mvc3 या 4 पर प्रवास करने वाले वरिष्ठ देव हैं या जब उन्होंने कहा कि वे भारी टिप्पणी वाले कोड चाहते हैं। मैंने वास्तविक कोड मानक पर उनके ज्ञान की कमी के कारण दोनों अवसरों पर अस्वीकार कर दिया है। एकमात्र मानक जो मुझे मिला वह यह था कि अगर यह कॉपी और पेस्ट का काम करता है और यह काम करेगा। मैं यह सवाल नहीं पूछूंगा कि क्या मैं एक नया प्रोजेक्ट कर रहा हूं या टीम में दूसरों से स्वतंत्र कोड ऑफ पीस लिखना है। अगर मुझे किसी मौजूदा सॉफ़्टवेयर या फ़ंक्शन को ठीक करने के लिए काम पर रखा जा रहा है तो मैं निश्चित रूप से कोड देखूंगा और जब तक मुझे जवाब नहीं पता तब तक मैं हाँ नहीं कहूँगा। मान लें कि आप नहीं पूछते हैं और वे कहते हैं कि क्या आप आज की तारीख से शुरू करने के लिए तारीख तय कर सकते हैं। जब आप विरासत कोड को देखते हैं तो आपको कोई jquery या jquery ui नहीं दिखाई देता है, लेकिन एक कस्टम मेड डेट पिकर है जिसमें सभी तिथियाँ xml फ़ाइल में संग्रहीत होती हैं और हर रात एक क्रॉन जॉब चलता है ताकि भविष्य के महीनों को अपडेट किया जा सके। इस कोड को इस उदाहरण के शब्दों की तुलना में कम हासिल करने के लिए सिरदर्द शुरू होगा। यदि आप उनके कोड पर काम करने जा रहे हैं तो इसे देखने के लिए कहें। यह नहीं पूछना कि ग्राहक के छोटे होने की बात पर विश्वास करना किसी नौकरी के लिए उद्धृत करने जैसा है। उसके पास 20 एकड़ जमीन हो सकती है और उसकी 1 एकड़ जमीन पर बागवानी करना उसके लिए छोटा है, लेकिन माली केंट 50 क्विड सिर्फ इसलिए वसूलते हैं क्योंकि उनके सभी छोटे काम 50 से शुरू होते हैं।


1

मैं उन कंपनियों के लिए काम करता हूं जहां उनके काम का कम से कम हिस्सा खुला स्रोत है, इसलिए कोड नमूने खोजने के लिए यह तुच्छ है। मुझे पता है कि कंपनी में कौन काम करता है, फिर उनके ऑनलाइन हैंडल का पता लगाएं। चूँकि लोग एक ही स्क्रीन नाम का इस्तेमाल करते हैं, बार-बार, यह पता लगाना आसान है कि उन्होंने कहाँ कोड किया है, चाहे वे गिथब, बिटबकेट या कहीं और पूरी तरह से हों।

मेरी वर्तमान कंपनी का एक टन कोड गितुब पर होस्ट किया गया है, इसलिए यह देखना आसान था कि वे किसके साथ काम करते हैं, उनका कोड आधार कितना बड़ा है, और क्या लगता है कि अब कोई दिलचस्पी नहीं है।

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


0

यदि आप इसे प्राप्त कर सकते हैं तो यह बहुत बढ़िया है। कभी-कभी यह एनडीए-प्रकार के समझौतों के बिना संभव नहीं है, लेकिन कोशिश करना हमेशा अच्छा होता है। अपनी बाधाओं को बढ़ाने के लिए, अपने साक्षात्कारकर्ताओं को बताएं कि आप इसे पहले से अच्छी तरह से चाहते हैं (एक दो दिन) ताकि वे आपको दिखाने के लिए किसी चीज़ का ध्यान रख सकें।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.