What is Generics?
Generics allow you to write a
class or method that can work with any data type.
public class
MyGenericArray<T>
{
private T[] array;
public MyGenericArray(int size)
{
array = new T[size + 1];
}
}
//declaring an int array
MyGenericArray<int>
intArray = new MyGenericArray<int>(5);
//declaring a character
array
MyGenericArray<char>
charArray = new MyGenericArray<char>(5);
What is a Constructor?
Answer: It is the
first method that is called on instantiation of a type. It provides way to set
default values for data before the object is available for use. Performs other
necessary functions before the object is available for use.
What is Event?
Events can be user actions, such
as clicking a mouse button or pressing a key, or system occurrences, such as
running out of memory.
What is Serialization and Deserialization?
An object conversion in text
stream is serialization and text stream conversion in object of a class is
called deserialization.
What is REST?
Representational State Transfer,
a new approach to systems architecture and a lightweight alternative to web
services
What is IEnumerable?
A List, array, and query
can be looped over.
What is the concept of Postback in ASP.NET?
A postback is a request sent from
a client to server from the same page user is already working with.
ASP.NET was introduced with a
mechanism to post an HTTP POST request back to the same page. It's basically
posting a complete page back to server (i.e. sending all of its data) on same
page. So, the whole page is refreshed.
Another concept related to this
approach is "Callback" that is also asked sometimes during a
technical interview question.
Difference between ASP.NET WebForms and ASP.NET
MVC?
ASP.NET Web Forms uses Page
controller pattern approach for rendering layout. In this approach, every page
has it's own controller i.e. code-behind file that processes the request. On
the other hand, ASP.NET MVC uses Front Controller approach. In this approach a
common controller for all pages, processes the requests.
Please briefly explain ASP.NET Page life Cycle?
ASP.NET page passes through a
series of steps during its life cycle. Following is the high-level explanation
of life cycle stages/steps.
Initialization: Controls raise their Init event in this
stage.Objects and variables are initializes for complete lifecyle of
request.
LoadViewState: is a post back stage and loads the view state for
the controls that enabled its view state property.
LoadPostBackData: is also a post back stage and loads the data
posted for the controls and update them.
Load: In this stage page as well as all the controls
raise their Load event. Till this stage all the controls are initialized and
loaded. In most of the cases, we are coding this event handler.
RaisePostBackEvent: is again a postback stage. For example, it's
raise against a button click event. We can easily put our code here to perform
certain actions.
SaveViewState: Finally, controls state is saved in this stage
before Rendering HTML.
Render: This is the stage where HTML is generated for the
page.
Dispose: Lastly, all objects associated with the request
are cleaned up.
For very detailed explanation of
Page Life Cycle is explained here.
What is the difference between custom controls and
user controls?
Custom controls are basically
compiled code i.e. DLLs. These can be easily added to toolbox, so it can be
easily used across multiple projects using drag and drop approach. These
controls are comparatively hard to create.
But User Controls (.ascx) are
just like pages (.aspx). These are comparatively easy to create but tightly
couple with respect to User Interface and code. In order to use across multiple
projects, we need to copy and paste to the other project as well.
What is the concept of view state in ASP.NET?
As in earlier
question, we understood the concept of postback. So, in order to maintain the
state between postbacks, ASP.NET provides a mechanism called view state. Hidden
form fields are used to store the state of objects on client side and returned
back to server in subsequent request (as postback occurs).
Difference between Response.Redirect and
Server.Transfer?
In case of Response.Redirect, a
new request is generated from client-side for redirected page. It's a kind of
additional round trip. As new request is generated from client, so the new URL
is visible to user in browser after redirection.
While in case of Server.Transfer,
a request is transferred from one page to another without making a round trip
from client. For the end user, URL remains the same in browser even after
transferring to another page.
Please briefly explain the usage of Global.asax?
Global.asax is basically ASP.NET
Application file. It’s a place to write code for Application-level events such
as Application start, Application end, Session start and end, Application error
etc. raised by ASP.NET or by HTTP Modules.
There is a good list of events
that are fired but following are few of the important events in Global.asax:
- Application_Init occurs in case of application initialization for the very first time.
- Application_Start fires on application start.
- Session_Start fires when a new user session starts
- Application_Error occurs in case of an unhandled exception generated from application.
- Session_End fires when user session ends.
- Application_End fires when application ends or time out.
What are the different types of Validation controls
in ASP.NET?
In order to validate user input,
ASP.NET provides validation server controls. All validation controls inherits
from BaseValidator class which contains the common validation properties and
methods like ControlToValidate, Enabled, IsValid, EnableClientScript, ValidationGroup,Validate() etc.
ASP.NET provides a range of
validation controls:
- RequiredFieldValidator validates compulsory/required input.
- RangeValidator validates the range. Validates that input falls between the given range values.
- CompareValidator validates or compares the input of a control with another control value or with a fixed value.
- RegularExpressionValidator validates input value against a defined regular expression pattern.
- CustomValidator allows to customize the validation logic with respect to our application logic.
- ValidationSummary displays all errors on page collectively.
What are the types of Authentication in ASP.NET?
There are three types of
authentication available in ASP.NET:
- Windows Authentication: This authentication method uses built-in windows security features to authenticate user.
- Forms Authentication: authenticate against a customized list of users or users in a database.
- Passport Authentication: validates against Microsoft Passport service which is basically a centralized authentication service.
What are Session state modes in ASP.NET?
ASP.NET supports different
session state storage options:
- In-Process is the default approach. It stores session state locally on same web server memory where the application is running.
- StateServer mode stores session state in a process other than the one where application is running. Naturally, it has added advantages that session state is accessible from multiple web servers in a Web Farm and also session state will remain preserved even web application is restarted.
- SQLServer mode stores session state in SQL Server database. It has the same advantages as that of StateServer.
- Custom modes allows to define our custom storage provider.
- Off mode disables session storage.
What is DLL Hell?
It's when Application A installs
a Shared DLL vers 1.0, Application B comes and updates the Shared DLL to vers 1.1
which should be compatible but there are slightly different behaviors, then App
A stops working correctly and reinstalls vers 1.0 then App B stops working ...
now imagine this with more than 2 apps let's say a dozen: DLL Hell.
What is event bubbling?
-
When child control send events to parent it is termed as event bubbling. - Server controls like Data grid, Data List, and Repeater can have other child controls inside them.
Note: I have collected ASP.NET useful
information here from different sources for my personal use. But these information are helpful for others as well.