मैं FizzBuzz में विफल रहा, क्या आप मुझे नौकरी देंगे? [बन्द है]


27

मैं सीएस डिग्री के साथ एक डेवलपर हूं और लगभग 3 वर्षों से कई भाषाओं में काम करने का अनुभव है।

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

यहाँ मेरा कोड है:

  void FizzBuzz()
  {
    for(int i = 0; i <= 100; i++)
    {
      bool isThree = i % 3;
      bool isFive = i % 5;

     if (isThree)
     {
         print "Fizz\n";
     }
     else if(isFive)
     {
         print "Buzz\n";
     }
     else
     {
         print "FizzBuzz\n";
     }
  }
 }

जैसा कि आप देख सकते हैं कि मैंने बूल गड़बड़ कर दी है जिसमें वाक्यविन्यास i% 3 == 0 होना चाहिए; अगर मुझे सवाल याद आ रहा है तो मैं भी एक और के बजाय ishhree और&Five के साथ एक और डाल दिया। मैं काफी तनाव में था, लेकिन यह एक साधारण समस्या याद करने के लिए कोई बहाना नहीं है।

तो सवाल यह है कि अनुभव और व्यक्तित्व जैसे अन्य कारकों के सापेक्ष स्पॉट पर वर्किंग कोड का उत्पादन करना कितना महत्वपूर्ण है? उदाहरण के लिए, क्या उपरोक्त कोड एक सौदा ब्रेकर होगा?


31
मुझे लगता है कि आपने मापांक ऑपरेटर का उपयोग किया है, यह तथ्य काफी अच्छा है
रयथल

9
जब आपकी संख्या 3 या 5 में से न हो तो भी आप उसका प्रिंट आउट न लें। इस तथ्य का कि आपने इस प्रश्न को पोस्ट करने में भी कोई संदेह नहीं किया है।
whatsisname

13
आपके साक्षात्कारकर्ताओं की ओर से कोई भी इसका उत्तर कैसे दे सकता है?
pdr

5
स्पर्शोन्मुखी सलाह - प्रोजेक्ट यूलर समस्याओं को 1-10 करें और आपके पास कई मानक प्रकार के प्रश्नों का एक हैंडल होगा जो आपसे "क्या आप प्रोग्राम कर सकते हैं - इस कोड को लिखें"

20
मुझे नहीं लगता कि मैं किसी ऐसे व्यक्ति को नियुक्त करूंगा जो FizzBuzz लिखने में विफल रहा, लेकिन IMHO आप एक व्हाइटबोर्ड पर पूरी तरह से वाक्यविन्यास लिखने में विफल रहे, जो कुछ और है।
माइकल शॉ

जवाबों:


44

FizzBuzz का मुद्दा यह दिखाना है कि आप वास्तव में प्रोग्राम करना जानते हैं , न कि यह कि आपने जिस भाषा में प्रोग्राम करने के लिए कहा गया है, उसके सभी बारीक सिंटैक्स नियमों को याद कर लिया है (हालांकि इससे कोई फर्क नहीं पड़ता, अगर वे जानना चाहते हैं कि कैसे अनुभव किया जाए? तुम भाषा म) हो।

यदि आपको यह साक्षात्कार के माहौल के तनाव में मिला है, और यह दिखा सकता है कि आपने जो त्रुटियां की हैं, उन्हें समझें, तो मैं कहूंगा कि आप पास हो गए हैं।


सहमत, इसका मतलब यह नहीं था कि यह मुझे जवाब याद था। यह है कि मुझे लगता है कि मैं काफी सक्षम प्रोग्रामर हूं, लेकिन लगता है कि केवल एक प्रोग्रामिंग समस्या है और उस पर अच्छा नहीं करना मेरी क्षमताओं का बहुत बुरा प्रतिबिंब है। उन्होंने समस्या के बारे में कुछ भी नहीं कहा। मुझे अपने तरीकों की त्रुटि का एहसास नहीं हुआ जब तक कि मैं अपनी कार में नहीं गया और घर चलाना शुरू कर दिया। तब यह एक OMG Whyyy था !! प्रतिक्रिया।
ja_programmer

क्या उन्होंने आपको पहले FizzBuzz सवाल दिया था? यदि उन्होंने तुरंत साक्षात्कार समाप्त नहीं किया, तो आप उत्तीर्ण हुए। साक्षात्कारकर्ता एक सरल कोडिंग टेस्ट के अलावा अन्य कारकों पर विचार करते हैं; अच्छे नियोक्ता ऐसे लोगों को चाहते हैं जो जानते हैं कि कैसे गंभीर रूप से सोचें और समस्याओं को हल करें।
रॉबर्ट हार्वे

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

4
अच्छे साक्षात्कारकर्ता साक्षात्कार को समाप्त कर देंगे, जब आपको नियुक्त करने में कोई दिलचस्पी नहीं है, जो कि परीक्षण विफल होने पर आपको FizzBuzz के ठीक बाद होना चाहिए था। इसका मतलब यह नहीं है कि वे अभी भी आपको काम पर रखेंगे, लेकिन इसका मतलब यह है कि आप साक्षात्कार को हाथ से निकालने में विफल नहीं हुए।
रॉबर्ट हार्वे

4
@RobertHarvey - हर कोई साक्षात्कार को तब और वहां से नहीं काटेगा। मेरे हाल के उम्मीदवार के साथ जो FizzBuzz में विफल रहे, मैंने यह देखने की कोशिश में साक्षात्कार जारी रखा कि क्या वह चीजों को उबार सकता है। दूसरे शब्दों में, मैं साक्षात्कार के तनाव के कारण लापता अभ्यास को देने के लिए तैयार था।

26

हाँ

मेरे द्वारा साक्षात्कार किए गए अधिकांश लोगों ने मामूली वाक्यविन्यास पर कोड व्यायाम भाग को विफल कर दिया था या थोड़ा बंद तर्क बेहतर काम पर रखा था।

तर्क के मूल विचार को सीधे प्राप्त करना (जो आपने किया था) और इसे कोड के दृष्टिकोण से कुछ सभ्य और संक्षिप्त करने के लिए परिवर्तित करना (जो मुझे लगता है कि आपने ज्यादातर किया था) मेरे लिए यह बिल्कुल सही होने की तुलना में कहीं अधिक महत्वपूर्ण है।

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

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

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

[संपादित करें] जैसा कि एलेक्स ने बताया कि प्रतिक्रिया और घटक पहलू भी है। व्यक्तिगत रूप से मैं कोशिश करता हूं कि इंटरव्यू लेने वाले को अपने अनुभव से थोड़ा बाहर कुछ करके व्यावहारिक अभ्यास करने से पहले रास्ते से हट जाऊं लेकिन कुछ लोग दोनों को मिलाने का विकल्प चुन सकते हैं। हर बार और एक बार मैं किसी ऐसे व्यक्ति में चला गया हूं, जिसके पास केवल पाठ्यपुस्तक का ज्ञान है और वे सैद्धांतिक और पृष्ठभूमि के मुद्दों के माध्यम से अधिकार प्राप्त करते हैं, लेकिन व्यावहारिक अभ्यास के साथ शुरू करने के लिए गंभीरता से लटका हुआ है। कुछ यह भी पता नहीं लगा सकते हैं कि कहां से शुरू करें।

ये व्यक्ति वास्तव में वही हैं जो मैं इस अभ्यास के साथ करना चाहता हूं।

इसलिए जब तक आप साक्षात्कारकर्ता को बनाने में 20 मिनट का समय नहीं लगाते हैं, तब तक मैं स्पष्ट कर देता हूं कि मैं कल्पना करता हूं कि आपका समाधान कमोबेश आपके पहले प्रयास के साथ कम या ज्यादा था। यदि आपको वह मिला है जो आपने 5 मिनट से कम समय में दिखाया है, तो आप मेरे मानकों के लिए पर्याप्त सोच सकते हैं।


2
बिल, मैं केवल विस्तृत प्रतिक्रिया के लिए धन्यवाद बहुत कुछ कहना चाहता हूं। कुछ अन्य दृष्टिकोण प्राप्त करना अच्छा है। यह सिर्फ इतना आसान है कि कुछ पर गलतियाँ करने के लिए निराशा होती है और जानते हैं कि आप इससे बेहतर हैं।
ja_programmer

1
अभी मुझे पुष्टि करें कि बिल ने क्या कहा। इस तरह का परीक्षण मुख्य रूप से यह देखने के लिए बनाया गया है कि लोग दबाव में कैसे प्रतिक्रिया करते हैं। इन परिस्थितियों में काम करने पर आपको एक आदर्श प्रोग्रामर बनने की उम्मीद नहीं है। आपको बस ... काम की उम्मीद है। वास्तव में। आपसे बस यही अपेक्षा की जाती है कि आप शांत रहें और समस्या का सामना करें। ठीक यही तुमने किया।
एलेक्सबटन दिनांक

यह न केवल संख्याओं को प्रिंट नहीं कर रहा है, बल्कि यह पहचानने में भी विफलता है कि 15 के मल्टीट्यूड पर आप फ़िज़ या बज़ नहीं बल्कि फ़िज़बज़ को प्रिंट करते हैं। यह समस्या का अच्छा तोड़ नहीं दिखाता है। जब "FizzBuzz" प्रिंट करना इस पहेली का सबसे महत्वपूर्ण तत्व है।
पीटर बी

मैं इस विशेष उदाहरण का उपयोग नहीं करता हूं क्योंकि बहुत सारे अनुबंध घरों में उनके उम्मीदवार इसे याद करते हैं, लेकिन यह मेरा अनुभव है कि इन अभ्यासों में "ओह डुह" गलती करने वाले लोग आमतौर पर बेहतर सहकर्मी बनते हैं। उनका तर्क सही जगह से शुरू हुआ, और अतिरिक्त बकवास का एक गुच्छा नहीं है, यह अच्छा है। उसने कुछ याद किया जो आपने पहले संकलन में देखा होगा। मैं बल्कि वे आदमी है कि यह 15 मिनट में 3 बार गलत हो जाता है तो उस आदमी की तुलना में अच्छा है कि शुरू करने के लिए 30 मिनट लगते हैं।
बिल 18

@ बिल - इस समस्या के किस प्रकार के उत्तर देखते हैं? मुझे नहीं समझ में आया कि जिस किसी के पास एक प्रोग्रामिंग क्लास नहीं है वह कम से कम इतना नहीं जान सकता जितना मैंने डाला। मैंने लिखा है कि शायद एक मिनट से डेढ़ मिनट तक और केवल इतना समय लगने की वजह यह थी कि मैं एक ही समय में व्हाइटबोर्ड पर बात कर रहा था और लिख रहा था।
j__programmer

15

उपरोक्त कोड शायद मेरे लिए एक सौदा ब्रेकर होगा अगर मेरे पास कुछ और नहीं था। यदि वे Microsoft साक्षात्कार शैली का पालन करते हैं, तो जिस व्यक्ति ने आपको यह प्रश्न दिया है, वह संभवतः आपको ब्लॉक कर देगा - और एक अक्सर यह सब होता है।

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

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

इसके अलावा, यह आपको आश्चर्यचकित कर सकता है, लेकिन आप कई लोगों के साथ प्रतिस्पर्धा कर रहे हैं जो कि फ़िज़बज़ पर शुरू भी नहीं हो सकते हैं। हम यह मानकर चलते हैं कि बाकी सभी लोग अपनी नींद में b + के पेड़ों को काट रहे हैं .... लेकिन वास्तव में, वे 3 और 5 के गुणकों का भी पता नहीं लगा सकते हैं और एक मापांक ऑपरेटर का उपयोग कर सकते हैं। आपने अन्य उम्मीदवारों की तुलना में कितना बेहतर प्रदर्शन किया, इस पर आपको खुशी हो सकती है।

मेरी सलाह, बस इसे ब्रश करें। मैंने हाल ही में बड़ी सॉफ्टवेयर फर्मों (Microsoft, Amazon आदि ...) में साक्षात्कार लिया, और यह पहली बार था जब मैं इस तरह की पूरी साक्षात्कार प्रक्रिया से गुज़रा। मैंने खुद को एक Microsoft Microsoft साक्षात्कार में बड़े पैमाने पर नसों के कारण मूर्ख बनाया, लेकिन यह भी, मुझे अभी नहीं पता था कि क्या उम्मीद है या वे वास्तव में क्या देख रहे थे। मैंने केवल कुछ सरल समस्याओं को उड़ाने के लिए सबसे छोटी पथ समस्या का सामना किया। मैंने एक स्टैक के गलत अंत के मानों को पॉपअप किया, एक int atoi(char* value)कार्यान्वयन में भूल गयाint val = value[i] - '0';मुझे चरित्र का पूर्णांक मूल्य, और कई अन्य मूर्खतापूर्ण गलतियाँ देगा। मैं साक्षात्कार के साथ अधिकांश भाग के लिए खुश था, लेकिन फिर भी समझ गया कि मुझे प्रस्ताव क्यों नहीं मिला। मुझे यह महसूस करना था कि यह मेरी क्षमताओं पर इतना अधिक प्रतिबिंब नहीं है क्योंकि यह एक संकेतक था कि मुझे बस तब तक कोशिश करते रहना चाहिए जब तक मैं अपनी नसों को मास्टर करने में सक्षम नहीं हो जाता। आखिरकार मैंने कुछ कठिन सवालों के साथ कुछ साक्षात्कारों में प्रवेश किया और अपने सपनों की नौकरी को उतरा। यह वास्तव में है - ज्यादातर लोगों के लिए जो वास्तव में जानते हैं कि वे क्या कर रहे हैं - बस यह पता लगाने की बात है कि साक्षात्कारकर्ता क्या चाहते हैं, अपने आप में आश्वस्त रहें और उन्हें दे दें। इसमें कुछ समय लगता है।


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

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

अच्छी बात है, वे कह सकते हैं कि अगर यह सही था। हालांकि, मुझे लगता है कि इस मामले में मुझे सिर के ठीक ऊपर एक स्मैक की जरूरत थी जिसे "इस कोड के साथ कोई समस्या" प्राप्त हुई होगी। अगर मैं एक सामान्य व्यक्ति की तरह एक साधारण परीक्षण के मामले से गुज़रा होता, तो मैं ध्यान देता कि मेरा तर्क गलत था। ); इसके अलावा, अपने प्रश्न के लिए के रूप में, मैं दोनों का एक छोटा सा के साथ जाने के लिए जा रहा हूँ
ja_programmer

2
के लिए +1 No? Well let's test it। मैं उम्मीदवारों से साक्षात्कारों में फ़िज़ूल चर्चा लिखने के लिए कहता हूं। मैं उन्हें एक यूनिट टेस्ट लिखने के लिए भी कहता हूं। कभी-कभी उनकी फ़िज़ूल चर्चा विफल हो जाती है, लेकिन उनकी इकाई परीक्षण इस का पता लगाती है, जिससे वे इसे ठीक कर सकें - यह ठीक है। जिन लोगों को खारिज कर दिया जाता है, वे ऐसे हैं जो एक असफल समाधान लिखते हैं और फिर एक परीक्षण लिखते हैं जो यह पता लगाने में विफल रहता है। मैं उनसे पूछता हूं, क्या आप इस परीक्षा से खुश हैं, अगर वे असफल होते हैं, तो यही है।
Qwerky

12

मुझे ना कहना होगा, लेकिन आपके द्वारा दिए गए कारण के लिए नहीं, बल्कि यह कि आपने FizzBuzz सेक्शन अंतिम रखा। आपके कोड के काम करने के तरीके के साथ, यह कभी भी FizzBuzz को प्रिंट नहीं करेगा जब आप इसकी अपेक्षा करेंगे। जैसा कि ली ने टिप्पणी की थी, यह इसे 3 या 5 से विभाज्य नहीं हर मूल्य के लिए प्रिंट करेगा ।

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


3
जब भी i3 या 5 से विभाज्य नहीं होगा, तो यह फिज्बज प्रिंट करेगा
ली

1
हाँ, मुझे इसका एहसास है। मैं वास्तव में नहीं जानता कि मैं क्या सोच रहा था।
ja_programmer

@ क्षमा करें, आप सही कह रहे हैं, मेरा मतलब है कि जब वह चाहता था तो यह कभी नहीं छपेगा।
डेविड पीटरमैन

1
@mattnz नहीं, लेकिन मैं उम्मीद करता हूं कि कोई व्यक्ति 3 साल के अनुभव का दावा करता है कि यदि वह कथन को लिखने में सक्षम हो, और यहां तक ​​कि अगर वे इसे गलत पाते हैं, तो मुझे सही, जहां वे गलत थे, बताने में सक्षम हों। (ओपी के लिए कोई अपराध नहीं, बस जितना संभव हो उतना ईमानदार होने की कोशिश कर रहा है)
डेविड पीटरमैन 15

6
@mattnz: मैं इस तथ्य की तुलना में बग और संकलन के बारे में कम चिंतित हूं कि कार्यक्रम का तर्क पूरी तरह से गलत है। मैं ishree = i% 3 गलती के साथ रह सकता था, लेकिन "फ़िज़ प्रिंट" भाग ने मेरे लिए इसे मार दिया। मैं साक्षात्कारकर्ता को यह देखने के लिए एक छोटी सी कुहनी देना चाहूंगा कि क्या वे उस समस्या को पकड़ सकते हैं और ठीक कर सकते हैं, लेकिन यदि यह एक डीलब्रेकर नहीं है।
मिसको डे

9

नहीं, FizzBuzz का मुद्दा यह देखना है कि क्या आप बुनियादी सशर्त तर्क को पूरा करने में सक्षम हैं, जो सभी मामलों को कवर करता है। कुछ लोगों की राय के विपरीत, FizzBuzz मॉड्यूलर ऑपरेटर के बारे में नहीं है, जो टर्नरी ऑप्स या बूलियन ऑपरेंड्स को जानता है। यह सशर्त में एक सरल व्यायाम है और आप इसे विफल कर चुके हैं।

समस्या को संरचित किया गया है ताकि सभी "सुरुचिपूर्ण" दिखने वाला कोड कम से कम एक मामले को कवर करने में विफल हो।

स्वीकार्य जवाब:

if div3 print fizz
if div5 print buzz
if !div3 && !div5 print x


if div3 {
    print fizz;
    if div5 {
        print buzz;
    }
} else {
    if div5 {
        print buzz;
    } else {
        print x;
    }
}

2
आपका दूसरा उदाहरण भी भ्रमित करने वाला है।
ब्रायन

7

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

मैं एक साक्षात्कार के दौरान व्हाइटबोर्ड "परीक्षण" पर अधिक विस्तार में जाता हूं : आपके (व्हाइटबोर्ड) कोड का बैकअप लेने का वैध तरीका?

बेशक, आपका साक्षात्कारकर्ता मेरे जैसा कुछ नहीं हो सकता है। लेकिन आपके लिए यह पूरी तरह से संभव है कि कोड का निर्माण करते समय मेरे साथ एक साक्षात्कार हो , जो कि एक नन्हा सा है, और पूरी तरह से समान कोड के साथ असफल होने के लिए संभव है।


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

4

यदि मैं इसका मूल्यांकन कर रहा था, तो मैं निम्नलिखित चीजों की तलाश करूंगा:

  1. क्या उम्मीदवार कार्यान्वयन के लिए आगे बढ़ने से पहले आवश्यकताओं की स्पष्ट समझ प्राप्त करने का प्रयास करता है? क्या उम्मीदवार मेरी समस्या को हल करने या अपने प्रोग्रामिंग टूलबॉक्स में अपने पालतू उपकरण का उपयोग करना चाहता है? समस्याओं को हल करने के बारे में उम्मीदवार कैसे जाता है?
  2. क्या उम्मीदवार कम से कम एक प्रोग्रामिंग भाषा में धाराप्रवाह है?
  3. क्या उम्मीदवार के पास बूलियन तर्क की समझ है?
  4. उम्मीदवार अपने समाधान की गुणवत्ता सुनिश्चित करने के लिए क्या करता है?
  5. उम्मीदवार अपने कोड पर प्रतिक्रिया कैसे देता है?

-

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

मैं आपको # 2 और # 3 के लिए आंशिक क्रेडिट दूंगा। आप मापांक ऑपरेटर का उपयोग करना जानते थे, और इसमें काम करने वाले समाधान की संरचना थी, लेकिन दोनों के कुछ हिस्से छूट गए।

ऐसा लगता है कि आपने # 4 नहीं किया, जो आपको नीचे चिह्नित करेगा। भविष्य में, मैं व्हाइटबोर्ड से एक कदम वापस लेने और इसे पूरा करने से पहले आपके समाधान को देखने की सलाह दूंगा। मैं आपके समाधान के लिए इकाई परीक्षणों के एक जोड़े के माध्यम से भी (बिना संकेत दिए) कदम उठाऊंगा, जो कि आपके द्वारा गड़बड़ किए जाने पर जल्दी प्रदर्शित होगा।

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

-

इसलिए, अगर मैं अकेले इस पर मूल्यांकन कर रहा था, तो मैं "नो हायर" वोट करूंगा। इस तरह की चीजें प्रोग्रामिंग की क्षमता के बजाय एक प्रदर्शन कला को मापने के लिए होती हैं , लेकिन इसमें महारत हासिल करना अभी भी आपके करियर में मदद कर सकता है। तो मेरे, भविष्य के तकनीकी साक्षात्कार के लिए सिफारिशें होंगी:

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

  2. अपनी मान्यताओं को मान्य करने के लिए समस्या के बारे में प्रश्न पूछें।

  3. अपने समाधान को पूरा करने की घोषणा करने से पहले, व्हाइटबोर्ड से वापस कदम रखें और इसे देखें, और युगल सरल इकाई परीक्षण मामलों के माध्यम से चलें।


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

1
FizzBuzz की बात यह है कि जो भी साक्षात्कारकर्ता यह चाहता है। अगर मैं fizzBuzz या इसी तरह के व्यायाम का उपयोग कर रहा था, तो यह वही है जो मैं देख रहा हूं।
JohnMcG

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

2

किसी को किसी समस्या को हल करने के लिए उनके समाधान पर प्रतिक्रिया प्राप्त करने की क्षमता के बिना पूछना एक संदिग्ध दृष्टिकोण है, क्योंकि उन्हें सुधारने की अनुमति नहीं है।

यह सब परीक्षण हमें बताता है कि आपने बहुत अच्छे "टॉप-ऑफ-द-हेड" समस्या को सुलझाने के कौशल का प्रदर्शन नहीं किया।

यह आपको नियुक्त करने या न करने के निर्णय में तत्वों में से एक हो सकता है, लेकिन मेरे लिए यह निश्चित रूप से केवल एक ही नहीं होना चाहिए।

क्या उन्होंने आपको एक इकाई परीक्षण या निष्पादन वातावरण प्रदान किया है, जो गलतियाँ आपने की हैं, वह कम नहीं होगी।


1
आपकी क्षमताओं में सुधार करने का एक समय और स्थान है, लेकिन नौकरी का साक्षात्कार यह नहीं है।
RokL

क्या आपको लगता है कि एक भर्ती करने वाले को खुद को बेहतर बनाने के लिए उम्मीदवार की क्षमता की परवाह नहीं करनी चाहिए?
गुरिल्ला ०१

1
एक घंटे से अधिक समय के तराजू पर अपने आप में सुधार होता है। यह भर्ती करने के लिए महत्वपूर्ण नहीं है।
whatsisname

मुझे लगता है कि यह देखते हुए कि समस्या कितनी आसान थी, मुझे तनाव में रहने के बावजूद कोई गलती नहीं करनी चाहिए थी। कहा जा रहा है, मुझे लगता है कि इस तरह की समस्याओं में "सुधार" के लिए आधार है, अगर साक्षात्कारकर्ता उम्मीदवार को थोड़ा धक्का देता है। यहां तक ​​कि कुछ के रूप में सरल रूप में कह रही है "क्या आपको लगता है कि आप इसे बेहतर बना सकते हैं?" उम्मीदवार को संकेत देगा कि कुछ सही नहीं है या वह बेहतर कर सकता है। मुझे ऐसी कोई टिप्पणी नहीं मिली।
ja_programmer

@whatsisname: मुझे लगता है कि यह रिक्रूटर के लिए महत्वपूर्ण होना चाहिए, लेकिन उस तरीके से नहीं जैसा आप सोच सकते हैं। यदि उम्मीदवार को ठुकरा दिया जाता है, तो भर्तीकर्ता को यह समझने के लिए प्रतिक्रिया की आवश्यकता होती है कि ऐसा क्यों है, ताकि वह भविष्य में कंपनी के लिए बेहतर उम्मीदवार पेश कर सके, और इस उम्मीदवार को यह निर्देश दे सके कि वे भविष्य के लिए एक मजबूत उम्मीदवार कैसे बन सकते हैं। मुझे लगता है कि वहां पारस्परिक लाभ के लिए जगह है।
प्रातः
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.