2009-10-22 12 views
8

एक साक्षात्कारकर्ता मुझे तर्क दिया,सी # जेनेरिक्स - अजीब साक्षात्कार प्रश्न

उन्होंने उदाहरण प्रदान की (पैरामीटर पूर्णांक कश्मीर, पूर्णांक घ सामान्य नहीं हैं)

public static void PrintThis<T>(T a, T b, T c, int k,int d) 
{ 

} 

वह "Genrics पूरी तरह से Genrics नहीं हैं" मुझसे पूछा कि क्या मैं अभी भी साबित करता हूं कि यह जेनेरिक है, मुझे अगले दौर में लेने की अनुमति होगी। मुझे नहीं पता था कि वह मुझसे क्या उम्मीद कर रहा है, और इस तरह का उदाहरण दिखाकर उसका क्या मतलब है।

मुझे मार्गदर्शन करें कि इस तरह के एक अजीब साक्षात्कार का स्मार्ट तरीके से सामना कैसे करें?

अग्रिम धन्यवाद।

+14

फिर भी एक और डंबस साक्षात्कार प्रश्न, केवल हंसी को दबाने की आपकी क्षमता को मापने के लिए डिज़ाइन किया गया। –

+1

मुझे यकीन नहीं है कि साक्षात्कारकर्ता किस जवाब की तलाश में था, यह जानने के बिना यह एक उत्तरदायी प्रश्न है। हम सभी अनुमान लगा सकते हैं, लेकिन हम अधिकतर जानकारी के बिना सभी गलत होंगे। – Lee

+0

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

उत्तर

3

सभी सामान्य एक पैरामीटर प्रकार है। मुझे नहीं पता कि आपका साक्षात्कारकर्ता क्या प्राप्त कर रहा है। क्या वह दावा करता है कि विधि पूरी तरह से सामान्य नहीं है क्योंकि सभी विधि पैरामीटर में सामान्य प्रकार नहीं है?

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

23

कुछ लोग पागल हैं। आपको मुस्कान और चिल्लाओ।

+10

अरे, चलो। आप इसके लिए प्रतिनिधि हो रहे हैं ?? –

+1

लैरी निवेन ने एक बार लिखा था, "लेजर के साथ आदमी पर **** फेंकें।" – Lee

+0

गलत लोगों द्वारा लिखे गए यह अंगूठे नीचे हो सकते हैं – Letterman

2

जहां तक ​​मेरा संबंध है, यह एक सामान्य विधि है, इस तथ्य के आधार पर कि इसमें एक प्रकार पैरामीटर है। यह कि सभी पैरामीटर सामान्य प्रकार के नहीं हैं इससे कोई फर्क नहीं पड़ता।

11

तथ्य यह है कि k और d हमेशा int विधि किसी भी कम सामान्य नहीं है कर रहे हैं, यह सिर्फ b & c का मतलब है, कि इन मानकों हमेशा inta के प्रकार की परवाह किए बिना कर रहे हैं।

3

शायद उनका मतलब है कि a, b, और c एक ही प्रकार का होना चाहिए, लेकिन यह बेवकूफ है।

+0

यदि यह मामला है, तो बस उत्तर दें कि विधि हस्ताक्षर हो सकता है: 'सार्वजनिक स्थिर शून्य परीक्षण विधि (टी 1 ए, टी 2 बी, टी 3 सी, int के, int डी) ' – jasonh

4

यह मानते हुए कि साक्षात्कार प्रश्न एक असली एक है, मैं googled "जेनेरिक्स नहीं हैं" + स #, और इन मिल गया:

  • जेनेरिक्स सी ++ टेम्पलेट्स नहीं हैं
  • जेनरिक सिर्फ संकलक नहीं कर रहे हैं जादू
  • जेनरिक नहीं हैं
  • जेनिक्स न केवल सी # भाषा का निर्माण है; जेएलजी को सीएलआर के साथ परिभाषित किया गया है।
  • जेनेरिक्स कार्य करने के लिए ही सीमित नहीं हैं परिभाषाओं
  • जेनेरिक्स सिर्फ संग्रह के लिए इस्तेमाल नहीं कर रहे हैं
  • जेनेरिक्स वर्गों तक सीमित नहीं हैं
  • सी # विलोपन का एक प्रकार करता है, लेकिन यह नहीं जावा के रूप में के रूप में गंभीर है, और कारण यह है कि जेनेरिक सी #-विशिष्ट विशेषता नहीं है, बल्कि सुविधा है जो .NET, पर काम करनी चाहिए जो एकाधिक भाषाओं का समर्थन करती है।

मुझे "जेनेरिक पूरी तरह से सामान्य नहीं हैं" या "जेनेरिक हमेशा सामान्य नहीं होते" के लिए कोई मिलान नहीं मिला है।

तो वहां। मज़े करो।

+0

क्या मजेदार है? उन्होंने एक और सवाल पूछा कि क्यों निर्माता सामान्य नहीं हो सकते? वहां पर डार्बैक क्या है? ऐसे लड़के का सामना कैसे करें? हम्म मंदी अच्छी तरह से खेलती है। – udana

+0

आनंद लें आनंद लें सभी का आनंद लें। अगर मैं इस तरह के साक्षात्कार में भाग लेता हूं तो मैं सब भूल जाऊंगा। – udana

13

दिन ... सपना देख ... पर ... कंप्यूटर ....

"तुम उसे प्रश्न दिया है?"

"हाँ"

"उन्होंने आप बताया यह बी एस था?"

"नहीं"

"तुम उसे StackOverflow पर सवाल का जवाब देने के लिए कैसे पूछ मिला?"

"हाँ"

"अच्छा, अब हम जानते हैं। यहाँ में अगले आदमी प्राप्त करें"

"Bwah ... हा ... हा ..." दोहराने ...

2

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

ऐसा लगता है कि इस साक्षात्कारकर्ता यहाँ दिए गए उत्तर की तलाश में है - अगर अपने प्रश्न के अपने शब्दों अपने इरादे कैप्चर करता है, तो वह तर्क देते हैं नहीं कर रहा है उस जेनरिक सामान्य नहीं हैं, वह है कि क्या आप समझदारी से "genericity चर्चा कर सकते हैं पूछ रहा है "निर्दिष्ट विधि का।

जैसा कि कई अन्य ने ध्यान दिया है, यह इस तथ्य के आधार पर एक सामान्य विधि है कि यह उपयोगकर्ता को बाद में फ़ंक्शन की दृश्यमान विशेषता (इस मामले में, पहले 3 पैरामीटर के प्रकार) निर्दिष्ट करने की अनुमति देता है । तथ्य यह है कि के और डी गैर-जेनेरिक पैरामीटर हैं जो एक लाल हेरिंग होने लगते हैं।

यह बताने में सक्षम होने के नाते कि उत्तर कम से कम साबित होगा कि आपके पास "सामान्य" साधनों की एक संक्षिप्त धारणा नहीं है - इस मामले में, एक सामान्य कार्य का कॉल-टाइम विशेषज्ञता।

0

@ उदाना, क्या यह हो सकता है कि साक्षात्कारकर्ता आपको एक प्रश्न पूछकर आपकी प्रतिक्रिया को गेज करने का प्रयास कर रहा था जिसका कोई मतलब नहीं है?

मैंने एक बार एक साक्षात्कार किया जिसमें परीक्षण प्रश्न पूछा गया कि "Winform का डिफ़ॉल्ट मार्जिन आकार क्या है"। मैंने जवाब दिया "मैं नहीं जानता और परवाह नहीं करता, क्योंकि मैं कन्स्ट्रक्टर में इच्छित कोई भी मूल्य निर्धारित कर सकता हूं"

साक्षात्कार के अंत में, साक्षात्कारकर्ता ने मुझे बताया कि सवाल यह देखने के लिए एक चाल थी कि कौन अनुमान लगाएगा और कौन ईमानदार होगा जब उन्हें कुछ नहीं पता था।

1

हमम, देर से पोस्टिंग, लेकिन कभी भी देर से बेहतर नहीं!

  1. टेस्ट अपने ज्ञान: :-)

    अपने साक्षात्कारकर्ता मान लिया जाये कि अपने सामान जानता है, यह वास्तव में सवाल की तरह है कि एक साक्षात्कारकर्ता क्रम में आपसे पूछता है निम्न कार्य करने के लिए है।

  2. आपको एक बयान के साथ परीक्षण करें कि वह जानता है कि आप इस पर प्रतिक्रिया कैसे करेंगे, और आप इसका उत्तर कैसे देंगे।
  3. आपको एक ऐसे विषय के बारे में आसानी से बात करने और बात करने के लिए बहस में शामिल किया गया है जिसके बारे में आपको उम्मीद है कि आपको कुछ परिचितता है।

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

दिन के अंत में, यदि आप उत्तर नहीं जानते हैं या सवाल समझते हैं, तो आप साक्षात्कार में ऐसा कहने से बेहतर हैं, और यदि आप किसी कथन से असहमत हैं, तो इसे आराम करने का मौका मानें और साक्षात्कार के दौरान सवालों का जवाब देने के बजाय चर्चा में शामिल हों।

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

0

सचमुच सवाल उठाते हुए:

  1. उसे दिखाती है कि आप स्ट्रिंग, पूर्णांक के रूप में टी के साथ फोन और एक बटन कह सकते हैं।
  2. उसे संकलित जेनेरिक कोड दिखाएं - मुझे लगता है कि यह आईएलडीएएसएमएम के साथ है, आप संदर्भ प्रकारों के लिए सामान्य विधि देख सकते हैं। आप मूल्य प्रकारों के लिए जेनेरिक विधि के ट्यून किए गए संस्करण भी देख सकते हैं, लेकिन मुझे याद नहीं है कि कैसे। शायद कोई और कर सकता है।
0

हे जेनिक्स में यह एक अच्छा दिमागी सवाल है। साक्षात्कारकर्ता सिर्फ जेनेरिक में आपका परिचित होना जानना चाहता था। विधि नाम में उपयोग किया गया है जब आप विधि को कॉल कर रहे हैं तो बस निर्दिष्ट करें। यह कॉल के दौरान निर्दिष्ट किया जा सकता है या नहीं भी हो सकता है।

PrintThis("a","b", "c", int k,int d) // to specify <T> as string. 

यह केवल संकलन के दौरान लिया जाएगा। इसलिए निर्दिष्ट 3 पैरामीटर केवल उसी प्रकार के होंगे।

PrintThis<string> ("a","b", "c", int k,int d) // explicitly specifying the type when you call the method. 

इसलिए हर तरह से हम केवल निर्दिष्ट करते हैं कि यह दृढ़ता से टाइप किया गया है।

0

मुझे आपके द्वारा दिए गए प्रश्न या आपके द्वारा दिए गए उत्तर को जानने में रुचि होगी, इससे पहले कि यह प्रश्न आपको निकाल दिया गया हो !!!

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

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