C# साक्षात्कार कैसे पास करें: शीर्ष प्रश्न और उत्तर

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें
```html

C# साक्षात्कार कैसे पास करें: शीर्ष प्रश्न और उत्तर



C#/.NET डेवलपर पद के लिए साक्षात्कार प्लेटफ़ॉर्म के सैद्धांतिक ज्ञान और कोड लिखने के व्यावहारिक कौशल दोनों की जाँच है। नियोक्ता केवल ऐसे व्यक्ति को नहीं देखना चाहते जो कोड लिखना जानता हो, बल्कि एक ऐसा इंजीनियर चाहते हैं जो .NET की आंतरिक संरचना, मेमोरी प्रबंधन, एसिंक्रोनसी और SOLID सिद्धांतों को समझता हो।

इस लेख में हमने शीर्ष 10 प्रश्न एकत्र किए हैं जो C# साक्षात्कारों में सबसे अधिक पूछे जाते हैं। आप न केवल सही उत्तर जानेंगे, बल्कि वे छिपी हुई कठिनाइयाँ भी जानेंगे जिन पर साक्षात्कारकर्ता ध्यान देते हैं। यह सामग्री जूनियर डेवलपर्स और मिड-लेवल विशेषज्ञों दोनों के लिए उपयोगी होगी।



1. C# में OOP की मूल बातें पर प्रश्न

ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग की समझ के बिना C# साक्षात्कार पास करना असंभव है। साक्षात्कारकर्ता न केवल परिभाषाओं की जाँच करते हैं, बल्कि सिद्धांतों को व्यवहार में लागू करने की क्षमता भी देखते हैं।



C# में OOP के कौन से सिद्धांत लागू किए गए हैं?

C# OOP के चार स्तंभों का पूरी तरह से समर्थन करता है:

  • एनकैप्सुलेशन — एक्सेस मॉडिफायर (private, protected, internal) के माध्यम से आंतरिक कार्यान्वयन को छिपाना।
  • इनहेरिटेंस — एक क्लास एक बेस क्लास से व्यवहार प्राप्त कर सकता है (एकल इनहेरिटेंस)।
  • पॉलीमॉर्फिज्म — एक समान इंटरफ़ेस के माध्यम से विभिन्न प्रकारों के साथ काम करने की क्षमता (वर्चुअल मेथड्स, एब्सट्रैक्ट क्लासेस)।
  • एब्सट्रैक्शन — किसी ऑब्जेक्ट की आवश्यक विशेषताओं को उजागर करना और गैर-आवश्यक को अनदेखा करना (इंटरफ़ेसेस, एब्सट्रैक्ट क्लासेस)।


नमूना प्रश्न: "एब्सट्रैक्ट क्लास और इंटरफ़ेस में क्या अंतर है?"

यह एक क्लासिक प्रश्न है। मुख्य अंतर यह है कि इंटरफ़ेस केवल एक अनुबंध (बिना कार्यान्वयन के मेथड सिग्नेचर) निर्दिष्ट करता है, जबकि एब्सट्रैक्ट क्लास में कार्यान्वयन और स्थिति (फ़ील्ड) दोनों हो सकते हैं। C# में संस्करण 8.0 से शुरू होकर, इंटरफ़ेसेस में डिफ़ॉल्ट कार्यान्वयन हो सकता है, लेकिन यह अवधारणात्मक अंतर को नहीं बदलता है।

// एब्सट्रैक्ट क्लासpublic abstract class Animal{    public string Name { get; set; }    public abstract void MakeSound(); // बिना कार्यान्वयन    public void Sleep() => Console.WriteLine("Zzz..."); // कार्यान्वयन के साथ}

// इंटरफ़ेसpublic interface IMovable{ void Move(); // केवल अनुबंध}


2. मेमोरी प्रबंधन और Garbage Collector

GC के काम को समझना एक अनुभवी डेवलपर की निशानी है। इस विषय पर प्रश्न अक्सर जूनियर और मिडल के बीच फ़िल्टर बन जाते हैं।



.NET में Garbage Collector कैसे काम करता है?

GC managed heap में काम करता है और उन ऑब्जेक्ट्स से मेमोरी मुक्त करता है जिनका कोई संदर्भ नहीं रह गया है। यह पीढ़ीगत मॉडल (Generation 0, 1, 2) का उपयोग करता है:

  • Gen 0 — अल्पकालिक ऑब्जेक्ट्स (सबसे अधिक बार साफ़ किए जाते हैं)।
  • Gen 1 — Gen 0 और Gen 2 के बीच बफ़र।
  • Gen 2 — दीर्घकालिक ऑब्जेक्ट्स (शायद ही कभी साफ़ किए जाते हैं)।


नमूना प्रश्न: "फ़ाइनलाइज़ेशन और IDisposable क्या है?"

फ़ाइनलाइज़र (~ClassName()) मेमोरी मुक्त करने से पहले GC द्वारा कॉल किया जाता है, लेकिन इसके कॉल होने का समय अनिश्चित होता है। अनमैनेज्ड संसाधनों की निश्चित सफाई के लिए IDisposable पैटर्न का उपयोग किया जाता है:

public class ResourceHolder : IDisposable{    private bool _disposed = false;

public void Dispose() { Dispose(true); GC.SuppressFinalize(this); }

protected virtual void Dispose(bool disposing) { if (_disposed) return; if (disposing) { /* managed संसाधनों को मुक्त करें */ } /* unmanaged संसाधनों को मुक्त करें */ _disposed = true; }

~ResourceHolder() => Dispose(false);}


3. एसिंक्रोनस प्रोग्रामिंग: async/await

आधुनिक C# साक्षात्कार शायद ही कभी एसिंक्रोनसी के बारे में प्रश्नों के बिना होता है। यह एक महत्वपूर्ण विषय है ```

ब्लॉग

पुस्तक अनुशंसाएँ