खूंखार सी # प्रोग्रामिंग साक्षात्कार परीक्षण - कोई सलाह? [बन्द है]


21

मेरे पास एक संभावित सी # देव नौकरी है, लेकिन इससे पहले कि मैं साक्षात्कार कर सकता हूं, मुझे रोजगार एजेंसी के साथ एक परीक्षा उत्तीर्ण करनी होगी।

अब भले ही मैं 10 वर्षों के प्रोग्रामिंग अनुभव और सी # के साथ इन वर्षों में 3 से अधिक के साथ एक वरिष्ठ डेवलपर हूं, मैं वास्तव में इस परीक्षण के लिए उत्सुक नहीं हूं और मुझे लगता है कि एक अच्छा मौका है कि मैं इसे विफल कर दूंगा।

मेरे अनुभव में ये परीक्षण अप्रत्याशित हैं जो आपसे पूछते हैं कि आप रोजमर्रा के काम की परिस्थितियों में शायद ही कभी उपयोग करते हैं।

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

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

संपादित करें: इस तरह के परीक्षण लिखने की मेरी चिंताओं को और अधिक उचित ठहराने के लिए - निम्नलिखित प्रश्न पर विचार करें:

12) एक घटना है:

   a) The result of a users action - correct answer
   b) The esult of a party
   c) code to force users action

परीक्षण के अनुसार सही उत्तर ए है, लेकिन जब से मैं एसओए विकास कर रहा हूं (अक्सर जब घटनाएं सिस्टम ईवेंट पर आधारित हो सकती हैं (उपयोगकर्ता क्रियाएं नहीं) तो मैं 100% सुनिश्चित हूं कि एक घटना को संचालित नहीं करना है एक उपयोगकर्ता कार्रवाई। यह भी एक सी # प्रश्न (एक ASP.net सवाल नहीं) था। मेरी समझ के आधार पर, मैं वास्तव में एक सही जवाब नहीं दे सकता था, लेकिन बी बहुत से सबसे अच्छा लगता है (यदि पार्टी की परिभाषा है: कोई भी इकाई जो किसी घटना को ट्रिगर कर सकती है। इस तरह के प्रश्न मुझे डराते हैं।


4
यदि आप 'वरिष्ठ डेवलपर' हैं, और आप तीन साल से C # दिन-प्रतिदिन का उपयोग कर रहे हैं, तो आपको ठीक होना चाहिए। ये परीक्षण आम तौर पर उन लोगों को मात देने के लिए होते हैं जो भाषा या इसके उपयोग को नहीं जानते हैं। यदि आप 3 साल से इसे दिन-प्रतिदिन उपयोग कर रहे हैं, तो आपको दिए गए परीक्षण में लगभग सभी नुकसानों में भाग लेना चाहिए।
जॉर्ज स्टॉकर

11
@GeorgeStocker - वास्तव में, मुझे इनमें से कुछ परीक्षण (पूर्ण .NET फ्रेमवर्क पर अधिक लक्षित) करने थे और वे बहुत विस्तृत थे। मैंने उन्हें काफी मुश्किल पाया क्योंकि पहले वे फ्रेमवर्क के क्षेत्रों (जैसे WCF) में गए थे जहाँ मुझे बहुत अनुभव नहीं था, साथ ही आपको यह भी जानना था कि आप किस कॉन्फ़िगरेशन विकल्प का उपयोग करेंगे। कुछ अस्पष्ट विकल्प। यह वह सामान था जिसे आप शायद ही कभी याद कर पाएंगे क्योंकि आप शायद केवल एक बार इसका उपयोग करेंगे और उस पर Google इसका उपयोग करेगा। मुझे अनुभव कुछ निराशाजनक लगा।
स्कॉट व्हिटलॉक

7
ओह, और एक प्रश्न जो मुझे गलत मिला, वह था, "VB.NET में, किसी संरचना को घोषित करने के लिए प्रयोग किया जाने वाला कीवर्ड क्या है? (A) स्ट्रक्चर b) स्ट्रक्चर c) स्ट्रक्चर d) स्ट्रक्चर"। मैं सोच रहा था "अंतर्मुखी यह जानता है इसलिए मुझे नहीं करना है!" अब, निश्चित रूप से, जवाब मेरी स्मृति में खोजा गया है।
स्कॉट व्हाइटलॉक

17
@ScottWhitlock: ऐसा कोई तरीका नहीं है जिससे आप खराब तरीके से तैयार किए गए साक्षात्कार के लिए पर्याप्त रूप से तैयार हो सकें। कुछ बिंदु पर आपको यह विश्वास करना होगा कि वे उन क्षेत्रों के आधार पर पूछने और न्याय करने में सक्षम हैं, जिन्हें आप वास्तव में विशेषज्ञ होने का दावा करते हैं, साथ ही साथ कुछ वैचारिक क्षमता भी। यदि वे नहीं हैं, तो संभवतः आपके लिए वैसे भी काम करने में दुखी समय होगा।
हारून

2
क्या यह C # भाषा परीक्षण है, या .NET फ्रेमवर्क टेस्ट है?
चींटियाँ

जवाबों:


24

कुछ हद तक पुराना, शायद यह ब्लॉग पोस्ट आपके लिए उपयोगी है: क्या महान .NET डेवलपर्स को पता होना चाहिए (अधिक .NET साक्षात्कार प्रश्न)

हर कोई जो कोड लिखता है

  • एक थ्रेड और एक प्रक्रिया के बीच अंतर का वर्णन करें?
  • एक Windows सेवा क्या है और इसका जीवनचक्र "मानक" EXE से कैसे भिन्न है?
  • विंडोज पर किसी भी एकल प्रक्रिया की अधिकतम मात्रा कितनी है? क्या यह सिस्टम के लिए अधिकतम वर्चुअल मेमोरी से अलग है? यह एक सिस्टम डिज़ाइन को कैसे प्रभावित करेगा?
  • EXE और DLL में क्या अंतर है?
  • मजबूत-टाइपिंग बनाम कमजोर-टाइपिंग क्या है? कौन सा पसंद किया जाता है? क्यूं कर?
  • कोरिलियन का उत्पाद "घटक कंटेनर" है। कम से कम 3 घटक कंटेनरों को नाम दें जो अब विंडोज सर्वर परिवार के साथ जहाज करते हैं।
  • एक पीआईडी ​​क्या है? किसी सिस्टम का समस्या निवारण करते समय यह कैसे उपयोगी होता है?
  • एकल टीसीपी / आईपी पोर्ट पर कितनी प्रक्रियाएं सुन सकते हैं?
  • GAC क्या है? यह किस समस्या का हल है?

मध्य-स्तर .NET डेवलपर

  • इंटरफ़ेस-उन्मुख, ऑब्जेक्ट-उन्मुख और पहलू-उन्मुख प्रोग्रामिंग के बीच अंतर का वर्णन करें।
  • वर्णन करें कि इंटरफ़ेस क्या है और यह कक्षा से कैसे भिन्न है।
  • प्रतिबिंब क्या है?
  • ASMX और .NET रीमोटिंग का उपयोग कर XML वेब सेवाओं के बीच अंतर क्या है?
  • प्रकार प्रणाली XmlSchema और CLS समद्विभाजक द्वारा प्रतिनिधित्व किया जाता है?
  • वैचारिक रूप से, शुरुआती-बाध्यकारी और देर-बाध्यकारी के बीच क्या अंतर है?
  • असेंबली का उपयोग कर रहा है। स्थिर संदर्भ या डायनामिक संदर्भ का उपयोग करें?
  • असेंबली का उपयोग कब किया जाएगा। लॉडफ्रेम या असेंबली। लॉडफाइल उपयुक्त होगा?
  • अस्सस्विफ क्वालिफाइड नाम क्या है? क्या यह एक फ़ाइल नाम है? यह अलग कैसे है?
  • क्या यह मान्य है? Assembly.Load ( "foo.dll");
  • एक दृढ़ता से नामित विधानसभा एक से अलग कैसे है जो दृढ़ता से नाम नहीं है?
  • क्या डेटटाइम्स शून्य हो सकते हैं?
  • JIT क्या है? NGEN क्या है? प्रत्येक की सीमाएं और लाभ क्या हैं?
  • .NET CLR में जनरेशनल कचरा कलेक्टर वस्तु जीवनकाल कैसे प्रबंधित करता है? गैर-निर्धारक अंतिमकरण क्या है?
  • फ़ाइनलीज़ () और डिस्पोज़ () के बीच अंतर क्या है?
  • उपयोग () पैटर्न कैसे उपयोगी है? आईडेसिबल क्या है? यह निर्धारक अंतिमकरण का समर्थन कैसे करता है?
  • यह उपयोगी कमांड लाइन क्या करती है? कार्यसूची / मी "mscor *"
  • इन-प्रोक्योर और आउट-ऑफ़-प्रोक के बीच अंतर क्या है?
  • क्या तकनीक .NET में संचार की खरीद को सक्षम बनाती है?
  • जब आप ASP.NET के भीतर एक घटक चला रहे हैं, तो यह Windows XP पर किस प्रक्रिया के भीतर चल रहा है? विंडोज 2000? विंडोज 2003?

वरिष्ठ डेवलपर्स / आर्किटेक्ट

  • इस तरह एक लाइन के साथ क्या गलत है? DateTime.Parse (myString);
  • PDB क्या हैं? काम करने के लिए उन्हें डिबगिंग के लिए कहाँ स्थित होना चाहिए?
  • चक्रवाती जटिलता क्या है और यह महत्वपूर्ण क्यों है?
  • एक वैरिएबल एक्सेस के चारों ओर एक महत्वपूर्ण सेक्शन बनाने के लिए एक स्टैंडर्ड लॉक () प्लस "डबल चेक" लिखें।
  • FullTrust क्या है? क्या GAC'ed विधानसभाओं में FullTrust है?
  • यदि आप विशिष्ट सुरक्षा अनुमतियों की मांग के साथ इसे सजाते हैं तो आपके कोड को क्या लाभ मिलता है?
  • यह क्या करता है? gacutil / एल | खोजें / मैं "Corillian"
  • यह क्या करता है? sn -t foo.dll
  • फ़ायरवॉल पर DCOM के लिए कौन से पोर्ट खुले होने चाहिए? पोर्ट 135 का उद्देश्य क्या है?
  • कंट्रास्ट OOP और SOA। प्रत्येक के सिद्धांत क्या हैं?
  • XmlSerializer कैसे काम करता है? ACL अनुमतियों का उपयोग करके एक प्रक्रिया की क्या आवश्यकता है?
  • क्यों पकड़ (अपवाद) लगभग हमेशा एक बुरा विचार है?
  • Debug.Write और Trace.Write में क्या अंतर है? प्रत्येक का उपयोग कब किया जाना चाहिए?
  • डीबग और रिलीज़ बिल्ड के बीच अंतर क्या है? क्या एक महत्वपूर्ण गति अंतर है? क्यों या क्यों नहीं?
  • क्या JITting प्रति-असेंबली या प्रति-विधि होती है? यह काम करने के सेट को कैसे प्रभावित करता है?
  • एक इंटरफेस के खिलाफ एक सार आधार वर्ग के उपयोग के विपरीत?
  • A.Equals (b) और a == b के बीच क्या अंतर है?
  • एक तुलना के संदर्भ में, वस्तु पहचान बनाम वस्तु तुल्यता क्या है?
  • .NET में गहरी कॉपी कैसे करेगा?
  • IClonable के आसपास वर्तमान सोच को स्पष्ट करें।
  • बॉक्सिंग क्या है?
  • स्ट्रिंग एक मूल्य प्रकार या एक संदर्भ प्रकार है?
  • XmlSerializer द्वारा उपयोग किए गए "PropertySpecified" पैटर्न का क्या महत्व है? यह किस समस्या को हल करने का प्रयास करता है?
  • क्यों बाहर .NET में एक बुरा विचार पैरामीटर हैं? क्या वो?
  • क्या विशिष्ट मापदंडों को एक विधि पर रखा जा सकता है? यह क्यों उपयोगी है?

सी # घटक डेवलपर्स

  • नए के साथ ओवरराइड के उपयोग को Juxtapose करें। क्या है छायावाद?
  • आभासी, सील, ओवरराइड और अमूर्त के उपयोग के बारे में बताएं।
  • इस स्ट्रिंग के प्रत्येक घटक के महत्व और उपयोग की व्याख्या करें: Foo.Bar, संस्करण = 2.0.205.0, संस्कृति = तटस्थ, PublicKeyToken = 593777a2d274679d
  • सार्वजनिक, संरक्षित, निजी और आंतरिक के बीच अंतर बताएं।
  • प्राथमिक इंटरोप असेंबली (PIA) का उपयोग करने से आपको क्या लाभ मिलता है?
  • NUnit किस तंत्र द्वारा परीक्षण करने के तरीकों को जानता है?
  • क्या अंतर है: पकड़ (अपवाद ई) {फेंक ई;} और पकड़ (अपवाद ई) {फेंक};
  • टाइपोफ (foo) और myFoo.GetType () में क्या अंतर है?
  • बताएं कि पहले कंस्ट्रक्टर में क्या हो रहा है: पब्लिक क्लास सी {पब्लिक सी (स्ट्रिंग ए): यह () {;}; public c () {?}} यह निर्माण कैसे उपयोगी है?
  • क्या है यह ? क्या इसे स्थैतिक विधि के भीतर इस्तेमाल किया जा सकता है?

ASP.NET (UI) डेवलपर्स

  • बताएं कि ब्राउज़र-आधारित फॉर्म POST कैसे एक सर्वर-साइड इवेंट बन जाता है जैसे Button1_OnClick ...

1
यहाँ सूचीबद्ध प्रत्येक उत्तर मददगार और अच्छा था, हालाँकि मैं आपकी सूची में हर प्रश्न के माध्यम से गया (मुझे ४ घंटे लगे), और एक नमूना परीक्षण ऑनलाइन लिखा और पास हुआ। मैं किसी भी .net डेवलपर को कम से कम एक बार उन सवालों से गुजरने के लिए प्रोत्साहित करूंगा और सुनिश्चित करूंगा कि आप उत्तरों को समझें, और सुनिश्चित करें कि आपको 2 और 3 राय मिलें। बहुत से लोग प्रश्नों का उत्तर देते हैं (Google पर पाए जाते हैं), लेकिन बहुत से उत्तर कई बार गलत भी नहीं होते हैं। तो सावधान रहें। क्रॉस चेक करें कि आपको क्या जवाब मिलता है।
JL01

2
अच्छा लिंक! मुझे आश्चर्य है कि उनमें से कितने मैं जानता था। this.Ego ++;
जस्टिन सेल्फ

@ अन्याय: जब मुझे पोस्ट का पता चला तो वही हुआ। :-)
कोनामिमन

मैं कुछ हफ़्ते पहले एक साक्षात्कार के लिए गया था, और उन्होंने मुझे जवाब देने के लिए यह छपवाया था। जो मेरे लिए, साक्षात्कारकर्ता पर प्रतिबिंबित।
dbones

1
आप उत्तर कब जोड़ेंगे? ;)
थाइज वैन डायन

10

बस चले, रेनी

मैंने कई बार इस तरह परीक्षण लिया है। अब मैं बस चलता हूं। परीक्षण प्रोग्रामिंग ज्ञान के सबसे तुच्छ बिट्स को मापते हैं। क्या आप किसी ऐसे व्यक्ति के लिए काम करना चाहते हैं जो सोचता है कि ये परीक्षण प्रोग्रामर का मूल्यांकन करने का एक अच्छा तरीका है? मैं नही।


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

4
@Sklivvz: हो सकता है, अगर वे अच्छे परीक्षण थे । अधिकांश व्यावसायिक परीक्षण सामान्य ज्ञान के अभ्यास हैं: "आप पाठ फ़ाइल को पढ़ने के लिए किस वर्ग का उपयोग करेंगे?" एक अच्छा डेवलपर बाइट धाराओं और चरित्र धाराओं और UTF एन्कोडिंग के विवरण के बीच अंतर पर दस मिनट के लिए बात करने में सक्षम हो सकता है, और अभी भी इस प्रश्न को याद करता है। जब सूचना आसानी से उपलब्ध हो, तो इसे याद करने का कोई मतलब नहीं है।
केविन क्लाइन

2
मैं केविन से सहमत हूं। आपकी नौकरी के लिए बहुत अधिक जानकारी अप्रासंगिक है जो परीक्षणों में हो सकती है। यही कारण है कि उन्होंने Google और IntelliSense का आविष्कार किया - जब हमें उत्तरों की आवश्यकता होती है, तो हम उन्हें
ढूंढते

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

8

मैं पिछले साल आपकी जैसी स्थिति में था। यह इतना लंबा था कि मैं एक साक्षात्कार में था कि मैं इसे फैला रहा था। मैंने C # साक्षात्कार प्रश्नों की खोज की और कई साइटें (उनमें से कई अन्य पोस्टर द्वारा सूचीबद्ध) पाईं और मैंने उनका अध्ययन किया। मेरे आश्चर्य का 90% साक्षात्कार उन बहुत साइट, शब्दशः से थे । मुझे लगता है कि साक्षात्कारकर्ता प्रश्न खोजने के लिए Google का उपयोग करते हैं :)


6

मैं आपसे पूरी तरह सहमत हूँ:

परीक्षण अप्रत्याशित हैं जो आपसे पूछते हैं कि आप रोज़मर्रा के काम की स्थितियों में शायद ही कभी उपयोग करते हैं।

..लेकिन वे प्रक्रिया का हिस्सा हैं, इसलिए ऐसा कुछ भी नहीं है जो हम वास्तव में इसके बारे में कर सकें। मैं तुम्हारे बारे में 10 साल के अनुभव के साथ सोच रहा हूँ जिनमें से 5 के बारे में। NET C #। मैंने पाया कि ये दो बहुत अच्छी किताबें हैं:

गहराई में C #

संक्षेप में सी #

सी # के बारे में आपको जो कुछ भी जानना चाहिए, उसे कवर करना चाहिए। बाकी आपका अपना कौशल और कौशल है जो आप C # पर आधारित विशिष्ट तकनीकों जैसे ASP.NET आदि पर उठाते हैं।


3
लेकिन वे प्रक्रिया का हिस्सा हैं, इसलिए ऐसा कुछ नहीं है जो हम वास्तव में इसके बारे में कर सकें। कैसे काम पर रखने की प्रक्रिया के हिस्से के रूप में अपने काम की जगह पर मूर्खतापूर्ण प्रोग्रामिंग परीक्षण नहीं होने की वकालत? हायरिंग प्रक्रियाओं को आपकी क्षमता दिखानी चाहिए, न कि आप अस्पष्ट सामान्य ज्ञान को याद कर सकते हैं।
joshin4colours

@ joshin4colours - यही कारण है कि मुझे विश्वास है कि अच्छे 'साक्षात्कार पर लंबी बातचीत ... वे हालांकि उन्मूलन के लिए अच्छे हैं
TheBoyan

2
मैंने वास्तव में पुस्तकों में से एक के लेखक का साक्षात्कार किया और उसे अस्वीकार कर दिया ...
स्केलिव्ज

3

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

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


2

यदि यह एक रोजगार एजेंसी परीक्षण है तो यह उतना कठिन नहीं होना चाहिए। यह ऐसा नहीं है कि उनके पास परीक्षण विकसित करने के लिए भाषा विशेषज्ञ हैं। सबसे अधिक संभावना है कि वे सभी एक वेबसाइट से प्रश्नों को कॉपी / पेस्ट करेंगे।

जब तक आप जानते हैं कि फ्रेम सामान्य रूप से कैसे काम करता है, और कार्यों के लिए सबसे सामान्य नामस्थान / पुस्तकालय, कुछ कार्यों के लिए आपको क्या सामान उपयोग करना है, तो आपको अच्छा होना चाहिए।


2

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

उस ने कहा, जैसा कि आप अपने दिन के काम में सी # का उपयोग करते हैं, मैं आपको समस्या को सुलझाने और तर्क के प्रयासों पर ध्यान केंद्रित करूंगा और चीजों के पुस्तक सीखने के पक्ष पर कम।

प्रोजेक्ट यूलर अभ्यास करने और कौशल को बेहतर बनाने के लिए एक बेहतरीन जगह है, जिसमें सबसे अधिक संभावना है कि यह थोड़ा कठोर हो गया है।

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