Following are some basic Interview Questions and Answers of .Net Architecture.
What is application domain?
The only way used to isolate applications running on the same machine is by the means of process boundaries.
.NET framework 2.0 introduces a new boundary called the Application Domains.
Application Domain is required so that applications do not affect one another.
A single CLR operating system process can contain multiple application domains.
What is the difference between process and thread?
- 1. A process contains multiple threads.
- 2. A processor executes threads not processes.
- 3. Different processes can’t work under same memory location. But the threads can work under the same memory area.
- 4. A process can be executed as a single entity whereas thread cannot be executed as a single entity.
What is the difference between unmanaged code and unsafe code?
Unmanaged code runs outside the context of CLR whereas unsafe code runs in the context of CLR.
What is ASP.NET development server and how it is different from IIS?
There are 2 web servers
1. IIS
2. ASP.NET development server
IIS is a production server which includes web server, FTP server, SMTP mail server and other facilities.
But if you don’t want to use IIS you can still test your ASP.NET applications using ASP.NET development server
ASP.NET development server runs locally on windows operating system. It doesn’t serve pages on another computer or outside the application scope. This server is to test the ASP.NET applications before it gets publish to IIS.
ASP.NET development server supports basic authentication.
By default ASP.NET development server is invoked on a randomly selected port.
When a page runs under ASP.NET development server then it runs under the context of current user account. While in IIS page runs under the context of special user (like ASPNET).
What are the different types of JIT compilers?
There are three types of JIT compilers
- Pre-JIT compiler → it compiles complete source code into native code in a single compilation cycle. This is done at the time of deployment of the application.
- Econo JIT compiler → compiles only those methods which are called at runtime and these methods are removed when they are not required.
- Normal JIT compiler → Normal-JIT complies only those methods that are called at runtime. These methods are complied the first time they are called, and then they are stored in cache. When the same methods are called again, the complied code from cache is used for execution.
What is the difference between private assembly and shared assembly?
Private assembly is an assembly which is available exclusively to a particular application whereas shared assembly can be used by multiple applications. We put shared assembly in a GAC.
What is MSIL?
MSIL stands for MicroSoft Intermediate Language. .Net framework supports multiple languages like C#, vb.net, F# etc. All the languages are compiled by their respective compilers and after successful compilation converted into a common language called MSIL.