VB.NET Interview Questions

Dear readers, these VB.NET Interview Questions have been designed specially to get you acquainted with the nature of questions you may encounter during your interview for the subject of VB.NET Language. As per my experience good interviewers hardly plan to ask any particular question during your interview, normally questions start with some basic concept of the subject and later they continue based on further discussion and what you answer:
 Visual Basic .NET (VB.NET) is an object-oriented computer programming language implemented on the .NET Framework. Although it is an evolution of classic Visual Basic language, it is not backwards-compatible with VB6, and any code written in the old version does not compile under VB.NET.
 Sub Main indicates the entry point of VB.Net program.
 Shared methods or static methods can be invoked without creating an object of the class.
 Shared declares a shared variable, which is not associated with any specific instance of a class or structure, rather available to all the instances of the class or structure.
 Shadows indicate that the variable re-declares and hides an identically named element, or set of overloaded elements, in a base class.
 Static indicates that the variable will retain its value, even when the after termination of the procedure in which it is declared.
 In VB.Net, constants are declared using the Const statement. The Const statement is used at module, class, structure, procedure, or block level for use in place of literal values.
 Ansi − Specifies that Visual Basic should marshal all strings to American National Standards Institute (ANSI) values regardless of the name of the external procedure being declared.
 Assembly − Specifies that an attribute at the beginning of a source file applies to the entire assembly.
 Async − Indicates that the method or lambda expression that it modifies is asynchronous. Such methods are referred to as async methods. The caller of an async method can resume its work without waiting for the async method to finish.
 Auto − The charsetmodifier part in the Declare statement supplies the character set information for marshaling strings during a call to the external procedure. It also affects how Visual Basic searches the external file for the external procedure name. The Auto modifier specifies that Visual Basic should marshal strings according to .NET Framework rules.
 ByRef − Specifies that an argument is passed by reference, i.e., the called procedure can change the value of a variable underlying the argument in the calling code. It is used under the contexts of −
Declare Statement
Declare Statement
Function Statement
Function Statement
Sub Statement
Sub Statement
 ByVal − Specifies that an argument is passed in such a way that the called procedure or property cannot change the value of a variable underlying the argument in the calling code. It is used under the contexts of −
Declare Statement
Declare Statement
Function Statement
Function Statement
Operator Statement
Operator Statement
Property Statement
Property Statement
Sub Statement
Sub Statement
 Default − Identifies a property as the default property of its class, structure, or interface.
 Friend − Specifies that one or more declared programming elements are accessible from within the assembly that contains their declaration, not only by the component that declares them.
Friend access is often the preferred level for an application's programming elements, and Friend is the default access level of an interface, a module, a class, or a structure.
 In − It is used in generic interfaces and delegates.
 Iterator − Specifies that a function or Get accessor is an iterator. An iterator performs a custom iteration over a collection.
 Key − The Key keyword enables you to specify behavior for properties of anonymous types.
 Module − Specifies that an attribute at the beginning of a source file applies to the current assembly module. It is not same as the Module statement.
 MustInherit − Specifies that a class can be used only as a base class and that you cannot create an object directly from it.
 MustOverride − Specifies that a property or procedure is not implemented in this class and must be overridden in a derived class before it can be used.
 Narrowing − Indicates that a conversion operator (CType) converts a class or structure to a type that might not be able to hold some of the possible values of the original class or structure.
 NotInheritable − Specifies that a class cannot be used as a base class.
 NotOverridable − Specifies that a property or procedure cannot be overridden in a derived class.
 Optional − Specifies that a procedure argument can be omitted when the procedure is called.
 Out − For generic type parameters, the Out keyword specifies that the type is covariant.
 Overloads − Specifies that a property or procedure redeclares one or more existing properties or procedures with the same name.
 Overridable − Specifies that a property or procedure can be overridden by an identically named property or procedure in a derived class.
 Overrides − Specifies that a property or procedure overrides an identically named property or procedure inherited from a base class.
 ParamArray − ParamArray allows you to pass an arbitrary number of arguments to the procedure. A ParamArray parameter is always declared using ByVal.
 Partial − Indicates that a class or structure declaration is a partial definition of the class or structure.
 Private − Specifies that one or more declared programming elements are accessible only from within their declaration context, including from within any contained types.
 Protected − Specifies that one or more declared programming elements are accessible only from within their own class or from a derived class.
 Public − Specifies that one or more declared programming elements have no access restrictions.
 ReadOnly − Specifies that a variable or property can be read but not written.
 Shadows − Specifies that a declared programming element redeclares and hides an identically named element, or set of overloaded elements, in a base class.
 Shared − Specifies that one or more declared programming elements are associated with a class or structure at large, and not with a specific instance of the class or structure.
 Static − Specifies that one or more declared local variables are to continue to exist and retain their latest values after termination of the procedure in which they are declared.
 Unicode − Specifies that Visual Basic should marshal all strings to Unicode values regardless of the name of the external procedure being declared.
 Widening − Indicates that a conversion operator (CType) converts a class or structure to a type that can hold all possible values of the original class or structure.
 WithEvents − Specifies that one or more declared member variables refer to an instance of a class that can raise events.
 WriteOnly − Specifies that a property can be written but not read.
 Dim Statement − Declares and allocates storage space for one or more variables.
Dim number As Integer
Dim quantity As Integer = 100
Dim message As String = "Hello!"
 Const Statement − Declares and defines one or more constants. 
Const maximum As Long = 1000
Const naturalLogBase As Object 
= CDec(2.7182818284)
 Enum Statement − Declares an enumeration and defines the values of its members. 
Enum CoffeeMugSize
    Jumbo
    ExtraLarge
    Large
    Medium
    Small
End Enum 
 Class Statement − Declares the name of a class and introduces the definition of the variables, properties, events, and procedures that the class comprises.
Class Box
Public length As Double
Public breadth As Double   
Public height As Double
End Class
 Structure Statement − Declares the name of a structure and introduces the definition of the variables, properties, events, and procedures that the structure comprises.
Structure Box
Public length As Double           
Public breadth As Double   
Public height As Double
End Structure
 Module Statement − Declares the name of a module and introduces the definition of the variables, properties, events, and procedures that the module comprises.
Public Module myModule
Sub Main()
Dim user As String = 
InputBox("What is your name?") 
MsgBox("User name is" & user)
End Sub 
End Module
 Interface Statement − Declares the name of an interface and introduces the definitions of the members that the interface comprises.
Public Interface MyInterface
    Sub doSomething()
End Interface 
 Function Statement − Declares the name, parameters, and code that define a Function procedure.
Function myFunction
(ByVal n As Integer) As Double 
    Return 5.87 * n
End Function
 Sub Statement − Declares the name, parameters, and code that define a Sub procedure.
Sub mySub(ByVal s As String)
    Return
End Sub 
 Declare Statement − Declares a reference to a procedure implemented in an external file.
Declare Function getUserName
Lib "advapi32.dll" 
Alias "GetUserNameA" 
(
  ByVal lpBuffer As String, 
  ByRef nSize As Integer) As Integer 
 Operator Statement − Declares the operator symbol, operands, and code that define an operator procedure on a class or structure.
Public Shared Operator +
(ByVal x As obj, ByVal y As obj) As obj
        Dim r As New obj
' implemention code for r = x + y
        Return r
    End Operator 
 Property Statement − Declares the name of a property, and the property procedures used to store and retrieve the value of the property.
ReadOnly Property quote() As String 
    Get 
        Return quoteString
    End Get 
End Property
 Event Statement − Declares a user-defined event.
Public Event Finished()
 Delegate Statement − Used to declare a delegate.
Delegate Function MathOperator( 
    ByVal x As Double, 
    ByVal y As Double 
) As Double 
 The VB.Net compiler directives give instructions to the compiler to preprocess the information before actual compilation starts. All these directives begin with #, and only white-space characters may appear before a directive on a line. These directives are not statements.
 AddressOf − Returns the address of a procedure. 
AddHandler Button1.Click,
AddressOf Button1_Click
 Await − It is applied to an operand in an asynchronous method or lambda expression to suspend execution of the method until the awaited task completes.  
Dim result As res
= Await AsyncMethodThatReturnsResult()
Await AsyncMethod()
 GetType − It returns a Type object for the specified type. The Type object provides information about the type such as its properties, methods, and events. 
MsgBox(GetType(Integer).ToString())
 Function Expression − It declares the parameters and code that define a function lambda expression. 
Dim add5 = Function(num As
 Integer) num + 5
'prints 10
Console.WriteLine(add5(5))
 If − It uses short-circuit evaluation to conditionally return one of two values. The If operator can be called with three arguments or with two arguments.
 Exit statement − Terminates the loop or select case statement and transfers execution to the statement immediately following the loop or select case.
 Continue statement − Causes the loop to skip the remainder of its body and immediately retest its condition prior to reiterating.
 GoTo statement − Transfers control to the labeled statement. Though it is not advised to use GoTo statement in your program.
 Dynamic arrays are arrays that can be dimensioned and re-dimensioned as par the need of the program. You can declare a dynamic array using the ReDim statement.
 A Jagged array is an array of arrays. A Jagged array is an array of arrays. The follwoing code shows declaring a jagged array named scores of Integers:
Dim scores As Integer()() = New Integer(5)(){}
 It represents ordered collection of an object that can be indexed individually. It is basically an alternative to an array. However, unlike array, you can add and remove items from a list at a specified position using an index and the array resizes itself automatically. It also allows dynamic memory allocation, add, search and sort items in the list.
 It uses a key to access the elements in the collection. A hash table is used when you need to access elements by using key, and you can identify a useful key value. Each item in the hash table has a key/value pair. The key is used to access the items in the collection.
 It uses a key as well as an index to access the items in a list. A sorted list is a combination of an array and a hash table. It contains a list of items that can be accessed using a key or an index. If you access items using an index, it is an ArrayList, and if you access items using a key, it is a Hashtable. The collection of items is always sorted by the key value.
 It represents a last-in, first out collection of object. It is used when you need a last-in, first-out access of items. When you add an item in the list, it is called pushing the item, and when you remove it, it is called popping the item.
 It represents a first-in, first out collection of object. It is used when you need a first-in, first-out access of items. When you add an item in the list, it is called enqueue, and when you remove an item, it is called deque.
 It represents an array of the binary representation using the values 1 and 0. It is used when you need to store the bits but do not know the number of bits in advance. You can access items from the BitArray collection by using an integer index, which starts from zero.
 In VB.Net, a function can return a value to the calling code in two ways −
By using the return statement.
By using the return statement.
By assigning the value to the function name.
By assigning the value to the function name.
 By using the params keyword, a method parameter can be specified which takes a variable number of arguments or even no argument.
 No! additional parameters are not permitted after the params keyword in a method declaration. Only one params keyword is allowed in a method declaration.
 VB.NET exceptions are represented by classes. The exception classes in VB.NET are mainly directly or indirectly derived from the System.Exception class. Some of the exception classes derived from the System.Exception class are the System.ApplicationException and System.SystemException classes.
 The System.ApplicationException class supports exceptions generated by application programs. Hence the exceptions defined by the programmers should derive from this class. The System.SystemException class is the base class for all predefined system exception.
The stream is basically the sequence of bytes passing through the communication path. There are two main streams: the input stream and the output stream. The input stream is used for reading data from file (read operation) and the output stream is used for writing into the file (write operation).
The FileStream class in the System.IO namespace helps in reading from, writing to and closing files. This class derives from the abstract class Stream.
 The StreamReader class inherits from the abstract base class TextReader that represents a reader for reading series of characters. It is used for reading from text files.
 The StreamWriter class inherits from the abstract class TextWriter that represents a writer, which can write a series of character. It is used for writing to text files.
 The BinaryReader class is used to read binary data from a file. A BinaryReader object is created by passing a FileStream object to its constructor. The BinaryReader class is used for reading from a binary file.
 The BinaryWriter class is used to write binary data to a stream. A BinaryWriter object is created by passing a FileStream object to its constructor. The BinaryWriter class is used for writing to a binary file.
 The DirectoryInfo class is derived from the FileSystemInfo class. It has various methods for creating, moving, and browsing through directories and subdirectories. This class cannot be inherited.
 The FileInfo class is derived from the FileSystemInfo class. It has properties and instance methods for creating, copying, deleting, moving, and opening of files, and helps in the creation of FileStream objects. This class cannot be inherited.
 Every Visual Basic control consists of three important elements −
Properties − Describes the object.
Properties − Describes the object.
Methods − Cause an object to do something.
Methods − Cause an object to do something.
Events − Happens when an object does something.
Events − Happens when an object does something.
 It represents the container for all the controls that make up the user interface.
 It represents a Windows text box control.
 It represents a standard Windows label.
 It represents a Windows button control.
 It represents a Windows control to display a list of items.
 It represents a Windows combo box control.
 It enables the user to select a single option from a group of choices when paired with other RadioButton controls.
 It represents a Windows picture box control for displaying an image.
 It represents a Windows progress bar control.
 It Implements the basic functionality of a scroll bar control.
 It represents a Windows control that allows the user to select a date and a time and to display the date and time with a specified format.
 It displays a hierarchical collection of labeled items, each represented by a TreeNode.
 It represents a Windows list view control, which displays a collection of items that can be displayed using one of four different views.
Further you can go through your past assignments you have done with the subject and make sure you are able to speak confidently on them. If you are fresher then interviewer does not expect you will answer very complex questions, rather you have to make your basics concepts very strong.
Second it really doesn't matter much if you could not answer few questions but it matters that whatever you answered, you must have answered with confidence. So just feel confident during your interview. We at tutorialspoint wish you best luck to have a good interviewer and all the very best for your future endeavor. Cheers :-)