2010-04-19 17 views
16

मैं उम्मीदवारों से पूछना नहीं चाहता questions, बल्कि उन्हें हल करने के लिए कई समस्याएं दें। इसका कारण यह है कि मैंने लोगों को सिद्धांत के साथ उत्कृष्ट देखा है, लेकिन जब वास्तविक दुनिया सी # मुद्दे से सामना किया जाता है, तो बस इसे हैक नहीं कर सका।कुछ अच्छे सी # साक्षात्कार की समस्याओं की तलाश

ये सी # समस्याएं इतनी सरल होनी चाहिए कि इसे हल करने में 1-20 मिनट से अधिक समय नहीं लगेगा, फिर भी इतना जटिल है कि मैं उन उम्मीदवारों को बाहर निकालने में सक्षम हूं जो कोड नहीं कर सकते हैं।

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

कोई अन्य उदाहरण मैं उपयोग कर सकता था?

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

+0

इस प्रकार का प्रश्न/चर्चा LinkedIn – Jaider

+0

के लिए बेहतर है यदि आप "बड़ी संख्या में लोगों को बुझाते हैं" तो वास्तव में आप इसे अधिक कुशल तरीके से कर सकते हैं। Https://tests4geeks.com/test/c-sharp आज़माएं - यह सी # कौशल परीक्षण है जो उन्हें देखे बिना भी लोगों को खरपतवार करने की अनुमति देगा। इस तथ्य के बावजूद यह एक प्रश्नोत्तरी है, परीक्षण ज्यादातर सैद्धांतिक प्रश्नों के बजाय कोड उदाहरणों का उपयोग करता है। –

उत्तर

23

मुझे कुछ समस्याएं हल करना पसंद है जो मुझे वास्तव में हल करना था; यह उस से नौकरी के लिए अधिक प्रासंगिक नहीं है।

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

हाल ही में मैं वृक्ष मैनिपुलेशन एल्गोरिदम के बारे में प्रश्न पूछता हूं, क्योंकि संकलक पेड़ में हेरफेर के बारे में है। या मोनैड का उपयोग करके नए ऑपरेटरों को कोडेजन कैसे करें, इस तरह LINQ काम करता है।

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

+0

तो जिज्ञासा से बाहर, वीबीस्क्रिप्ट में उपयोग के लिए डेटडिफ को कैसे कार्यान्वित किया जाता है? – AngryHacker

+0

@angryhacker: http://blogs.msdn.com/ericlippert/archive/2009/06/01/bug-psychology।एएसपीएक्स –

+1

लिपर्ट। वाह, बहुत रोचक। मैं इन चीजों में किसी भी तरह से विशेषज्ञ नहीं हूं, लेकिन 30 दिसंबर, 18 99 के बाद से सेकंड की संख्या की गणना करने के लिए केवल 64-बिट पूर्णांक का उपयोग क्यों न करें। महत्वपूर्ण संख्याओं के साथ युगल का उपयोग करने के बजाय। लगता है जैसे यह बहुत आसान होगा और आपको पूर्णांक गणित के कारण एक perf लाभ मिलेगा। – AngryHacker

19

भाषा पुस्तकालयों या भाषा के अस्पष्ट कोनों (असुरक्षित, गतिशील, ..) के ज्ञान के लिए पूछें; स्मार्ट लोग इन्हें उठा सकते हैं या उन्हें देख सकते हैं।

मैं कुछ वास्तविक दुनिया (वाहन, जानवरों, ...) का प्रतिनिधित्व करने के लिए एक श्रेणी पदानुक्रम तैयार करने के लिए कहूंगा। यह आम तौर पर उन लोगों को बाहर निकाल देता है जो वस्तुएं नहीं लेते हैं। उन्हें इंटरफ़ेस के साथ भी करें। उन्हें एक स्ट्रिंग को उलट दें - वृद्धों में कोई नुकसान नहीं, लेकिन सोना

+2

बहुत से लोग "कार के लिए ऑब्जेक्ट मॉडल डिज़ाइन" प्रकार पसंद नहीं करते हैं। बड़ी समस्या यह है कि वे सामान्य रूप से संदर्भ नहीं देते हैं कि आप ओओ मॉडल क्यों चाहते हैं। मुझे यह आलेख Google से थोड़ी मदद के साथ मिला: http://www.nomachetejuggling.com/2010/04/06/avoiding-the-big-design-interview-question/ –

+0

लेकिन यह सच है कि आपको नहीं करना चाहिए चीजों के बारे में पूछें कि कोई भी Google एक मिनट में, या अस्पष्ट चीजें जो एक स्मार्ट व्यक्ति जल्दी से सीख सकता है जब उन्हें पता होना चाहिए। इसका एकमात्र अपवाद यह है कि यदि वे खुद को सी # के मास्टर के रूप में विज्ञापन करते हैं, तो मामले में उन्हें कुछ अस्पष्ट प्रश्न पूछना उचित है, क्योंकि उन्हें पहले से ही कई अस्पष्ट चीजों में आना चाहिए था। –

+0

@ डेविड जॉनस्टोन - मैं सहमत हूं, अगर कोई मुझे बताता है कि वे एक सी ++ विशेषज्ञ हैं (मैं हमेशा उन्हें 10 में से खुद को स्कोर करने के लिए कहता हूं) मैं उनसे पूछता हूं कि 'उत्परिवर्तनीय' का अर्थ क्या है। 100% विफलता दर अब तक :-(सी # के साथ 'गतिशील' के लिए समान है - हालांकि मेरे पास – pm100

3

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

10

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

+4

के लिए 1 सही उत्तर है, यह सामान्य अभ्यास के लिए एक है और मेरी राय में अपमानजनक है। मैंने इसे चरम सीमा तक देखा है। यह सिर्फ मेरी आँखों में गंध करता है। –

+0

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

+1

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

2
+0

[एंटरप्राइज़ फिज बज़] (http://codermike.com/if- कुछ मूल्यवान है) –

3

कुछ हल्का एल्गोरिथम।

  1. एक स्ट्रिंग है जो स्ट्रिंग एक पालिंड्रोम है, और अन्यथा गलत है, तो एक विधि लिखें।
  2. स्ट्रिंग.Substring (int, int) विधि को पुन: कार्यान्वित करें।

वस्तु-उन्मुख डिजाइन के बारे में कुछ भी।

  1. एक चेकर्स गेम डिज़ाइन करें (यानी, कक्षाएं और कुछ तरीकों को परिभाषित करें)।
15

मैं आपसे सहमत हूँ, यह आश्चर्य की बात है कि कितने लोगों को अनुभव होने का दावा और आपको पता है कि यह सब उन्होंने किया बॉक्स पढ़ रहा था ...

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

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

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

उदाहरण: मुझे एक उदाहरण दें जहां कनेक्शन स्ट्रिंग रह सकती है? यदि आपको एक पृष्ठ से दूसरे पृष्ठ पर आईडी पास करने की आवश्यकता है, तो आपके विकल्प क्या हैं? यदि किसी पृष्ठ को लोड होने में 5 मिनट लगते हैं, तो मुझे बताएं कि आप समस्या निवारण के बारे में कैसे जाएंगे। अगर मेरे पास एक वेब पेज था जिसमें उस पर एक बटन था, तो मैं उस बटन को कैसे केन्द्रित करूं? मुझे व्यूस्टेट छंद सत्र स्थिति में चर भंडारण के बीच अंतर बताएं?

आपको सब कुछ पता नहीं है, लेकिन वरिष्ठ स्तर की स्थिति के लिए साक्षात्कार करने वाले अस्सी प्रतिशत लोगों को इन प्रकार के प्रश्नों का 10% सही मिलेगा। (और फोन साक्षात्कार के 70% पर आप उन्हें उत्तर के लिए गुगलिंग सुनेंगे - अच्छी बात ये है कि आप आसानी से Google के प्रश्नों के प्रकार नहीं हैं।)

SQL सर्वर समान है। वे कहते हैं कि वे एसक्यूएल सेवर विकास में खुद को 8 या 9 रेट करेंगे, लेकिन फिर 10% प्रश्न प्राप्त करें। फिर से प्रश्न यह देखने के लिए हैं कि क्या आप अच्छी तरह से पहने हुए रास्ते पर हैं।

उदाहरण: यदि आपके पास ग्राहकों की एक टेबल और ऑर्डर की एक तालिका थी, तो आप उन ग्राहकों को कैसे ढूंढेंगे जिनके पास कोई ऑर्डर नहीं था? क्लस्टर्ड इंडेक्स क्या है? अगर मेरे पास डेवलपर्स की एक टेबल और परियोजनाओं की एक तालिका थी, तो मैं इसे कैसे स्थापित करूं ताकि परियोजनाओं पर कई डेवलपर हो सकें और डेवलपर कई परियोजनाओं पर हो सकते हैं?

आप SQL सर्वर में "वर्षों" के लिए कैसे विकसित कर सकते हैं और इन अवधारणाओं को नहीं मारा है? उम्मीदवारों का एक उच्च प्रतिशत इन उत्तरों में से लगभग कोई भी अधिकार नहीं मिलता है !! (मुझे लगता है कि SQL सर्वर बॉक्स जानकारीपूर्ण नहीं है।)

तो यदि आप कहते हैं कि आप एक वरिष्ठ स्तर के लड़के हैं और आप "सोया un revelador de software" (मैं एक सॉफ्टवेयर डेवलपर हूं) कह सकता हूं, लेकिन यह नहीं कह सकता "वह एसो एंटो एंटीस" (मैंने यह किया है इससे पहले), मुझे नहीं लगता कि आप वरिष्ठ स्तर के व्यक्ति हैं जिन पर आप दावा कर रहे हैं।

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

+0

+1 सीधा प्रश्नों के महान उदाहरण –

6

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

मुझे लगता है कि वहाँ कई फायदे होगा:

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

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

+0

मुझे यह भी विश्वास है कि प्रोग्रामिंग साक्षात्कार कैसे आयोजित किए जाने चाहिए। – Krythic

संबंधित मुद्दे