शीर्ष 40 VB.Net साक्षात्कार प्रश्न और उत्तर (2026)
क्या आप VB.Net इंटरव्यू की तैयारी कर रहे हैं? अब समय आ गया है कि आप उन सवालों पर ध्यान दें जिनका आपको सामना करना पड़ सकता है। इन्हें समझें VB.Net साक्षात्कार प्रश्न आपकी समस्या-सुलझाने की क्षमता, प्रोग्रामिंग मानसिकता और तकनीकी गहराई को प्रकट करने में मदद करता है।
VB.Net नए लोगों से लेकर वरिष्ठ डेवलपर्स तक, हर स्तर के पेशेवरों के लिए अपार अवसर प्रदान करता है। मज़बूत तकनीकी अनुभव और क्षेत्र विशेषज्ञता के साथ, उम्मीदवार विश्लेषणात्मक कौशल और तकनीकी विशेषज्ञता का प्रदर्शन कर सकते हैं जो वास्तविक दुनिया के सॉफ़्टवेयर विकास के साथ मेल खाते हैं। ये प्रश्न और उत्तर पेशेवरों को साक्षात्कार में सफल होने, प्रबंधकों को प्रभावित करने और समग्र प्रोग्रामिंग और विश्लेषण कौशल को मज़बूत करने में मदद करते हैं।
हमने विभिन्न उद्योगों के 55 से अधिक तकनीकी नेताओं, टीम प्रबंधकों और आईटी पेशेवरों से जानकारी एकत्र की, ताकि यह सुनिश्चित किया जा सके कि ये VB.Net साक्षात्कार प्रश्न वास्तविक भर्ती अपेक्षाओं और व्यापक उद्योग प्रासंगिकता को प्रतिबिंबित करते हैं।

1) बताएं कि VB.NET क्या है और रनटाइम, प्रकार प्रणाली और भाषा विशेषताओं के संदर्भ में यह क्लासिक VB (VB6) से कैसे भिन्न है।
VB.NET एक ऑब्जेक्ट-ओरिएंटेड, CLS-अनुपालक भाषा है जो कॉमन लैंग्वेज रनटाइम (CLR) को लक्षित करती है। क्लासिक VB (VB6) के विपरीत, जो COM और एक विशिष्ट रनटाइम से जुड़ा था, VB.NET इंटरमीडिएट लैंग्वेज (IL) में संकलित होता है और .NET CLR पर चलता है, जिससे स्वचालित मेमोरी प्रबंधन, एक एकीकृत प्रकार प्रणाली (CTS), बेहतर जेनरिक और संरचित अपवाद प्रबंधन जैसे लाभ प्राप्त होते हैं। भाषा की विशेषताओं में उल्लेखनीय सुधार हुआ है: ट्रू इनहेरिटेंस, इंटरफेस, डेलिगेट्स, एट्रिब्यूट्स और रिफ्लेक्शन सभी प्रथम श्रेणी के हो गए हैं। लेट-बाउंड COM से अर्ली-बाउंड, स्ट्रॉन्गली टाइप्ड असेंबली में बदलाव से विश्वसनीयता और टूलिंग में सुधार होता है। परिणामस्वरूप, विकास जीवनचक्र आधुनिक CI/CD, N के साथ बेहतर ढंग से एकीकृत होता है।uGet पैकेज प्रबंधन, और .NET पारिस्थितिकी तंत्र में क्रॉस-भाषा अंतर-संचालनीयता।
उदाहरण:
एक VB.NET क्लास इनहेरिट कर सकता है (Inherits) को किसी अन्य क्लास से प्राप्त करना तथा एकाधिक इंटरफेस को क्रियान्वित करना, जो VB6 मूल रूप से नहीं कर सकता था:
Public Class Repository
Inherits BaseRepository
Implements IDisposable
' ...
End Class
👉 मुफ़्त पीडीएफ़ डाउनलोड: VB.Net साक्षात्कार प्रश्न और उत्तर
2) .NET प्रकार प्रणाली VB.NET से कैसे मेल खाती है? उदाहरण सहित मान प्रकारों को संदर्भ प्रकारों से अलग करें।
.NET कॉमन टाइप सिस्टम (CTS) आधारभूत संरचना को परिभाषित करता है। प्रकार VB.NET द्वारा उपयोग किया जाता है. मान प्रकार (उदाहरण के लिए, Integer, Boolean, Date, और उपयोगकर्ता-परिभाषित Structure) आमतौर पर स्टैक पर आवंटित किए जाते हैं और मूल्य द्वारा कॉपी किए जाते हैं; संदर्भ प्रकार (उदाहरण के लिए, Class, String, Array, Delegate) प्रबंधित हीप पर रहते हैं और संदर्भों के माध्यम से उन तक पहुँचा जा सकता है। यह अंतर प्रदर्शन, पासिंग सिमेंटिक्स और मेमोरी विशेषताओं को प्रभावित करता है। मान प्रकार छोटे, अपरिवर्तनीय, डेटा-केंद्रित निर्माणों के लिए आदर्श होते हैं, जबकि संदर्भ प्रकार पहचान, जटिल व्यवहार और बहुरूपता वाली संस्थाओं के लिए उपयुक्त होते हैं।
उदाहरण सहित उत्तर दें:
' Value type
Public Structure Point2D
Public X As Integer
Public Y As Integer
End Structure
' Reference type
Public Class Customer
Public Property Id As Integer
Public Property Name As String
End Class
कारक चयन को प्रभावित करने वाले कारकों में आकार, परिवर्तनशीलता, आवश्यक विरासत और इंटरऑप परिदृश्य शामिल हैं।
3) VB.NET में क्लास, स्ट्रक्चर और मॉड्यूल में क्या अंतर है? एक संरचित तुलना प्रस्तुत करें।
कक्षाएं, संरचनाएं और मॉड्यूल व्यवहार और डेटा को मॉडल करने के विभिन्न तरीकों का प्रतिनिधित्व करते हैं। वर्ग एक संदर्भ प्रकार है जो वंशानुक्रम और बहुरूपता का समर्थन करता है। संरचना एक मान प्रकार है जो बिना वंशानुक्रम के छोटे, अपरिवर्तनीय समुच्चयों के लिए आदर्श है। मॉड्यूल साझा सदस्यों के लिए एक कंटेनर है और इसे इंस्टैंशिएट या इनहेरिट नहीं किया जा सकता है। फायदे और नुकसान जीवनचक्र, मेमोरी और डिज़ाइन लचीलेपन के साथ भिन्न होते हैं।
| पहलू | वर्ग | संरचना | मॉड्यूल |
|---|---|---|---|
| प्रकार | संदर्भ | वैल्यू | विशेष कंटेनर |
| विरासत | समर्थन करता है Inherits |
समर्थित नहीं | लागू नहीं होता |
| प्रारंभ | Dim c = New C() |
Dim s As S |
तत्काल नहीं |
| सदस्यगण | इंस्टेंस + साझा | इंस्टेंस + साझा | केवल साझा |
| बक्सों का इस्तेमाल करें | संस्थाएँ, बहुरूपता | छोटे डेटा समुच्चय | सहायक उपयोगिताएँ, स्थिरांक |
उदाहरण:
Public Module MathUtil
Public Function Clamp(v As Integer, min As Integer, max As Integer) As Integer
Return Math.Min(Math.Max(v, min), max)
End Function
End Module
4) VB.NET में डेवलपर को ByVal बनाम ByRef का उपयोग कहाँ करना चाहिए? एक व्यावहारिक तुलना तालिका शामिल करें।
VB.NET दो प्राथमिक पैरामीटर पासिंग का समर्थन करता है प्रकार: बायवैल (डिफ़ॉल्ट) और बायफ. बायवैल कॉलर के मूल चर को संरक्षित करते हुए, मान की एक प्रति (या संदर्भ प्रकारों के लिए संदर्भ की एक प्रति) पास करता है। बायफ एक वेरिएबल को रेफरेंस द्वारा पास करता है, जिससे कॉल प्राप्त करने वाले को कॉल करने वाले के वेरिएबल को बदलने की अनुमति मिलती है। सही तरीका चुनने से लाभ स्पष्टता और प्रदर्शन के लिए, लेकिन अनुचित उपयोग से नुकसान जैसे आश्चर्यजनक दुष्प्रभाव।
| आयाम | बायवैल | बायफ |
|---|---|---|
| कॉलर चर का उत्परिवर्तन | अनुमति नहीं | रख सकते है |
| बड़े स्ट्रक्चर्स के लिए प्रदर्शन | संभावित प्रतिलिपि लागत | नकल से बचें |
| स्पष्टता और सुरक्षा | उच्चतर | दुरुपयोग होने पर कम |
| विशिष्ट उपयोग | निविष्टियां | आउटपुट/स्थानीय अपडेट |
उदाहरण:
Sub IncrementByRef(ByRef x As Integer)
x += 1
End Sub
Sub Demo()
Dim n As Integer = 10
IncrementByRef(n) ' n becomes 11
End Sub
उपयोग बायफ जब आपको आउटपुट सेट करना हो या इन-प्लेस रूपांतरण करना हो; पसंद करें बायवैल पूर्वानुमानित, दुष्प्रभाव-मुक्त API के लिए।
5) VB.NET में कौन से एक्सेस मॉडिफायर उपलब्ध हैं, और वे API डिज़ाइन और एनकैप्सुलेशन को कैसे प्रभावित करते हैं?
VB.NET प्रदान करता है Public, Private, Protected, Friend, तथा Protected Friend (अधिक Private Protected नए .NET संस्करणों में)। ये संशोधक असेंबली सीमा और वंशानुक्रम पदानुक्रम में दृश्यता को नियंत्रित करते हैं। विशेषताएँ
: Public सदस्य बाहरी रूप से उन्मुख होते हैं और सम्मेलन का गठन करते हैं।tract; Private कार्यान्वयन विवरण छुपाता है; Protected उपवर्गों को उजागर करता है; Friend वर्तमान असेंबली के भीतर उजागर; Protected Friend दोनों स्कोपों को मिलाता है; Private Protected युक्त असेंबली और व्युत्पन्न प्रकारों तक सीमित है। उचित उपयोग से परिणाम प्राप्त होते हैं लाभ जैसे कि स्वच्छ सीमाएं, सुरक्षित रिफैक्टरिंग, और न्यूनतम युग्मन। कारक इसमें यह शामिल है कि क्या प्रकारों का असेंबली में पुनः उपयोग किया जाता है, API सतह की स्थिरता, तथा परीक्षण योग्यता संबंधी विचार।
उदाहरण:
Public Class Service
Private ReadOnly _repo As IRepository
Protected Overridable Sub Validate() ' extensible in subclasses
End Sub
End Class
6) क्या सिंक/अवेट VB.NET पर लागू होता है? टास्क-आधारित एसिंक्रोनस पैटर्न का उदाहरण सहित वर्णन कीजिए।
हाँ। VB.NET पूर्णतः समर्थन करता है Async/Await और कार्य-आधारित अतुल्यकालिक पैटर्न (TAP)। Async विधि रिटर्न Task or Task(Of T) और उपयोग करता है Await थ्रेड्स को ब्लॉक किए बिना एसिंक्रोनस रूप से फिर से शुरू करने के लिए। फायदे इसमें उत्तरदायी UI, स्केलेबल I/O, तथा कॉलबैक की तुलना में स्पष्ट नियंत्रण प्रवाह शामिल हैं। नुकसान यदि डेवलपर्स ब्लॉक करते हैं तो समस्या उत्पन्न हो सकती है (.Result, .Wait) या सिंक और एसिंक को गलत तरीके से मिलाएँ। कुंजी कारकों अपवाद हैंडलिंग शामिल करें (लौटाए गए में कैप्चर किया गया) Task) और तुल्यकालन संदर्भ व्यवहार।
उदाहरण:
Public Async Function FetchAsync(url As String) As Task(Of String)
Using client As New Net.Http.HttpClient()
Return Await client.GetStringAsync(url)
End Using
End Function
ASP.NET में, थ्रेड भुखमरी से बचने के लिए अंत-से-अंत async को प्राथमिकता दें; Windows ऐप्स में, async UI को उत्तरदायी बनाए रखता है।
7) इंटरफेस और मस्टइनहेरिट में क्या अंतर है? (abs)tracVB.NET में क्लासेस क्या हैं, और प्रत्येक का उपयोग कब किया जाना चाहिए?
इंटरफेस परिभाषित करते हैं साथtracts केवल—कार्यान्वयन के बिना सदस्य—अनुमति अलग अलग तरीकों असंबंधित प्रकारों में व्यवहार की रचना करना। MustInherit कक्षाओं में दोनों एब्स शामिल हो सकते हैंtracटी (MustOverride) और ठोस सदस्यों को शामिल करके, साझा आधार कार्यक्षमता को सक्षम किया गया है। फायदे इंटरफेस में एकाधिक कार्यान्वयन और ढीला युग्मन शामिल हैं; नुकसान कोई साझा कोड शामिल नहीं है. MustInherit कक्षाएं पुन: उपयोग और संरक्षित स्थिति प्रदान करती हैं लेकिन बहु विरासत को प्रतिबंधित करती हैं।
| कसौटी | इंटरफेस | मस्टइनहेरिट क्लास |
|---|---|---|
| कार्यान्वयन | कोई नहीं | आंशिक या पूर्ण |
| विरासत | एकाधिक अनुमत | एकल आधार |
| क्षेत्र/राज्य | अनुमति नहीं | रख सकते है |
| संस्करण | विकसित करना कठिन | वर्चुअल डिफ़ॉल्ट के साथ आसान |
उदाहरण:
Public Interface IClock
Function NowUtc() As DateTime
End Interface
Public MustInherit Class BaseClock
Public Overridable Function NowUtc() As DateTime
Return DateTime.UtcNow
End Function
End Class
प्लग करने योग्य कनेक्शन के लिए इंटरफेस चुनेंtracटीएस; उपयोग MustInherit जब किसी पदानुक्रम में आधार तर्क को साझा किया जाता है।
8) VB.NET में इवेंट और डेलिगेट्स का मॉडल कैसे बनाया जाता है? हैंडल्स और AddHandler के साथ व्यावहारिक उपयोग बताएँ।
VB.NET इवेंट डेलिगेट पर आधारित होते हैं और प्रकाशक-ग्राहक पैटर्न प्रदर्शित करते हैं। डेलिगेट एक प्रकार-सुरक्षित फ़ंक्शन पॉइंटर होता है। इवेंट इनकैप्सुलेशन प्रदान करते हैं, जिससे प्रकाशक नियंत्रण आह्वान के दौरान सब्सक्राइबर हैंडलर संलग्न कर सकते हैं। अलग अलग तरीकों सदस्यता लेने के लिए: घोषणात्मक रूप से Handles या गतिशील रूप से AddHandler। लाभ इसमें वियुग्मन और विस्तारशीलता शामिल है, जबकि कारकों विचार करने योग्य बातें हैं - लम्बे समय तक चलने वाली सदस्यता से मेमोरी लीक होना तथा घटनाओं को उठाते समय थ्रेड-सुरक्षा।
उदाहरण सहित उत्तर दें:
Public Class TimerService
Public Event Tick As EventHandler
Public Sub RaiseTick()
RaiseEvent Tick(Me, EventArgs.Empty)
End Sub
End Class
Public Class Consumer
Private WithEvents _svc As New TimerService()
Private Sub OnTick(sender As Object, e As EventArgs) Handles _svc.Tick
' Declarative subscription
End Sub
Public Sub WireUp()
AddHandler _svc.Tick, AddressOf OnTick ' Dynamic subscription
End Sub
End Class
सदस्यता समाप्त करें RemoveHandler अनपेक्षित जीवनचक्र से बचने के लिए।
9) VB.NET में कौन सी जीवनचक्र और मेमोरी प्रबंधन अवधारणाएँ महत्वपूर्ण हैं? GC, फ़ाइनलाइज़ेशन और IDisposable पर चर्चा करें।
VB.NET हीप पर ऑब्जेक्ट जीवनचक्रों का प्रबंधन करने के लिए CLR के जेनरेशनल गार्बेज कलेक्टर (GC) पर निर्भर करता है।Protected Overrides Sub Finalize) अंतिम अवसर पर सफाई का एक तरीका प्रदान करते हैं, लेकिन वे अनिश्चित और महंगे होते हैं। IDisposable पैटर्न अप्रबंधित संसाधनों जैसे फ़ाइल हैंडल, सॉकेट या डेटाबेस कनेक्शन के निर्धारक रिलीज़ को सक्षम बनाता है। फायदे of Using ... End Using स्पष्टता, अपवाद सुरक्षा और त्वरित सफाई शामिल हैं; संभावित नुकसान अनदेखा करने का IDisposable संसाधन लीक और प्रदर्शन में गिरावट हैं।
उदाहरण:
Using conn As New SqlClient.SqlConnection(cs)
conn.Open()
Using cmd As New SqlClient.SqlCommand("SELECT 1", conn)
Dim result = cmd.ExecuteScalar()
End Using
End Using
पसंद करते हैं IDisposable संसाधन रैपर के लिए, फ़ाइनलाइज़र को न्यूनतम करें, और GC को शुद्ध प्रबंधित मेमोरी का प्रबंधन करने दें।
10) क्या ऑप्शन स्ट्रिक्ट, ऑप्शन एक्सप्लिसिट और ऑप्शन इन्फ़र महत्वपूर्ण हैं? इनके अंतर, फायदे और नुकसान का विस्तार से वर्णन करें।
ये कंपाइलर विकल्प ty को नियंत्रित करते हैंping अनुशासन और नाम निर्धारण, जो शुद्धता और रखरखाव पर सीधा प्रभाव डालते हैं। Option Explicit On उपयोग से पहले घोषणाओं को लागू करता है। Option Strict On देर से बाध्यकारी और अंतर्निहित संकीर्ण रूपांतरणों को अस्वीकार करता है। Option Infer On स्थानीय चरों के लिए प्रकार अनुमान सक्षम करता है। लाभ इसमें शीघ्र त्रुटि पहचान, सुरक्षित रीफैक्टरिंग, और शीघ्र बाइंडिंग के माध्यम से बेहतर प्रदर्शन शामिल हैं। नुकसान इनमें अधिक शब्दाडंबर है तथा शुरुआती लोगों के लिए सीखने की प्रक्रिया अधिक कठिन है।
| की स्थापना | उद्देश्य | फायदे | नुकसान | उदाहरण |
|---|---|---|---|---|
Option Explicit On |
घोषणाओं की आवश्यकता | कम टाइपिंग त्रुटियाँ, स्पष्ट दायरा | थोड़ी वाचालता | Dim x As Integer = 0 |
Option Strict On |
मजबूत टीpingकोई विलंब बंधन नहीं | प्रारंभिक त्रुटियाँ, गति | Less गतिशील लचीलापन | कोई अंतर्निहित संकुचन नहीं |
Option Infer On |
स्थानीय प्रकार अनुमान | संक्षिप्त, पठनीय | प्रकारों को अस्पष्ट कर सकते हैं | Dim n = 42 (पूर्णांक) |
उदाहरण स्निपेट:
Option Strict On Option Explicit On Option Infer On
उपरोक्त डिफ़ॉल्ट को अपनाना उत्पादन कोड के लिए सर्वोत्तम अभ्यास माना जाता है।
11) VB.NET में समर्थित विभिन्न प्रकार के इनहेरिटेंस क्या हैं? उदाहरण सहित समझाइए।
VB.NET समर्थन करता है एकल वंशानुक्रम कक्षाओं के लिए और कई विरासत पूज्य गुरुदेव के मार्गदर्शन से संपन्न कर सकते हैं - इंटरफेसइसका मतलब है कि एक वर्ग एक आधार वर्ग से विरासत प्राप्त कर सकता है (Inherits) लेकिन हो सकता है एकाधिक इंटरफेस लागू करें (Implements) इसके अतिरिक्त, विरासत को श्रेणीबद्ध (एक आधार से व्युत्पन्न कई वर्ग), बहुस्तरीय (वर्ग A → B → C), और इंटरफ़ेस आधारित (साझा सहमतिtracटीएस)।
| विरासत का प्रकार | विवरण | उदाहरण |
|---|---|---|
| सिंगल | एक वर्ग दूसरे से विरासत में प्राप्त होता है | Class B Inherits A |
| बहुस्तरीय | विरासत की श्रृंखला | C Inherits B |
| श्रेणीबद्ध | कई व्युत्पन्न वर्ग एक आधार साझा करते हैं | Manager, Engineer Inherit Employee |
| एकाधिक (इंटरफेस के माध्यम से) | क्लास कई इंटरफेस लागू करता है | Class X Implements I1, I2 |
उदाहरण:
Public Class Animal
Public Overridable Sub Speak()
Console.WriteLine("Generic sound")
End Sub
End Class
Public Class Dog
Inherits Animal
Public Overrides Sub Speak()
Console.WriteLine("Bark")
End Sub
End Class
RSI फायदे साझा व्यवहार में पुन: उपयोग, बहुरूपता और स्पष्टता शामिल करें; नुकसान यह तब प्रकट होता है जब पदानुक्रम बहुत गहरा या कठोर हो जाता है।
12) VB.NET में अपवाद प्रबंधन कैसे काम करता है? Try…Catch…Finally ब्लॉक के जीवनचक्र की व्याख्या कीजिए।
VB.NET, CLR पर आधारित संरचित अपवाद प्रबंधन (SEH) का उपयोग करता है। एक Try ब्लॉक में जोखिम भरा कोड होता है; Catch ब्लॉक विशिष्ट प्रकार के अपवादों को संभालते हैं; वैकल्पिक Finally सफलता या असफलता की परवाह किए बिना कार्यान्वित होता है। जीवन चक्र नियतात्मक है:
- दर्ज
Tryगुंजाइश। - अपवाद होने पर, मिलान करने के लिए स्टैक को खोलें
Catch. - निष्पादित करना
Finallyरवाना होने से पहले।
लाभ: बेहतर विश्वसनीयता, स्वच्छ संसाधन सफाई, सुसंगत डिबगिंग।
नुकसान: अत्यधिक पकड़ने से कीड़े छिप सकते हैं।
उदाहरण:
Try
Dim n = Integer.Parse("abc")
Catch ex As FormatException
Console.WriteLine("Invalid number")
Finally
Console.WriteLine("Execution complete")
End Try
हमेशा पकड़ो सबसे विशिष्ट अपवाद प्रकार और खाली कैच ब्लॉक से बचें।
13) VB.NET में अर्ली बाइंडिंग और लेट बाइंडिंग में क्या अंतर है? दोनों का इस्तेमाल कब करना चाहिए?
प्रारंभिक बंधन यह तब होता है जब संकलन समय पर ऑब्जेक्ट प्रकार ज्ञात होते हैं, जिससे इंटेलिसेंस, प्रकार जांच और तीव्र निष्पादन संभव होता है। देर से बाइंडिंग प्रकार समाधान को रनटाइम पर स्थगित करता है, आमतौर पर इसका उपयोग करके Object or Reflection.
| Feature | प्रारंभिक बंधन | देर से बांधना |
|---|---|---|
| संकलन-समय जाँच | हाँ | नहीं |
| प्रदर्शन | तेज़ | और धीमा |
| इंटेलिसेंस समर्थन | उपलब्ध | कोई नहीं |
| उदाहरण | Dim fs As New FileStream(...) |
Dim o As Object = CreateObject("...") |
उदाहरण:
' Early binding
Dim sb As New System.Text.StringBuilder()
sb.Append("Hello")
' Late binding
Dim o As Object = CreateObject("Scripting.Dictionary")
o.Add("A", 1)
उपयोग प्रारंभिक बंधन सुरक्षा और गति के लिए जब भी संभव हो; पसंद करें देर से बंधन केवल COM इंटरऑप या डायनेमिक प्लग-इन के लिए।
14) VB.NET में नेमस्पेस की भूमिका और बड़े पैमाने के समाधानों में उनके लाभों की व्याख्या करें।
A नाम स्थान एक तार्किक कंटेनर है जो नामकरण टकराव को रोकने के लिए कक्षाओं, इंटरफ़ेस, एनम्स और संरचनाओं को व्यवस्थित करता है। नेमस्पेस फ़ोल्डर पदानुक्रमों को प्रतिबिंबित कर सकते हैं और आयातों का उपयोग करके आयात किए जाते हैं।
लाभ:
- बेहतर रखरखाव और मॉड्यूलरीकरण।
- सरलीकृत API खोज और पुनः उपयोग.
- बड़ी टीमों में नामकरण संबंधी विवादों में कमी आई।
- संस्करणीकरण और तार्किक स्तरीकरण का समर्थन करता है।
उदाहरण:
Namespace Company.Data
Public Class Repository
End Class
End Namespace
Imports Company.Data
Dim repo As New Repository()
उपयोग नामस्थान सम्मेलनों जैसे Company.Project.Module स्पष्टता के लिए, और अत्यधिक नेस्टिंग से बचें जो पठनीयता में बाधा डालती है।
15) VB.NET में कलेक्शन और जेनरिक क्या हैं? पारंपरिक ऐरे की तुलना में इनके लाभों पर चर्चा कीजिए।
संग्रह गतिशील डेटा संरचनाएं हैं जिनका उपयोग वस्तुओं के समूहों को संग्रहीत करने और उनमें हेरफेर करने के लिए किया जाता है। सामान्य संग्रह (में System.Collections.Generic) बढ़ाना प्रकार की सुरक्षा, प्रदर्शन, तथा कोड पुन: प्रयोज्यता पैरामीटरयुक्त प्रकारों की अनुमति देकर.
| पारंपरिक संग्रह | सामान्य समतुल्य | फायदे |
|---|---|---|
ArrayList |
List(Of T) |
प्रकार-सुरक्षित, मुक्केबाजी से बचाता है |
Hashtable |
Dictionary(Of TKey, TValue) |
सशक्त रूप से टाइप किए गए, तेज़ लुकअप |
Queue |
Queue(Of T) |
थ्रेड-सुरक्षित वेरिएंट उपलब्ध हैं |
उदाहरण:
Dim numbers As New List(Of Integer) From {1, 2, 3}
numbers.Add(4)
जेनरिक कास्टिंग की आवश्यकता को समाप्त करते हैं और रनटाइम दक्षता में सुधार करते हैं—कुंजी कारकों आधुनिक उच्च-प्रदर्शन VB.NET कोडबेस में।
16) आप VB.NET में बहुरूपता कैसे प्राप्त कर सकते हैं? एक वास्तविक उदाहरण द्वारा समझाइए।
बहुरूपता एक ही इंटरफ़ेस को विभिन्न कार्यान्वयनों का प्रतिनिधित्व करने की अनुमति देती है। VB.NET प्रदान करता है संकलन-समय बहुरूपता के माध्यम से ओवरलोडिंग और रनटाइम बहुरूपता पूज्य गुरुदेव के मार्गदर्शन से संपन्न कर सकते हैं - अधिभावी.
उदाहरण:
Public MustInherit Class Shape
Public MustOverride Function Area() As Double
End Class
Public Class Circle
Inherits Shape
Private _r As Double
Public Sub New(r As Double) : _r = r : End Sub
Public Overrides Function Area() As Double
Return Math.PI * _r * _r
End Function
End Class
यहाँ, अलग Shape प्रकार समान कॉन को लागू करते हैंtracअलग तरह से।
लाभ: विस्तारशीलता और रखरखाव; नुकसान: छोटे रनटाइम ओवरहेड और डिबगिंग पदानुक्रम में जटिलता।
17) VB.NET में Dispose() और Finalize() में क्या अंतर है? इन्हें कब लागू किया जाना चाहिए?
दोनों संसाधन सफाई से संबंधित हैं लेकिन अलग-अलग कार्य करते हैं जीवन चक्र चरणों।
| Feature | डिस्पोज़() | अंतिम रूप दें() |
|---|---|---|
| उद्देश्य | अप्रबंधित संसाधनों की निर्धारक सफाई | गैर-नियतात्मक GC-आधारित सफाई |
| मंगलाचरण | स्पष्ट (Using / नियमावली) |
जीसी द्वारा निहित |
| पैटर्न | IDisposable |
अधिरोहण Finalize() |
| उदाहरण | Using conn As New SqlConnection() |
बहुत कम प्रयुक्त |
उदाहरण:
Public Class FileLogger
Implements IDisposable
Private fs As FileStream
Public Sub Dispose() Implements IDisposable.Dispose
fs.Dispose()
GC.SuppressFinalize(Me)
End Sub
End Class
हमेशा लागू करें Dispose() नियतात्मक सफाई और केवल ओवरराइड के लिए Finalize() जब लपेटेंping अप्रबंधित हैंडल सीधे।
18) VB.NET असेंबलीज़ में विशेषताएँ मेटाडेटा को कैसे बढ़ाती हैं? सामान्य उदाहरण दीजिए।
VB.NET में विशेषताएँ घोषणात्मक संलग्न करती हैं मेटाडेटा तत्वों—क्लास, मेथड्स, प्रॉपर्टीज़ या असेंबलीज़—को कोड करने के लिए। यह मेटाडेटा रनटाइम पर प्रतिबिंब और उपकरणों, ढाँचों और व्यवहारों को प्रभावित करता है।
सामान्य विशेषताएँ:
[Serializable]— बाइनरी क्रमांकन के लिए कक्षाओं को चिह्नित करता है।[Obsolete]— अप्रचलित API को चिह्नित करता है।[DllImport]— P/Invoke को सक्षम करता है.[DebuggerStepThrough]— डिबगर को मार्गदर्शन करता है।
उदाहरण:
<Obsolete("Use NewLogger instead")>
Public Class OldLogger
End Class
लाभ: कॉन्फ़िगरेशन को केंद्रीकृत करता है, पठनीयता में सुधार करता है, और ASP.NET या एंटिटी फ्रेमवर्क जैसे फ्रेमवर्क के साथ सहजता से एकीकृत करता है।
19) बताएं कि VB.NET में रिफ्लेक्शन कैसे काम करता है और इसका उपयोग उदाहरण दें।
रिफ्लेक्शन रनटाइम पर मेटाडेटा के निरीक्षण और हेरफेर की अनुमति देता है System.Reflection नामस्थान. डेवलपर्स खोज सकते हैं प्रकार, तरीकों, गुणऔर भी सदस्यों को गतिशील रूप से आमंत्रित करें.
उदाहरण:
Dim t = GetType(String)
For Each m In t.GetMethods()
Console.WriteLine(m.Name)
Next
बक्सों का इस्तेमाल करें:
- प्लग-इन आर्किटेक्चर का निर्माण.
- गतिशील क्रमांकन/क्रमिकीकरण.
- दस्तावेज़ तैयार करना.
- परीक्षण ढांचे.
लाभ: लचीलापन और शक्ति; नुकसान: धीमी गति से निष्पादन और संभावित सुरक्षा चिंताएं।
20) एक्सटेंशन विधियां क्या हैं, और वे VB.NET में इनहेरिटेंस या यूटिलिटीज से किस प्रकार भिन्न हैं?
एक्सटेंशन विधियाँ डेवलपर्स को अनुमति देती हैं नई कार्यक्षमता जोड़ें मौजूदा प्रकारों के लिए बिना संशोधित या विरासत में मिले उनसे। वे घोषित किए जाते हैं मॉड्यूल दायरा और चिह्नित <Extension()> विशेषता।
उदाहरण:
Imports System.Runtime.CompilerServices
Module StringExtensions
<Extension()>
Public Function ToTitleCase(s As String) As String
Return Globalization.CultureInfo.CurrentCulture.TextInfo.ToTitleCase(s.ToLower())
End Function
End Module
' Usage
Dim result = "hello world".ToTitleCase()
लाभ: बेहतर पठनीयता, रखरखाव और धाराप्रवाह एपीआई डिजाइन।
नुकसान: यदि इसका अधिक उपयोग किया जाए तो अस्पष्टता की संभावना हो सकती है।
वे इंटेलिसेंस में खोज योग्यता को बनाए रखते हुए स्थैतिक सहायक उपयोगिताओं के लिए एक सुंदर विकल्प प्रदान करते हैं।
21) एक के जीवनचक्र की व्याख्या करें Windows VB.NET में फॉर्म अनुप्रयोग.
RSI Windows प्रपत्र जीवनचक्र इसमें आरंभीकरण से लेकर निपटान तक की घटनाओं का एक क्रम शामिल है। यह तब शुरू होता है जब Application.Run() को कॉल किया जाता है, जो मुख्य फ़ॉर्म बनाता है और संदेश लूप शुरू करता है। प्रमुख चरण हैं:
- आरंभीकरण – कन्स्ट्रक्टर डिफ़ॉल्ट सेट करता है, और
InitializeComponent()यूआई बनाता है. - इवेंट लोड करें - फॉर्म और नियंत्रण पूरी तरह से बनाए गए हैं।
- सक्रिय/पेंट - फॉर्म प्रदर्शित और तैयार किया गया है।
- उपयोगकर्ता संपर्क - इनपुट इवेंट (क्लिक, कीप्रेस) संसाधित किए जाते हैं।
- समापन/बंद - सफाई और डेटा स्थायित्व होता है।
- सुविधाओं - मेमोरी और अप्रबंधित संसाधन जारी किए जाते हैं।
उदाहरण:
Public Sub Main()
Application.Run(New MainForm())
End Sub
सर्वश्रेष्ठ प्रणालियां: आरंभीकरण को संभालें Form_Load और सफाई Form_Closing or Disposeयह संगठित जीवनचक्र यूआई स्थिरता और संसाधन प्रबंधन सुनिश्चित करता है।
22) VB.NET में उपलब्ध विभिन्न डेटा एक्सेस तकनीकें क्या हैं? ADO.NET और Entity Framework की तुलना करें।
VB.NET एकाधिक का समर्थन करता है डेटा एक्सेस परतें, विशेष रूप से ADO.NET, इकाई फ्रेमवर्क (EF), तथा LINQ से SQL.
| Feature | ADO.NET | इकाई की रूपरेखा |
|---|---|---|
| Abstracस्तर | निम्न (मैन्युअल SQL, डेटासेट) | उच्च (ORM, LINQ) |
| नियंत्रण | SQL और कनेक्शन पर पूर्ण नियंत्रण | स्वचालित मानचित्रping |
| प्रदर्शन | सरल कार्यों के लिए तेज़ | थोड़ा ओवरहेड |
| डेटा प्रकार सुरक्षा | हाथ-संबंधी | जोर से टाइप किया हुआ |
| उदाहरण | विरासत, संग्रहीत प्रक्रियाएँ | आधुनिक डेटा मॉडलिंग |
उदाहरण:
' ADO.NET Example
Using conn As New SqlConnection(cs)
Dim cmd As New SqlCommand("SELECT * FROM Employees", conn)
conn.Open()
Using reader = cmd.ExecuteReader()
While reader.Read()
Console.WriteLine(reader("Name"))
End While
End Using
End Using
इकाई की रूपरेखा मानचित्र के माध्यम से जीवनचक्र को सरल बनाता हैping डेटाबेस टेबल को स्वचालित रूप से क्लास में परिवर्तित किया जाता है।
23) ADO.NET में डेटासेट और डेटा रीडर के बीच क्या अंतर है?
DataReader एक तेज़ प्रदान करता है, केवल अग्रेषित, केवल पढ़ने के लिए आकड़ों का प्रवाह। DataSet है एक स्मृति में, डिस्कनेक्टेड डेटा का प्रतिनिधित्व.
| Feature | डेटारीडर | डेटासेट |
|---|---|---|
| संबंध | खुले कनेक्शन की आवश्यकता है | ऑफ़लाइन काम करता है |
| मेमोरी उपयोग | निम्न | हाई |
| पथ प्रदर्शन | फॉरवर्ड-केवल | रैंडम एक्सेस |
| अद्यतन समर्थन | नहीं | हाँ |
| प्रदर्शन | तेज़ | और धीमा |
उदाहरण:
Dim reader = cmd.ExecuteReader() ' Connected
Dim adapter As New SqlDataAdapter("SELECT * FROM Employees", conn)
Dim ds As New DataSet()
adapter.Fill(ds, "Emp") ' Disconnected
उपयोग DataReader हल्के वजन वाले पढ़ने के लिए और DataSet जब आपको संबंध, अद्यतन या XML संचालन की आवश्यकता होती है।
24) आप VB.NET में ADO.NET का उपयोग करके CRUD ऑपरेशन कैसे करते हैं?
CRUD का अर्थ है बनाने, पढ़ने, अद्यतन, हटाएँये ऑपरेशन इसके माध्यम से संचालित किए जाते हैं SqlCommand, SqlConnection, तथा SqlDataAdapter.
उदाहरण:
Using conn As New SqlConnection(cs)
conn.Open()
Dim insertCmd As New SqlCommand("INSERT INTO Employee(Name) VALUES(@n)", conn)
insertCmd.Parameters.AddWithValue("@n", "John")
insertCmd.ExecuteNonQuery()
End Using
लाभ: नियंत्रण, प्रदर्शन, लेनदेन सुरक्षा।
नुकसान: बॉयलरप्लेट कोड और मैनुअल SQL प्रबंधन।
उपयोग TransactionScope एकाधिक कमांडों में परमाणु संचालन सुनिश्चित करने के लिए।
आधुनिक फ्रेमवर्क में भी निम्न-स्तरीय डेटा एक्सेस के लिए ADO.NET महत्वपूर्ण बना हुआ है।
25) VB.NET में LINQ क्या है? इसके लाभ और उपयोग के उदाहरण बताइए।
भाषा एकीकृत क्वेरी (LINQ) VB.NET सिंटैक्स में सीधे संग्रह, XML या डेटाबेस की क्वेरी करने की सुविधा देता है। यह पठनीयता, प्रकार सुरक्षा और रखरखाव में सुधार करता है।
उदाहरण:
Dim numbers = {1, 2, 3, 4, 5}
Dim evens = From n In numbers
Where n Mod 2 = 0
Select n
For Each n In evens
Console.WriteLine(n)
Next
लाभ:
- इन-मेमोरी और रिमोट डेटा के लिए एकीकृत क्वेरी मॉडल।
- संकलन-समय प्रकार जाँच.
- SQL इंजेक्शन जोखिम कम हो गया.
- आसान डिबगिंग और रखरखाव.
LINQ एकल, घोषणात्मक वाक्यविन्यास के अंतर्गत असमान डेटा स्रोतों को एकीकृत करके जीवनचक्र प्रबंधन को सरल बनाता है।
26) VB.NET में असेंबलीज़ क्या हैं? निजी और साझा असेंबलीज़ में अंतर बताइए।
An विधानसभा एक संकलित कोड लाइब्रेरी (DLL या EXE) है जो एक के रूप में कार्य करती है परिनियोजन, संस्करण और सुरक्षा की इकाई कुल मिलाकर।
| प्रकार | स्थान | दर्शनीयता | उदाहरण |
|---|---|---|---|
| निजी Assembly | एप्लिकेशन फ़ोल्डर | एकल आवेदन | App\bin\MyLib.dll |
| साझा Assembly | जीएसी (वैश्विक Assembly कैश) | कई ऐप | मजबूत नाम वाला DLL |
उदाहरण (मजबूत नाम बनाना):
sn -k keypair.snk
फिर VB.NET में:
<Assembly: AssemblyKeyFile("keypair.snk")>
लाभ: संस्करण नियंत्रण, मॉड्यूलरिटी, पुन: उपयोग।
नुकसान: जीएसी परिनियोजन में जटिलता बढ़ गई।
27) VB.NET में सिंक्रोनस और एसिंक्रोनस प्रोग्रामिंग के बीच अंतर को उदाहरणों के साथ समझाइए।
Syncअतुल्यकालिक परिचालन थ्रेड को पूरा होने तक अवरुद्ध कर देते हैं, जबकि अतुल्यकालिक परिचालन थ्रेड को निष्पादन जारी रखने के लिए मुक्त कर देते हैं।
| Feature | Synchronous | अतुल्यकालिक |
|---|---|---|
| थ्रेड ब्लॉकिंग | हाँ | नहीं |
| प्रदर्शन | और धीमा | स्केलेबल |
| उदाहरण | ExecuteReader() |
ExecuteReaderAsync() |
उदाहरण:
Public Async Function DownloadAsync(url As String) As Task
Using client As New Net.Http.HttpClient()
Dim content = Await client.GetStringAsync(url)
Console.WriteLine(content)
End Using
End Function
लाभ: बेहतर यूआई प्रतिक्रिया और मापनीयता।
नुकसान: अधिक जटिल डिबगिंग और स्टैक tracआईएनजी.
28) VB.NET में मल्टीथ्रेडिंग क्या है? आप थ्रेड सुरक्षा का प्रबंधन कैसे करते हैं?
multithreading एकाधिक कोड पथों के समवर्ती निष्पादन की अनुमति देता है। VB.NET इसका उपयोग करता है System.Threading और System.Threading.Tasks इसके लिए नामस्थान.
उदाहरण:
Dim t1 As New Thread(AddressOf TaskA)
t1.Start()
Sub TaskA()
Console.WriteLine("Running on thread: " & Thread.CurrentThread.ManagedThreadId)
End Sub
धागा सुरक्षा तकनीकें:
SyncLock(मॉनीटर) रेस स्थितियों को रोकने के लिए।- अपरिवर्तनीय डेटा संरचनाएं.
ConcurrentDictionaryऔरTaskप्रबंधित समवर्तीता के लिए.
लाभ: समानांतर प्रदर्शन; नुकसान: जटिलता, संभावित गतिरोध.
29) VB.NET में सामान्यतः उपयोग किये जाने वाले डिज़ाइन पैटर्न क्या हैं?
डिज़ाइन पैटर्न बार-बार होने वाली डिज़ाइन समस्याओं के लिए पुन: प्रयोज्य समाधान प्रदान करते हैं। आम तौर पर ये समाधान निम्नलिखित हैं:
| पैटर्न | प्रकार | उदाहरण |
|---|---|---|
| एकाकी वस्तु | क्रिएशनल | वैश्विक साझा इंस्टेंस |
| फ़ैक्टरी | क्रिएशनल | ऑब्जेक्ट निर्माण abstracउत्पादन |
| प्रेक्षक | व्यवहार | घटना अधिसूचना प्रणालियाँ |
| MVC | Archiसंरचनात्मक | UI तर्क पृथक्करण |
उदाहरण (सिंगलटन):
Public Class Logger
Private Shared _instance As Logger
Private Sub New()
End Sub
Public Shared ReadOnly Property Instance As Logger
Get
If _instance Is Nothing Then _instance = New Logger()
Return _instance
End Get
End Property
End Class
पैटर्न विस्तारशीलता, रखरखाव और चिंताओं के स्पष्ट पृथक्करण को सुनिश्चित करते हैं।
30) .NET में कचरा संग्रहण (GC) कैसे काम करता है, और आप इसे VB.NET में कैसे अनुकूलित कर सकते हैं?
RSI .NET कचरा संग्रहकर्ता अप्रयुक्त वस्तुओं को पुनः प्राप्त करके स्वचालित रूप से मेमोरी का प्रबंधन करता है। यह उपयोग करता है पीढ़ीगत संग्रह (0, 1, और 2) प्रदर्शन को अनुकूलित करने के लिए।
जीसी चरण:
- मार्क - जीवित वस्तुओं की पहचान करता है।
- स्वीप - गैर-संदर्भित वस्तुओं की स्मृति पुनः प्राप्त करता है।
- सघन - सन्निहित स्मृति के लिए वस्तुओं को पुनर्व्यवस्थित करता है।
अनुकूलन तकनीकें:
- उपयोग
Usingडिस्पोजेबल वस्तुओं के लिए। - अनावश्यक रूप से बड़ी वस्तु आवंटन से बचें।
- कॉल
GC.Collect()संयम से। - छोटे अपरिवर्तनीय डेटा के लिए मान प्रकार का उपयोग करें.
उदाहरण:
Using bmp As New Bitmap(100, 100)
' Work with bitmap
End Using
उचित GC प्रबंधन स्थिर अनुप्रयोग जीवनचक्र सुनिश्चित करता है और मेमोरी लीक को रोकता है।
31) VB.NET में ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग (OOP) के चार स्तंभों को उदाहरणों के साथ समझाइए।
VB.NET, एक पूर्णतः ऑब्जेक्ट-ओरिएंटेड भाषा के रूप में, सभी चार OOP सिद्धांतों का समर्थन करता है: कैप्सूलीकरण, विरासत, बहुरूपता, तथा Abstracउत्पादन.
| सिद्धांत | विवरण | उदाहरण |
|---|---|---|
| कैप्सूलीकरण | डेटा को उस पर कार्य करने वाली विधियों के साथ बंडल करना | Private fields with Public properties |
| विरासत | मौजूदा वर्गों से नए वर्ग प्राप्त करना | Class Car Inherits Vehicle |
| बहुरूपता | एक ही विधि विभिन्न प्रकारों में अलग-अलग व्यवहार करती है | Overrides Function Draw() |
| Abstracउत्पादन | जटिल कार्यान्वयन विवरण छिपाना | MustInherit कक्षाएं, इंटरफेस |
उदाहरण:
Public MustInherit Class Shape
Public MustOverride Function Area() As Double
End Class
Public Class Square
Inherits Shape
Public Overrides Function Area() As Double
Return 25
End Function
End Class
प्रत्येक सिद्धांत एक स्वच्छ, मॉड्यूलर और रखरखाव योग्य अनुप्रयोग जीवनचक्र में योगदान देता है।
32) VB.NET में फ़ाइल हैंडलिंग कैसे करते हैं? उदाहरण सहित समझाइए।
VB.NET का उपयोग करता है System.IO फ़ाइल संचालन जैसे निर्माण, पढ़ना, लिखना और हटाना आदि को संभालने के लिए नामस्थान का उपयोग किया जाता है।
उदाहरण:
Dim path = "C:\example.txt" ' Write File.WriteAllText(path, "Hello VB.NET") ' Read Dim content = File.ReadAllText(path) Console.WriteLine(content) ' Append File.AppendAllText(path, vbCrLf & "New Line")
विभिन्न तरीके:
StreamReader/StreamWriterअनुक्रमिक संचालन के लिए.BinaryReader/BinaryWriterबाइनरी डेटा के लिए.FileInfo/DirectoryInfoमेटाडेटा प्रबंधन के लिए.
लाभ: सरल एपीआई और अपवाद सुरक्षा; नुकसान: यदि अतुल्यकालिक रूप से प्रबंधित नहीं किया गया तो संभावित I/O अड़चनें उत्पन्न हो सकती हैं।
33) VB.NET में XML ऑपरेशन क्या हैं? आप XML को कुशलतापूर्वक कैसे पढ़ और लिख सकते हैं?
VB.NET एकाधिक प्रदान करता है प्रकार XML प्रसंस्करण के माध्यम से System.Xml और LINQ से XML (System.Xml.Linq).
LINQ से XML का उपयोग करने का उदाहरण:
Dim books = <Books>
<Book title="VB.NET Essentials" author="John Doe"/>
</Books>
books.Save("books.xml")
Dim loaded = XDocument.Load("books.xml")
For Each book In loaded...<Book>
Console.WriteLine(book.@title)
Next
लाभ:
- घोषणात्मक वाक्यविन्यास.
- LINQ के माध्यम से आसान क्वेरी.
- स्कीमा सत्यापन (
XmlSchemaSet).
नुकसान:
- बड़ी फ़ाइलों के लिए अधिक मेमोरी फ़ुटप्रिंट.
प्रदर्शन के लिए, प्राथमिकता दें XmlReader स्ट्रीमिंग पढ़ने के लिए.
34) VB.NET में क्रमांकन और उसके प्रकारों की व्याख्या कीजिए। एक तुलना तालिका भी शामिल कीजिए।
क्रमबद्धता वस्तुओं को संग्रहणीय या transmitटेबल फॉर्मेट। डीसीरियलाइज़ेशन ऑब्जेक्ट को पुनर्निर्मित करता है।
| प्रकार | नाम स्थान | प्रारूप | उदाहरण |
|---|---|---|---|
| द्विचर | System.Runtime.Serialization.Formatters.Binary |
द्विचर | तेज़, कॉम्पैक्ट (.NET 5+ में अप्रचलित) |
| एक्सएमएल | System.Xml.Serialization |
एक्सएमएल | अंतर-संचालनीय, पठनीय |
| JSON | System.Text.Json |
JSON | आधुनिक वेब API |
| डेटाकॉनtract | System.Runtime.Serialization |
एक्सएमएल/जेएसओएन | डब्ल्यूसीएफ और कॉनtracts |
उदाहरण:
Dim emp As New Employee With {.Id = 1, .Name = "Sam"}
Dim serializer As New XmlSerializer(GetType(Employee))
Using fs As New FileStream("emp.xml", FileMode.Create)
serializer.Serialize(fs, emp)
End Using
लाभ: आसान दृढ़ता, अंतरसंचालनीयता; नुकसान: बड़े ग्राफ़ के लिए संस्करण चुनौतियाँ और प्रदर्शन लागत।
35) VB.NET सुरक्षा संदर्भ में प्रमाणीकरण और प्राधिकरण के बीच क्या अंतर है?
प्रमाणीकरण सत्यापित करता है कौन एक उपयोगकर्ता है; प्राधिकरण निर्धारित करता है क्या वे कर सकते हैं.
| पहलू | प्रमाणीकरण | प्राधिकरण |
|---|---|---|
| उद्देश्य | पहचान सत्यापित करें | पहुँच अधिकार प्रदान करें |
| तंत्र | क्रेडेंशियल (उपयोगकर्ता नाम/पासवर्ड, टोकन) | भूमिकाएँ, दावे |
| उदाहरण | लॉगिन फ़ॉर्म सत्यापन | भूमिका आधारित अभिगम नियंत्रण |
| नाम स्थान | System.Security.Principal |
System.Web.Security |
उदाहरण:
If User.Identity.IsAuthenticated Then
If User.IsInRole("Admin") Then
' Allow access
End If
End If
दोनों ही सुरक्षा जीवनचक्र के प्रमुख चरण हैं - पहले प्रमाणीकरण, फिर प्राधिकरण।
36) VB.NET में एन्क्रिप्शन और डिक्रिप्शन कैसे काम करता है? एक व्यावहारिक उदाहरण दीजिए।
VB.NET क्रिप्टोग्राफी का समर्थन करता है System.Security.Cryptography। सामान्य प्रकार सममित शामिल करें (AES, DES) और असममित (RSA) कूटलेखन।
AES का उपयोग करते हुए उदाहरण:
Dim aes As Aes = Aes.Create() aes.Key = keyBytes aes.IV = ivBytes Dim encryptor = aes.CreateEncryptor(aes.Key, aes.IV)
लाभ: गोपनीयता और अखंडता की रक्षा करता है।
नुकसान: कुंजी प्रबंधन जटिलता, सीपीयू लागत.
उपयोग असममित एन्क्रिप्शन कुंजी विनिमय के लिए और सममित थोक डेटा के लिए.
37) आप VB.NET से वेब सेवा या REST API कैसे कॉल कर सकते हैं?
VB.NET REST API का उपयोग कर सकता है HttpClient.
उदाहरण:
Imports System.Net.Http
Imports System.Threading.Tasks
Public Async Function GetWeatherAsync() As Task
Using client As New HttpClient()
Dim response = Await client.GetStringAsync("https://api.weather.com/data")
Console.WriteLine(response)
End Using
End Function
लाभ: सरलता, async समर्थन, JSON एकीकरण।
नुकसान: नेटवर्क विफलताओं के लिए अपवाद प्रबंधन अनिवार्य है।
आप भी उपयोग कर सकते हैं Add Web Reference विरासत SOAP सेवाओं के लिए.
38) डेलीगेट्स और लैम्ब्डा एक्सप्रेशन क्या हैं, और VB.NET में इनका एक साथ उपयोग कैसे किया जाता है?
A प्रतिनिधि एक फ़ंक्शन के लिए एक प्रकार-सुरक्षित सूचक है; एक लैम्ब्डा एक इनलाइन अनाम फ़ंक्शन है। ये अक्सर इवेंट हैंडलिंग या LINQ एक्सप्रेशन के लिए एक साथ काम करते हैं।
उदाहरण:
Dim square As Func(Of Integer, Integer) = Function(x) x * x Console.WriteLine(square(4))
लाभ: संक्षिप्त वाक्यविन्यास, कार्यात्मक प्रोग्रामिंग शैली, पुन: प्रयोज्यता।
नुकसान: जटिल तर्क के लिए कम पठनीय.
प्रतिनिधि अतुल्यकालिक कॉलबैक, घटनाओं और LINQ अभिव्यक्तियों के लिए आधार बनाते हैं।
39) VB.NET में प्रबंधित और अप्रबंधित कोड के बीच क्या अंतर है?
प्रबंधित कोड के नियंत्रण में निष्पादित होता है सामान्य भाषा रनटाइम (सीएलआर), जबकि अप्रबंधित कोड सीधे ओएस पर चलता है (उदाहरण के लिए, C++ पुस्तकालय)।
| Feature | प्रबंधित | अप्रबंधित |
|---|---|---|
| याद | स्वचालित जीसी | मैनुअल प्रबंधन |
| सुरक्षा | सीएलआर-प्रवर्तित | डेवलपर द्वारा लागू |
| इंटरॉप | P/Invoke के माध्यम से आसान | हाथ-संबंधी |
| उदाहरण | VB.NET वर्ग | C++ DLL |
उदाहरण (पी/इनवोक):
<DllImport("user32.dll")>
Public Shared Function MessageBox(hwnd As IntPtr, text As String, caption As String, type As Integer) As Integer
End Function
अप्रबंधित इंटरऑप का सावधानीपूर्वक उपयोग करें और हमेशा मूल संसाधनों को उचित तरीके से मुक्त करें।
40) आप VB.NET एप्लिकेशन के प्रदर्शन को कैसे अनुकूलित करते हैं? प्रमुख रणनीतियों की सूची बनाएँ।
VB.NET प्रदर्शन को अनुकूलित करने में शामिल है एल्गोरिथम, स्मृति और वास्तुकला सुधार।
तकनीक:
- उपयोग
StringBuilderलूप में संयोजन के लिए. - विकल्प सख्त और स्पष्ट सक्षम करें.
- अप्रबंधित संसाधनों का निपटान करें.
- अतुल्यकालिक I/O का लाभ उठाएँ।
- लगातार गणनाओं को कैश करें.
- जहां उपयुक्त हो, वहां मान प्रकार का उपयोग करें.
- विजुअल स्टूडियो डायग्नोस्टिक टूल्स के साथ प्रोफ़ाइल.
उदाहरण:
Dim sb As New Text.StringBuilder()
For i = 1 To 10000
sb.Append(i)
Next
लाभ: सीपीयू/मेमोरी खपत कम हुई और प्रतिक्रियात्मकता में सुधार हुआ।
नुकसान: सूक्ष्म अनुकूलन पठनीयता को नुकसान पहुंचा सकते हैं - ट्यूनिंग से पहले मापें।
🔍 वास्तविक दुनिया के परिदृश्यों और रणनीतिक प्रतिक्रियाओं के साथ शीर्ष VB.Net साक्षात्कार प्रश्न
1) VB.Net और VB6 के बीच मुख्य अंतर क्या हैं?
उम्मीदवार से अपेक्षित: साक्षात्कारकर्ता यह देखना चाहता है कि क्या अभ्यर्थी यह समझता है कि VB.Net किस प्रकार VB6 से विकसित हुआ है, तथा आधुनिक प्रोग्रामिंग प्रतिमानों और .NET फ्रेमवर्क एकीकरण पर ध्यान केंद्रित करता है।
उदाहरण उत्तर:
"VB.Net एक पूर्णतः ऑब्जेक्ट-ओरिएंटेड भाषा है जो .NET फ्रेमवर्क पर चलती है, जबकि VB6 पूरी तरह से ऑब्जेक्ट-ओरिएंटेड नहीं है और एक स्टैंडअलोन भाषा के रूप में चलती है। VB.Net इनहेरिटेंस, पॉलीमॉर्फिज्म, स्ट्रक्चर्ड एक्सेप्शन हैंडलिंग और अन्य .NET भाषाओं के साथ इंटरऑपरेबिलिटी को सपोर्ट करता है, जो इसे VB6 की तुलना में अधिक शक्तिशाली और लचीला बनाता है।"
2) क्या आप VB.Net में कॉमन लैंग्वेज रनटाइम (CLR) की अवधारणा को समझा सकते हैं?
उम्मीदवार से अपेक्षित: VB.Net प्रोग्रामों को निष्पादित करने वाले मुख्य घटक की समझ।
उदाहरण उत्तर:
"कॉमन लैंग्वेज रनटाइम (CLR) .NET फ्रेमवर्क का निष्पादन इंजन है। यह मेमोरी, थ्रेड निष्पादन, अपवाद प्रबंधन और सुरक्षा का प्रबंधन करता है। VB.Net कोड को पहले इंटरमीडिएट लैंग्वेज (IL) कोड में संकलित किया जाता है, जिसे फिर CLR द्वारा निष्पादित किया जाता है, जिससे क्रॉस-लैंग्वेज संगतता और अनुकूलित प्रदर्शन सुनिश्चित होता है।"
3) आप VB.Net में अपवादों को कैसे संभालते हैं?
उम्मीदवार से अपेक्षित: साक्षात्कारकर्ता अभ्यर्थी की मजबूत, त्रुटि-रहित कोड लिखने की क्षमता की पुष्टि करना चाहता है।
उदाहरण उत्तर:
“VB.Net में, अपवादों को नियंत्रित किया जाता है Try...Catch...Finally अवरोध पैदा करना। Try अनुभाग में ऐसा कोड है जो अपवाद उत्पन्न कर सकता है, Catch अनुभाग त्रुटि को संभालता है, और Finally "यह अनुभाग क्लीनअप कोड निष्पादित करता है। यह संरचना सुनिश्चित करती है कि अप्रत्याशित त्रुटियाँ होने पर भी अनुप्रयोग स्थिर रहें।"
4) उस समय का वर्णन करें जब आपने बेहतर प्रदर्शन के लिए VB.Net अनुप्रयोग को अनुकूलित किया हो।
उम्मीदवार से अपेक्षित: कोड दक्षता का विश्लेषण और सुधार करने की क्षमता।
उदाहरण उत्तर:
"अपनी पिछली भूमिका में, मैंने एक ऐसे एप्लिकेशन पर काम किया था जिसकी प्रतिक्रिया समय अपर्याप्त डेटाबेस क्वेरीज़ के कारण धीमा था। मैंने संग्रहीत प्रक्रियाओं को लागू करके और अनावश्यक लूप्स को कम करके कोड को अनुकूलित किया। परिणामस्वरूप, एप्लिकेशन का प्रदर्शन लगभग 40 प्रतिशत बेहतर हो गया।"
5) आप VB.Net में इनहेरिटेंस को कैसे लागू करते हैं?
उम्मीदवार से अपेक्षित: ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग सिद्धांतों का ज्ञान।
उदाहरण उत्तर:
“VB.Net में वंशानुक्रम का उपयोग करके प्राप्त किया जाता है Inherits कीवर्ड। एक चाइल्ड क्लास, पैरेंट क्लास से गुण और विधियाँ प्राप्त करती है, जिससे कोड को दोबारा इस्तेमाल करना और बेहतर रखरखाव संभव होता है। उदाहरण के लिए, Class Employee : Inherits Person कर्मचारी वर्ग को व्यक्ति वर्ग से विशेषताओं और व्यवहारों को विरासत में लेने की अनुमति देता है।”
6) मुझे VB.Net में आपके द्वारा हल की गई चुनौतीपूर्ण डिबगिंग समस्या के बारे में बताएं।
उम्मीदवार से अपेक्षित: समस्या-समाधान और विश्लेषणात्मक सोच।
उदाहरण उत्तर:
"अपनी पिछली नौकरी में, मुझे मेमोरी लीक की समस्या का सामना करना पड़ा, जिसके कारण एक VB.Net एप्लिकेशन लंबे समय तक इस्तेमाल के बाद क्रैश हो जाता था। मैंने बंद न हुई फ़ाइल स्ट्रीम की पहचान करने के लिए विज़ुअल स्टूडियो प्रोफाइलर जैसे डायग्नोस्टिक टूल का इस्तेमाल किया। संसाधनों का उचित निपटान सुनिश्चित करने के बाद, Using बयान के अनुसार, मुद्दा पूरी तरह से हल हो गया है।”
7) आप VB.Net अनुप्रयोगों में डेटाबेस कनेक्शन का प्रबंधन कैसे करते हैं?
उम्मीदवार से अपेक्षित: ADO.Net और डेटा एक्सेस की सर्वोत्तम प्रथाओं की समझ।
उदाहरण उत्तर:
“मैं ऑब्जेक्ट्स के माध्यम से डेटाबेस से कनेक्ट करने के लिए ADO.Net का उपयोग करता हूं SqlConnection, SqlCommand, तथा SqlDataAdapterमैं हमेशा कनेक्शन को यथासंभव देर से खोलता हूँ और उपयोग के तुरंत बाद बंद कर देता हूँ। मैं इसका भी उपयोग करता हूँ Using यह सुनिश्चित करने के लिए कि कनेक्शनों का उचित तरीके से निपटान किया गया है, संसाधनों के रिसाव को रोका जा रहा है।"
8) आप उस स्थिति को कैसे संभालेंगे जहां VB.Net एप्लिकेशन अचानक उत्पादन में प्रतिक्रिया देना बंद कर दे?
उम्मीदवार से अपेक्षित: दबाव में आलोचनात्मक सोच और समस्या निवारण कौशल।
उदाहरण उत्तर:
"ऐसी स्थिति में, मैं सबसे पहले कारण जानने के लिए इवेंट लॉग और त्रुटि संदेशों की समीक्षा करूँगा। मैं अनंत लूप, अनहैंडल्ड अपवादों या डेडलॉक की जाँच करूँगा। पहचान हो जाने पर, मैं परीक्षण वातावरण में समस्या को पुनः उत्पन्न करूँगा और एक पैच लागू करूँगा। पूरी प्रक्रिया के दौरान हितधारकों के साथ संवाद बनाए रखा जाएगा।"
9) आप संग्रह या डेटाबेस के साथ काम करने के लिए VB.Net में LINQ का उपयोग कैसे करते हैं?
उम्मीदवार से अपेक्षित: डेटा क्वेरी के लिए आधुनिक .NET सुविधाओं का उपयोग करने की क्षमता।
उदाहरण उत्तर:
"LINQ (लैंग्वेज इंटीग्रेटेड क्वेरी) संग्रहों या डेटाबेस की संक्षिप्त और पठनीय तरीके से क्वेरी करने की अनुमति देता है। उदाहरण के लिए, Dim result = From emp In Employees Where emp.Salary > 50000 Select emp 50,000 से ज़्यादा कमाने वाले कर्मचारियों को फ़िल्टर करता है। यह डेटा में हेरफेर को आसान बनाता है और कोड की पठनीयता को बढ़ाता है।”
10) बताएं कि आप VB.Net परियोजनाओं में कोड रखरखाव और मापनीयता कैसे सुनिश्चित करते हैं।
उम्मीदवार से अपेक्षित: सॉफ्टवेयर आर्किटेक्चर और कोडिंग की सर्वोत्तम प्रथाओं की समझ।
उदाहरण उत्तर:
"अपनी पिछली भूमिका में, मैंने रखरखाव सुनिश्चित करने के लिए SOLID सिद्धांतों और स्तरित आर्किटेक्चर का पालन किया। मैंने व्यावसायिक तर्क को डेटा एक्सेस और प्रेजेंटेशन परतों से अलग रखा। मैंने सुसंगत नामकरण परंपराएँ, उचित दस्तावेज़ीकरण और यूनिट परीक्षण भी लागू किए, जिससे टीम के लिए कोडबेस को कुशलतापूर्वक स्केल और अपडेट करना आसान हो गया।"
