50+ Top .NET Interview Questions and Answers

By | February 13, 2022
.NET Interview Questions

.NET framework is developed by Microsoft that allows us to build and deploy modern applications. All kinds of applications including desktop, mobile, and web applications can be developed using .NET. It supports a variety of programming languages that you can use to create modern and powerful applications. The .NET framework also allows you to develop applications for wireless devices such as personal digital assistants.

The Common Language Runtime and the .NET Framework Class Library are the two main components of.NET Frameworks. The programming languages supported by .NET are namely C#, C++, F#, and Visual Basic.

In this article, we will be discussing some of the most common .NET interview questions that will help you ace your next technical round of .NET.

What is a Framework?

A framework is a platform that is used to develop applications for web, desktop, and mobile devices in a well-organized and efficient manner. Examples of frameworks are ASP.NET, Springboot, Django, etc.

How Do .NET Applications Run?

.NET codes are compiled into Common Intermediate Language (CIL) and stored as an assembly file. After compilation, Common Language Runtime converts assembly files into machine-level code using the Just-In-Time (JIT) compiler.

Top .NET Interview Questions and Answers

1. What is the Just In Time compiler?

Just-in-time compilation involves the compilation of a code during execution instead of before execution. It is used to enhance the software runtime performance.

Incremental modifications during runtime are made when a pre-compiled application is built with appropriate code changes.

Vamware

2. What is MSIL in .NET?

The MSIL stands for Microsoft Intermediate Language. The compiler converts your source code to Microsoft Intermediate Language (MSIL) at compile time. The collection of instructions that may efficiently be translated to the machine code are Microsoft Intermediate Language (MSIL) instructions. During execution, the Just in Time (JIT) compiler of the Common Language Runtime (CLR) turns Microsoft Intermediate Language Code into machine code for the operating system.

3. What is assembly language? Write an example code for assembly language

The assembly language is essentially a low-level language and is used for interacting with the machine directly. It may be created from a high-level programming language (for example C, C++, or Python) by compiling the source code or written from scratch by a programmer. It takes a little more effort to write them by yourself, but the running time of code becomes much faster as compared to the code written in high-level languages. Assembly language remains employed for a range of jobs in industry because it is extremely close to the hardware. Most processors have a set of assembly language instructions (i.e. CPU, a microprocessor, a processor, a microcontroller).

Vamware

The below code shows an assembly program to add two numbers:

#include<stdio.h>

void main() {

int a = 1, b = 212, c;

asm {

Vamware

mov ax,a

mov bx,b

add ax,bx

mov c,ax

}

printf(“c= %d”,c);

}

4. What is Assembly in .NET?

These are building blocks of the .NET framework. An assembly is a code created by a compiler, composed of a set of types and resources designed to operate together and form a logical functionality unit.

5. What is Garbage Collection?

This is the mechanism through which the storage that is dynamically assigned to a program is recycled for other objects to use. Instead of explicit code (which a programmer has written) to release specific blocks of memory, the phrase generally refers to automated regeneration for regular storage by the waste collector. When the free memory quantity goes below a threshold or after a particular number of allocations, automatic waste collection is generally initiated.

The word “garbage collection” means that things which the software no longer needs and may be disposed of to create a memory for other dynamic objects. “Memory recycling” may be a more precise term for referring to this process. When the program no longer refers to an item, the heap space used by it may be recycled in order to allow space for new objects.

6. What is MVC in .NET?

The primary notion of MVC consists of designing the program into 3 different parts: the model (component serving as the database blueprint), the controller (managing the View-Model interaction), and the View (the UI and presentation).

Model

Model is the data form and the logic of business. It keeps the application data, retrieves and saves the model status of objects in a database.

It responds to the users’ requests for data to be read and also updates the data. In this scenario, it is the Model that interacts with the database to either read or write the data. The user requests from the browser, the Model is the portion of the program that receives the requests related to the database, processes the request, and returns the information.

View

View corresponds to the user interface that allows end-users to visualize the application’s resources and send requests to the backend or the server of the application. Normally, the user can send the query to retrieve specified resources such as a particular web page by using either a web browser or a mobile app The view can be written either using pure HTML or using some libraries and frameworks like React, Vue, etc. The view also renders the data received from the controller.

Controller

Now, what if the user wants to request data and get a response. You would need an appropriate business logic, which is an algorithm that receives the user request, validates the request or transfers the request to another component, and sends a response back to the client. This task is handled by the controllers.

In essence, the controller accepts the user request and directs it to the components necessary for providing a suitable response.

7. Value types vs Reference types

Value types

They store actual data in them and not some pointer or reference of another variable. They are usually stored in the stack section of the memory. Assigning a value contained in one variable to another variable will copy the current value to the new variable and won’t affect the original variable.

Reference types

They store references or addresses of other variables and are of pointer types. These variables are stored in the heap section of the memory.

8. What are delegates?’

Delegate is a type containing a reference method(s) in an object. It is also called a type-safe function pointer.

The programmer can encapsulate a reference to a method within a delegate object by means of a delegate.

9. What is the interface? Also, give an example of using an interface in any language.

An interface is like a base class, an abstract one. All members that are declared in an abstract class must be implemented in a separate class.

The members declared inside the abstract class are also called virtual functions.

Interfaces can include events, methods, and features. Also, no method implementation is contained in the interfaces; it only contains declarations.

Below is an example for interface in C#:

interface A {

void VirtualMethod();

}

class B: A {

static void Main() {

B obj = new B();

obj.VirtualMethod();

}

public void VirtualMethod() {

}

}

10. Boxing vs Unboxing in .NET

Boxing and unboxing are conversions of value types where we convert data from one type to another type.

Boxing is the process of converting a value type of variable into a reference type. Boxing is implicit.

Unboxing is the process of converting a reference type into a value type. Unboxing is explicit.

11. What are the different parts of Assembly in .NET?

The different parts of Assembly are namely Manifest, Type Meta data, MSIL, and Resources.

12. What is caching?

Caching implies that the data is stored temporarily in storage space so that the data may be accessed quickly. It is used in all modern computers and even in networking applications. It is implemented to increase the accessing speed of data.

13. Namespace vs Assembly

A namespace is a collection of classes whereas assembly is a collection of logical units of .NET. An example of a namespace is the std namespace that you import in C++ for various input-output operations.

14. What are the different types of Assemblies in .NET?

Private Assembly: The assembly can only be accessed by the same application and is installed in the application’s installation directory.

Shared Assembly: Multiple applications can share this assembly with each other.

15. What are the different types of constructors available in .NET?

  • Default Constructors
  • Parameterized constructors
  • Copy Constructors
  • Static COnstructor

16. What is a heap memory

This is the part of the program memory where we store dynamically created objects and variables. The objects created using the new keyword are stored. Many times, we will need to delete the memory consumed in the heap when we don’t need an object further.

17. What are the programming languages supported by DotNet

  • C#.NET
  • VB.NET
  • C++.NET
  • J#.NET
  • F#.NET
  • JSCRIPT.NET
  • WINDOWS POWERSHELL
  • IRON RUBY
  • IRON PYTHON
  • C OMEGA
  • ASML(Abstract State Machine Language)

18. Differentiate between Class and an Object

Class is just a blueprint of an object. It contains the members that will be associated with each object. It does not occupy any space in the memory.

The object is the instance of the class. It has all the members of its class ‘defined’ inside it and occupies space either in stack or heap memory.

19. What can you use to make all the members of a class as virtual and make a class abstract

We can use interfaces for this task. Interfaces are abstract classes having all members as virtual.

20. C# lacks multiple inheritances. What can be used to achieve multiple inheritances in the language

We can use Interfaces for this task.

21. How can you import a namespace inside a file in C# and C++ respectively.

In C#, We can use the ‘using’ statement for this task. For instance, if we have a System namespace, we can write the following line:

using System;

In C++, we can use the ‘using namespace’ statement for this task. For instance, if we have an STD namespace, we will use:

using namespace std;

22. What is method overriding

Method overriding involves making two functions exactly the same in terms of the return type, arguments, and name. Overriding is usually applied in abstract classes where functions and virtual and we need to override them in the inherited class.

23. What is JWT

JSON Web Token (JWT) is an open standard that defines a compact and self-contained method for securely transmitting information as a JSON object between parties. Because it is digitally signed, this information can be verified and trusted. JWTs can be signed using either a symmetric or asymmetric algorithm, such as RSA.

24. What is the CLI command to build the .NET core app

The below command builds the code for the .NET core app

dotnet build

25. What are the different types of cookies available in .NET

Session Cookie: It persists for a single session and gets destroyed once the user closes the browser.

Persistent Cookie: Resides on the user’s machine for a specified period of time.

26. What are the different components in .NET

Common Language run-time, Application Domain, Common Type System, .NET class Library,

.NET Framework, Profiling.

27. What is the difference between const and read

const:

  • These variables are evaluated at compile time.
  • They are only for value types.

read-only:

  • These variables are evaluated at runtime.
  • They can hold reference type variables

28. What is LINQ

It stands for Language Integrated Query. LINQ allows us to query data from a variety of data sources with a common syntax. By using a single query, we can get or set information from different data sources such as SQL Server databases or XML documents.

29. What is abstract class

It is the class that cannot be used to create objects. It contains abstract methods that cannot be called by an object. Abstract class is usually created to implement method overriding in its child classes.

30. What namespace has standard input and output methods in .NET.

System namespace has methods like Console.Write() and Console.Read() methods used for standard output and input.

31. What are the different Validators in ASP.NET

  • RequiredFieldValidator
  • RangeValidator
  • CompareValidator
  • RegularExpressionValidator
  • CustomValidator
  • Validation Summary

32. What is the difference between authentication and authorization?

A person’s identity is verified by authenticating them. Passwords, Gmail, and other methods are used to verify a user’s identity

Authorization refers to granting access to the authenticated users for various resources related to the application.

32. Where do we define pipelines in DotNet Core application.

We define our application pipeline inside ‘Startup.cs’ file

33. What is Mono

Mono is an open-source implementation of the .NET Framework based on the ECMA standards for C# and the Common Language Runtime.

34. What are Identity Providers?

These are services that can act as sources for storing user’s information and identity. Examples are GitHub, Gmail, etc.

35. What is the static constructor? How to use it in C++

Static constructors are implicitly called before the creation of objects. They cannot have any formal parameters. They are usually used to create singleton objects and initialize static data members of the class.

C++ does not support static constructors.

36. What do we call a memory location where dynamically allocated data is stored

Dynamic memory allocation takes place in heap memory. In languages like C, we need to free this memory once we don’t need it.

37. Differentiate managed vs unmanaged code

Managed code:

This is managed by Common Language runtime and memory management is done using garbage collection.

Unmanaged Code:

This is not managed by Common Language Runtime and the runtime environment takes care of memory management.

38. What software design pattern does ASP.NET follow

It follows Model View Controller (MVC) pattern.

39. Give an example of a framework that works on MVT

Django, a Python framework follows the MVT pattern.

40. What are different memories supported in .NET framework.

Stack memory: Used to store data as a part of static memory allocation.

Heap memory: Used to store data as a part of dynamic memory allocation.

41. What are different access types of members in .NET

  • Private: Only accessible to the same class
  • Protected: Only accessible to the same class and derived class
  • Public: Accessible anywhere in the program

42. What is MIME type

MIME (Multi-Purpose Internet Mail Extensions) is an extension of the original Internet e-mail protocol that allows people to use it to exchange various types of data files on the Internet, in addition to the ASCII text handled by the original protocol, the Simple Mail Transport Protocol (SMTP).

43. Which keyword is used after try and catch to run the code at any condition.

The code inside the “finally” block will always get executed at any condition

44. Which method forces the garbage collection to run

GC.Run()

45. What is a web server

It is a hardware or software tool that responds to client requests and gives the response back to the user. The web server can also be a hardware tool that will store all your application files. The server can be development or production. The default server for ASP.NET applications are IIS and Kestrel.

46. What is the entry point of ASP.NET application

“Program.cs” file is the entry point of the application which contains the Main method. Main method is the entry method for every C# application.

47. What is the task of “ConfigureServices()” method in ASP.NET

It registers all the services that we will be using in our application. The application can be JWT, CORS, Cookie Authentication, etc.

48. What does “wwwroot” folder contains in ASP.NET

It contains all static files and assets like JavaScript, CSS, images, etc that you use in your application.

49. What are the name of open source and cross-platform server for ASP.NET core

Kestrel is the default ASP.NET lightweight server that runs on all platforms.

Conclusion

In this article, we discussed various interview questions related to the .NET framework. .NET is a great framework for developing applications for desktop, web, and mobile devices. It supports various languages and libraries that give extra flexibility to developers. The programming languages in .NET are compiled using the Just-In-Time compilation method. It provides facilities like automatic garbage collections, namespaces, interfaces, and other efficient and secure practices that you can implement in your small to large-scale applications.

People are also reading:

Leave a Reply

Your email address will not be published.