.Net Framework Interview Questions

What is the smallest unit of execution in .NET?

An Assembly.

How is .NET able to support multiple languages?

a language should comply with the Common Language Runtime standard to become a
.NET language. In .NET, code is compiled to Microsoft Intermediate Language
(MSIL for short). This is called as Managed Code. This Managed code is run in
.NET environment. So after compilation to this IL the language is not a
barrier. A code can call or use a function written in another language.

What’s a satellite assembly?

When you write a multilingual or multi-cultural application in .NET, and want to
distribute the core application separately from the localized modules, the
localized assemblies that modify the core application are called satellite
assemblies.

What’s the difference between the Debug class and Trace class?

Use Debug class for debug builds, use Trace class for both debug and release
builds.

How is the DLL Hell problem solved in .NET?

Assembly versioning allows the application to specify not only the library it
needs to run (which was available under Win32), but also the version of the
assembly.

What are the ways to deploy an assembly?

An MSI installer, a CAB archive, and XCOPY command.

When should you call the garbage collector in .NET?

As a good rule, you should not call the garbage collector. However,
you could call the garbage collector when you are done using a large
object (or set of objects) to force the garbage collector to dispose of those
very large objects from memory. However, this is usually not a good
practice.

How do you convert a value-type to a reference-type?

Use Boxing.

Whats an assembly?

Assemblies are the building blocks of the .NET framework;

What happens in memory when you Box and Unbox a value-type?

Boxing converts a value-type to a reference-type, thus storing the object
on the heap. Unboxing converts a reference-type to a value-type, thus
storing the value on the stack.

Is .NET capable of supporting multi-thread?

yes, .net supports multithreading which is one of the feature supported by .net

What does assert() do?

In debug compilation, assert takes in a Boolean condition as a parameter,
and shows the error dialog if the condition is false. The program proceeds
without any interruption if the condition is true.

Can you store multiple data types in System.Array?

No

Where does the Web page belong in the .NET Framework class hierarchy?

System.Web.UI.Page

Where do you store the information about the user’s locale?

System.Web.UI.Page.Culture.

Whats MSIL, and why should my developers need an appreciation of it if at all?

MSIL is the Microsoft Intermediate Language. All .NET compatible languages will
get converted to MSIL.

How many classes can a single .NET DLL contain?

It can contain many classes.

What is the role of the DataReader class in ADO.NET connections?

It returns a read-only, forward-only rowset from the data source. A DataReader
provides fast access when a forward-only sequential read is needed.

What are advantages and disadvantages of Microsoft-provided data provider
classes in ADO.NET?

SQLServer.NET data provider is high-speed and robust, but requires SQL Server
license purchased from Microsoft. OLE-DB.NET is universal for accessing other
sources, like Oracle, DB2, Microsoft Access and Informix. OLE-DB.NET is a .NET
layer on top of the OLE layer, so it’s not as fastest and efficient as
SqlServer.NET.

What is a pre-requisite for connection pooling?

Multiple processes must agree that they will share the same connection, where
every parameter is the same, including the security settings. The connection
string must be identical.

What is Serializatoin?

Serialization is the process of converting an object or a con-nected graph of
objects into a contiguous stream of bytes. Deserialization is the process of
converting a contiguous stream of bytes back into its graph of connected
objects. The ability to convert objects to and from a byte stream is an
incredibly useful mechanism. Here are some examples:

An application's state (object graph) can easily be saved in a disk file or
database and then restored the next time the application is run. ASP.NET saves
and restores session state by way of serialization and deserialization.

A set of objects can easily be copied to the system's clipboard and then pasted
into the same or another application. In fact, Windows® Forms uses this
procedure.

A set of objects can be cloned and set aside as a backup while a user
manipulates the main set of objects.

A set of objects can easily be sent over the network to a process running on
another machine. The Microsoft® .NET Framework remoting architecture serializes
and deserializes objects that are marshaled by value.