मैं हाल ही में बहुत से .NET प्रोग्रामर का साक्षात्कार कर रहा हूं और मैंने उनसे मुलाकात नहीं की है जो जानता है कि आईडीस्पोज़ेबल क्या है या इसका क्या उपयोग किया जाता है। क्या यह सचमुच अनुचित है कि 4-6 साल के अनुभव वाले व्यक्ति को यह पता चल जाए?साक्षात्कार प्रश्न: क्या समझने में मुश्किल है?
उत्तर
नहीं, क्षमा करें। अगर उन्हें IDisposable
नहीं पता है, तो वे .NET में ऑब्जेक्ट जीवनकाल को नहीं समझते हैं, इसलिए यह मानना सुरक्षित है कि उन्हें पता नहीं है कि GC
काम करता है। किसी ऐसे व्यक्ति के लिए जो 4-6 साल का अनुभव दावा करता है, वह या तो "ड्रैग-एंड-ड्रॉप" डेवलपर या झूठा है। किसी भी तरह से, कोई किराया नहीं।
ठीक है, उसके पास पहले साल का अनुभव 4-6 बार हो सकता है :) – kemiller2002
@ केविन: आपने सिर पर नाखून मारा। काम करने वाले (लेकिन बुरी तरह लिखित) सॉफ़्टवेयर लिखने के बारे में जानने की आवश्यकता के मुकाबले बहुत से प्रोग्रामर कई वर्षों तक सीखते हैं। –
-1, यह उत्तर सिर्फ यह मानता है कि डेवलपर को IDISposable नहीं पता है, वह – RollRoll
मुझे ऐसा नहीं लगता। यदि आप समझ में नहीं आ रहे हैं कि IDISposable क्या है, तो using
कथन का उपयोग कब करें, आप उचित तरीके से कैसे समझ सकते हैं?
मेरा अनुमान है कि बहुत से लोग कथन का उपयोग करने में कुछ कोड डालना चाहते हैं, लेकिन यह नहीं जानते कि क्यों डरावना है।
कार्गो पंथ प्रोग्रामिंग हर जगह होता है। हमें आश्चर्य नहीं होना चाहिए कि यह .NET के साथ भी होता है। – Oded
ओह मुझे गलत मत समझो, मैं इससे आश्चर्यचकित नहीं हूं। जब आप कोड देखते हैं तो आपको थोड़ा परेशान होता है और खुद से पूछना पड़ता है "क्या उन्हें वास्तव में ऐसा करने का मतलब था, या ऐसा किया गया था, क्योंकि उन्हें यह नहीं पता था?" – kemiller2002
@ ओडेड, मुझे एलओएल करना पड़ा - बहुत से लोग नहीं जानते कि एक कार्गो पंथ क्या है ... – code4life
मुझे आश्चर्य है कि IDisposable का ज्ञान बहुत कम है। जब भी आपके पास कोई संसाधन हो जो बंद होना चाहिए, और आप उपयोग कथन का उपयोग नहीं करते हैं, तो आपको IDISposable का उपयोग करना होगा।
दरअसल, आपको उस वर्ग का उपयोग करना होगा जो * लागू * आईडीस्पोज़ेबल है। और चूंकि मैंने कभी भी देखा है या इस्तेमाल किया है कि अधिकांश डिस्पोजेबल अपने अंतिम रूप में खुद को निपटाता है, इसे निपटाना भूलना संभव है() इसे, कभी नोटिस नहीं, और कोई समस्या नहीं है। – cHao
आज नौकरी साक्षात्कार के बाद मेरी इच्छा है कि मुझे ऐसा प्रश्न पूछा गया हो! सभी प्रोग्रामर को IDisposable के बारे में पता होना चाहिए। using
कथन के कारण यह समझने के लिए तर्कसंगत रूप से सबसे महत्वपूर्ण इंटरफ़ेस है।
मुझे यह असंभव लगता है कि 4-6 साल के अनुभव वाले प्रोग्रामर को इसके बारे में पता नहीं है।
मैं उम्मीदवारों को उस स्तर के अनुभव के साथ पहचानने के लिए उम्मीद कर सकता हूं। हालांकि, यह एक जटिल विषय है, यदि आप सभी विवरणों में खोदना चाहते हैं। Joe Duffy wrote a rather elaborate post on the subject some years ago। मैं उम्मीद नहीं करता कि सभी डेवलपर्स उस पोस्ट में सभी गॉरी विवरणों को कवर करने में सक्षम होंगे।
मैं सिर्फ बुनियादी समझ के बारे में बात कर रहा हूं, मैं इस बात से सहमत हूं कि आपको साक्षात्कार संदर्भ में डफी के पद के बारे में बात करने में सक्षम नहीं होना चाहिए। –
हां, यह अनुचित है। कॉलेज युग स्तर + 3 से 5 साल (हमेशा पसंदीदा उम्मीदवार) के कुछ प्रोग्रामर ने कभी भी "अप्रबंधित संसाधन" जैसा दिखने के लिए शुद्ध Win32 कोड लिखा है। यह आमतौर पर कभी भी अपने कॉलेज के वर्षों में नहीं आता है, जावा आजकल शिक्षण भाषा है, एक ऐसी भाषा जिसमें समान पैटर्न नहीं है।
बड़ी संख्या में .NET प्रोग्रामर हैं जिन्होंने वर्षों के लिए .NET कोड लिखा है और के बिना उत्पादन कोड भेज दिया है कुछ भी निपटाना। मैं अन्य साक्षात्कार के सवालों की सिफारिश करता हूं:
- जावा को IDISposable पैटर्न की आवश्यकता क्यों नहीं है?
- .NET प्रोग्रामर कभी भी कुछ निपटाने के साथ क्यों नहीं निकलते हैं?
रोटे प्रोग्रामिंग की बजाय अंतर्दृष्टि के लिए परीक्षण। दूसरे साक्षात्कार के लिए शायद अधिक उपयुक्त?
मैं एक डेवलपर प्रदान करूंगा जिसका प्राथमिक अनुभव अन्य भाषाओं से आता है, वह पहचानने योग्य नहीं हो सकता है, लेकिन इसका मतलब यह भी है कि वे ** ** (अभी तक) एक सक्षम .NET डेवलपर नहीं हैं। भर्ती मानदंड के रूप में इस्तेमाल किया जाना चाहिए या नहीं, एक पूरी तरह से अलग विषय है। कोई भी जो .NET के अनुभव के "वर्षों" का दावा करने का दावा करता है, जो कचरा संग्रह की मूल बातें नहीं समझता है, खासकर जब .NET नौकरियों के लिए आवेदन करते हैं, तो .NET की सतह की बहुत समझ है। इसलिए, वे या तो अपने अनुभव को अतिरंजित कर रहे हैं, या संभवतः गुणवत्ता डेवलपर जोनाथन की तलाश नहीं है। – hemp
मैं ऐसे अभ्यर्थियों को किराए पर लेता हूं जिनके पास वास्तविक जीवन समस्या का अनुवाद एल्गोरिदम में अनुवाद करने के लिए सहज घोड़े की भावना है। बुकी ज्ञान कभी भी एक समस्या नहीं है, आसानी से कोड समीक्षा द्वारा कवर किया जाता है। घोड़े की भावना और अनुभव कमजोर जुड़े हुए हैं। –
एक .NET प्रोग्रामर जिसने कभी निपटान नहीं किया है वह एक प्रोग्रामर भी होगा जिसने कभी डेटाबेस या फ़ाइल एक्सेस का सामना नहीं किया है। वे दोनों एक निश्चित नो-किराया हैं जहां मैं काम करता हूं। –
यह किसी IDisposable
को समझने के लिए उम्मीद करना अनुचित नहीं है, लेकिन मैं यह भी देखा है कि यहाँ स्टैक ओवरफ़्लो पर, IDisposable
-themed सवालों के घटित होने की उनकी आवृत्ति के मामले में केवल Linq सवाल से पीछे नहीं हैं। यह स्पष्ट रूप से स्पष्ट है कि बहुत कम प्रोग्रामर वास्तव में इसके बारे में सबकुछ समझते हैं, और मैं ईमानदारी से यह सुनिश्चित नहीं करता कि क्यों; यह नहीं हो सकता है कि वे सभी अयोग्य हैं, मुझे लगता है कि यह सिर्फ इतना है कि इस पर बहुत कम शिक्षा है।
हम में से जो लोग डेल्फी या C++ से आया था और अतीत में मैनुअल संसाधन प्रबंधन करने के लिए पड़ा है के लिए, यह blindingly स्पष्ट है, लेकिन लोग हैं, जो जावा या पायथन या यहाँ तक कि VB में सीखा है, इतना नहीं के लिए। और यदि आप किसी ऑब्जेक्ट को Dispose
भूल जाते हैं तो आपको कभी भी कंपाइलर चेतावनी नहीं मिलेगी; यदि आप .NET प्रोग्रामिंग के रूप में आत्म-सिखाए जाते हैं, तो आप वास्तव में एक समस्या के बिना वर्षों तक आसानी से जा सकते हैं।
तो, मैं तुरंत नहीं किसी एक साक्षात्कार में विफल हो जाएगा अगर वे अर्थ और IDisposable
का समुचित उपयोग समझ में नहीं आया, लेकिन मैं इसे एक लाल झंडा है, तो कई अन्य चीजों की तरह विचार करेगा । यह लगभग उतना ही बुरा नहीं है (उदाहरण के लिए) एक पेड़ की संरचना को पार करने या FizzBuzz लिखने में असमर्थ होने के बारे में नहीं जानते।
मुझे लगता है कि यह पूछने के लिए एक अच्छा सवाल है, और अगर किसी ने इससे पहले कभी नहीं सुना था, तो शायद मैं एक बहुत ही त्वरित स्पष्टीकरण देता हूं और फिर एक अनुवर्ती प्रश्न पूछता हूं: ".NET कचरा कलेक्टर केवल प्रबंधित कर सकता है मेमोरी। IDisposable
आपको अन्य प्रकार के संसाधनों को स्पष्ट रूप से मुक्त करने देता है। क्या आप इस श्रेणी में आने वाले किसी भी संसाधन के बारे में सोच सकते हैं? " यदि वे का उत्तर नहीं दे सकते हैं तो प्रश्न या तो फिर मुझे चिंता होगी, क्योंकि यह न केवल .NET Framework में एक विशिष्ट इंटरफ़ेस का अज्ञानता बल्कि सामान्य रूप से संसाधन प्रबंधन का संकेत देगा। यहां तक कि यदि आपको स्कूल में जावा सिखाया गया था, तो आपको यह समझना चाहिए कि आपको खोलने वाली फ़ाइलों और कनेक्शन को बंद करने की आवश्यकता है।
एक और लाल झंडा, शायद एक बड़ा भी, अगर कोई कहता है कि आपको को using
ब्लॉक में डालने की आवश्यकता है लेकिन यह समझा नहीं सकता है कि नियम (यानी फैक्ट्री विधियों) के किसी अपवाद को क्यों सूचीबद्ध या सूचीबद्ध किया गया है। यह मेरे लिए बदतर है क्योंकि यह कार्गो-पंथ प्रोग्रामिंग प्रवृत्तियों का संकेत हो सकता है।
तो सवाल पूछते रहें, लेकिन शायद आपके जवाबों को गुस्सा करें। साक्षात्कार तुरंत समाप्त न करें अगर कोई इसका जवाब नहीं दे सकता है। इस बात पर विचार करें कि एक .NET प्रोग्रामर वास्तव में में है जो इसे लिखने के लिए सीखने के लिए (बग्गी) सॉफ़्टवेयर लिखने के लिए है।
- 1. सी # संभावित साक्षात्कार प्रश्न ... बहुत मुश्किल है?
- 2. Google साक्षात्कार प्रश्न
- 3. अच्छा आर्किटेक्चर साक्षात्कार प्रश्न
- 4. MySQL साक्षात्कार प्रश्न
- 5. सी साक्षात्कार प्रश्न
- 6. एचटीएमएल साक्षात्कार प्रश्न
- 7. साक्षात्कार प्रश्न: रिवर्स जोड़े
- 8. लुसीन साक्षात्कार प्रश्न
- 9. डब्ल्यूपीएफ/सिल्वरलाइट साक्षात्कार प्रश्न?
- 10. साक्षात्कार प्रश्न: factorials और कैशिंग
- 11. सी # जेनेरिक्स - अजीब साक्षात्कार प्रश्न
- 12. फ़्रंट-एंड डेवलपर साक्षात्कार प्रश्न
- 13. सीयूडीए प्रोग्रामिंग पर साक्षात्कार प्रश्न?
- 14. क्लासिक स्ट्रिंग मैनिपुलेशन साक्षात्कार प्रश्न?
- 15. साक्षात्कार प्रश्न में ज्ञान के लिए एसक्यूएल
- 16. क्या हाइबरनेट साक्षात्कार के प्रश्न आप पूछते हैं?
- 17. हैशटेबल और डिक्शनरी से संबंधित साक्षात्कार प्रश्न
- 18. JQuery साक्षात्कार प्रश्न (एडवांस तक शुरुआती से)
- 19. एक अभ्यास साक्षात्कार के प्रश्न का उत्तर
- 20. सिंगलटन कोड अंश, एक साक्षात्कार-प्रश्न
- 21. जावा: सॉफ़्टवेयर परीक्षक के लिए साक्षात्कार प्रश्न?
- 22. सी ++ साक्षात्कार प्रश्न से जुड़े वर्ग संकेत
- 23. मेरी साक्षात्कार प्रश्न पर विचार की जरूरत है - .net, सी #
- 24. देते साक्षात्कार
- 25. वैरिएबल ग्लोबल स्कोप समझने के प्रश्न
- 26. साक्षात्कार:
- 27. साक्षात्कार प्रश्न: ऑब्जेक्ट और ऑब्जेक्ट उन्मुख भाषाओं के बीच अंतर
- 28. सी # और वीबीनेट समानताओं/मतभेदों पर साक्षात्कार प्रश्न
- 29. एक्सएसएलटी लाइन काउंटर - क्या यह मुश्किल है?
- 30. शुरुआती प्रश्न: बाध्यकारी क्या है?
संबंधित, लेकिन थोड़ा अलग नोट पर, अक्सर मुझे उम्मीदवार के लिए "निपटान पैटर्न" का वर्णन करने के लिए साक्षात्कार में पूछा जाता है। जबकि मुझे पता है और निपटान पैटर्न का उपयोग किया है, मुझे पता है कि यह एक डेवलपर की गुणवत्ता या गहराई का उपयोगी संकेतक नहीं है। आंशिक रूप से क्योंकि यह ऐसा कुछ है जिसे आप केवल * कार्यान्वित कर रहे हैं * आईडीस्पोजेबल (बनाम * * इसका उपयोग करके - पन इरादा), और आंशिक रूप से क्योंकि यह किसी भी तरह का एक अच्छा पैटर्न नहीं है। – hemp