Tuesday, December 30, 2008

Short Answer .NET Interview Questions

Q1. Explain the differences between Server-side
and Client-side code?

Ans. Server side code will
execute at server (where the website is hosted) end, & all
the business logic will execute at server end where as client
side code will execute at client side (usually written in
javascript, vbscript, jscript) at browser end.

Q2.
What type of code (server or client) is found in a Code-Behind
class?

Ans. Server side code.

Q3. How to
make sure that value is entered in an asp:Textbox
control?

Ans. Use a RequiredFieldValidator
control.

Q4. Which property of a validation control
is used to associate it with a server control on that
page?

Ans. ControlToValidate property.

Q5.
How would you implement inheritance using VB.NET & C#?

Ans. C# Derived Class : Baseclass
VB.NEt : Derived
Class Inherits Baseclass

Q6. Which method is
invoked on the DataAdapter control to load the generated
dataset with data?

Ans. Fill() method.

Q7.
What method is used to explicitly kill a user's session?

Ans. Session.Abandon()

Q8. What property
within the asp:gridview control is changed to bind columns
manually?

Ans. Autogenerated columns is set to false


Q9. Which method is used to redirect the user to
another page without performing a round trip to the
client?

Ans. Server.Transfer method.

Q10.
How do we use different versions of private assemblies in same
application without re-build?

Ans.Inside the
Assemblyinfo.cs or Assemblyinfo.vb file, we need to specify
assembly version.
assembly: AssemblyVersion


Q11. Is it possible to debug java-script in .NET
IDE? If yes, how?

Ans. Yes, simply write "debugger"
statement at the point where the breakpoint needs to be set
within the javascript code and also enable javascript
debugging in the browser property settings.

Q12. How
many ways can we maintain the state of a page?

Ans. 1.
Client Side - Query string, hidden variables, viewstate,
cookies
2. Server side - application , cache, context,
session, database

Q13. What is the use of a
multicast delegate?

Ans. A multicast delegate may be
used to call more than one method.

Q14. What is the
use of a private constructor?

Ans. A private
constructor may be used to prevent the creation of an instance
for a class.

Q15. What is the use of Singleton
pattern?

Ans. A Singleton pattern .is used to make
sure that only one instance of a class exists.

Q16.
When do we use a DOM parser and when do we use a SAX
parser?

Ans. The DOM Approach is useful for small
documents in which the program needs to process a large
portion of the document whereas the SAX approach is useful for
large documents in which the program only needs to process a
small portion of the document.

Q17. Will the finally
block be executed if an exception has not
occurred?

Ans.Yes it will execute.

Q18. What
is a Dataset?

Ans. A dataset is an in memory database
kindof object that can hold database information in a
disconnected environment.

Q19. Is XML a
case-sensitive markup language?

Ans. Yes.


Q20. What is an .ashx file?
Ans. It is a web
handler file that produces output to be consumed by an xml
consumer client (rather than a browser).

Short Answer .NET Interview Questions


Q21. What is encapsulation?
Ans.
Encapsulation is the OOPs concept of binding the attributes
and behaviors in a class, hiding the implementation of the
class and exposing the functionality.

Q22. What is
Overloading?

Ans. When we add a new method with the
same name in a same/derived class but with different
number/types of parameters, the concept is called overluoad
and this ultimately implements Polymorphism.

Q23.
What is Overriding?

Ans. When we need to provide
different implementation in a child class than the one
provided by base class, we define the same method with same
signatures in the child class and this is called overriding.


Q24. What is a Delegate?
Ans. A delegate is
a strongly typed function pointer object that encapsulates a
reference to a method, and so the function that needs to be
invoked may be called at runtime.

Q25. Is String a
Reference Type or Value Type in .NET?

Ans. String is a
Reference Type object.

Q26. What is a Satellite
Assembly?

Ans. Satellite assemblies contain resource
files corresponding to a locale (Culture + Language) and these
assemblies are used in deploying an application globally for
different languages.

Q27. What are the different
types of assemblies and what is their use?

Ans.
Private, Public(also called shared) and Satellite Assemblies.


Q28. Are MSIL and CIL the same thing?
Ans.
Yes, CIL is the new name for MSIL.

Q29. What is the
base class of all web forms?

Ans. System.Web.UI.Page


Q30. How to add a client side event to a server
control?

Ans. Example...
BtnSubmit.Attributes.Add("onclick","javascript:fnSomeFunctionInJavascript()");


Q31. How to register a client side script from
code-behind?

Ans. Use the
Page.RegisterClientScriptBlock method in the server side code
to register the script that may be built using a
StringBuilder.

Q32. Can a single .NET DLL contain
multiple classes?

Ans. Yes, a single .NET DLL may
contain any number of classes within it.

Q33. What
is DLL Hell?

Ans. DLL Hell is the name given to the
problem of old unmanaged DLL's due to which there was a
possibility of version conflict among the DLLs.


Q34. can we put a break statement in a finally
block?

Ans. The finally block cannot have the break,
continue, return and goto statements.

Q35. What is
a CompositeControl in .NET?

Ans. CompositeControl is an
abstract class in .NET that is inherited by those web controls
that contain child controls within them.

Q36. Which
control in asp.net is used to display data from an xml file
and then displayed using XSLT?

Ans. Use the asp:Xml
control and set its DocumentSource property for associating an
xml file, and set its TransformSource property to set the xml
control's xsl file for the XSLT transformation.


Q37. Can we run ASP.NET 1.1 application and ASP.NET
2.0 application on the same computer?

Ans. Yes, though
changes in the IIS in the properties for the site have to be
made during deployment of each.

Q38. What are the
new features in .NET 2.0?

Ans. Plenty of new controls,
Generics, anonymous methods, partial classes, iterators,
property visibility (separate visibility for get and set) and
static classes.

Q39. Can we pop a MessageBox in a
web application?

Ans. Yes, though this is done
clientside using an alert, prompt or confirm or by opening a
new web page that looks like a messagebox.

Q40.
What is managed data?

Ans. The data for which the
memory management is taken care by .Net runtime’s garbage
collector, and this includes tasks for allocation
de-allocation.

Q41. How to instruct the garbage collector to
collect unreferenced data?

Ans. We may call the garbage
collector to collect unreferenced data by executing the
System.GC.Collect() method.

Q42. How can we set the
Focus on a control in ASP.NET?

Ans. txtBox123.Focus();
OR Page.SetFocus(NameOfControl);

Q43. What are
Partial Classes in Asp.Net 2.0?

Ans. In .NET 2.0, a
class definition may be split into multiple physical files but
partial classes do not make any difference to the compiler as
during compile time, the compiler groups all the partial
classes and treats them as a single class.

Q44. How
to set the default button on a Web Form?

Ans.
<asp:form id="form1" runat="server"
defaultbutton="btnGo"/>

Q45.Can we force the
garbage collector to run?

Ans. Yes, using the
System.GC.Collect(), the garbage collector is forced to run in
case required to do so.

Q46. What is Boxing and
Unboxing?

Ans. Boxing is the process where any value
type can be implicitly converted to a reference type object
while Unboxing is the opposite of boxing process where the
reference type is converted to a value type.

Q47.
What is Code Access security? What is CAS in .NET?

Ans.
CAS is the feature of the .NET security model that determines
whether an application or a piece of code is permitted to run
and decide the resources it can use while running.


Q48. What is Multi-tasking?
Ans. It is a
feature of operating systems through which multiple programs
may run on the operating system at the same time, just like a
scenario where a Notepad, a Calculator and the Control Panel
are open at the same time.

Q49. What is
Multi-threading?

Ans. When an application performs
different tasks at the same time, the application is said to
exhibit multithreading as several threads of a process are
running.2

Q50. What is a Thread?
Ans. A
thread is an activity started by a process and its the basic
unit to which an operating system allocates processor
resources.

Q51. What does AddressOf in VB.NET
operator do?

Ans. The AddressOf operator is used in
VB.NET to create a delegate object to a method in order to
point to it.

Q52. How to refer to the current
thread of a method in .NET?

Ans. In order to refer to
the current thread in .NET, the Thread.CurrentThread method
can be used. It is a public static property.

Q53.
How to pause the execution of a thread in .NET?

Ans.
The thread execution can be paused by invoking the
Thread.Sleep(IntegerValue) method where IntegerValue is an
integer that determines the milliseconds time frame for which
the thread in context has to sleep.

Q54. How can we
force a thread to sleep for an infinite period?

Ans.
Call the Thread.Interupt() method.

Q55. What is
Suspend and Resume in .NET Threading?

Ans. Just like a
song may be paused and played using a music player, a thread
may be paused using Thread.Suspend method and may be started
again using the Thread.Resume method. Note that sleep method
immediately forces the thread to sleep whereas the suspend
method waits for the thread to be in a persistable position
before pausing its activity.

Q56. How can we
prevent a deadlock in .Net threading?

Ans. Using
methods like Monitoring, Interlocked classes, Wait handles,
Event raising from between threads, using the ThreadState
property.

Q57. What is Ajax?
Ans.
Asyncronous Javascript and XML - Ajax is a combination of
client side technologies that sets up asynchronous
communication between the user interface and the web server so
that partial page rendering occur instead of complete page
postbacks.

Q58. What is XmlHttpRequest in
Ajax?

Ans. It is an object in Javascript that allows
the browser to communicate to a web server asynchronously
without making a postback.

Q59. What are the
different modes of storing an ASP.NET session?

Ans.
InProc (the session state is stored in the memory space of the
Aspnet_wp.exe process but the session information is lost when
IIS reboots), StateServer (the Session state is serialized and
stored in a separate process call Viewstate is an object in
.NET that automatically persists control setting values across
the multiple requests for the same page and it is internally
maintained as a hidden field on the web page though its hashed
for security reasons.

Q60. What is a delegate in
.NET?

Ans. A delegate in .NET is a class that can have
a reference to a method, and this class has a signature that
can refer only those methods that have a signature which
complies with the class.

Q61. Is a delegate a type-safe functions
pointer?

Ans. Yes

Q62. What is the return
type of an event in .NET?

Ans. There is No return type
of an event in .NET.

Q63. Is it possible to specify
an access specifier to an event in .NET?

Ans. Yes,
though they are public by default.

Q64. Is it
possible to create a shared event in .NET?

Ans. Yes,
but shared events may only be raised by shared
methods.

Q65. How to prevent overriding of a class
in .NET?

Ans. Use the keyword NotOverridable in VB.NET
and sealed in C#.

Q66. How to prevent inheritance of
a class in .NET?

Ans. Use the keyword NotInheritable in
VB.NET and sealed in C#.

Q67. What is the purpose of
the MustInherit keyword in VB.NET?

Ans. MustInherit
keyword in VB.NET is used to create an abstract
class.

Q68. What is the access modifier of a member
function of in an Interface created in .NET?

Ans. It is
always public, we cant use any other modifier other than the
public modifier for the member functions of an
Interface.

Q69. What does the virtual keyword in C#
mean?

Ans. The virtual keyword signifies that the
method and property may be overridden.

Q70. How to
create a new unique ID for a control?

Ans.
ControlName.ID = "ControlName" + Guid.NewGuid().ToString();
//Make use of the Guid class

Q71A. What is a
HashTable in .NET?

Ans. A Hashtable is an object that
implements the IDictionary interface, and can be used to store
key value pairs. The key may be used as the index to access
the values for that index.

Q71B. What is an
ArrayList in .NET?

Ans. Arraylist object is used to
store a list of values in the form of a list, such that the
size of the arraylist can be increased and decreased
dynamically, and moreover, it may hold items of different
types. Items in an arraylist may be accessed using an
index.

Q72. What is the value of the first item in
an Enum? 0 or 1?

Ans. 0

Q73. Can we achieve
operator overloading in VB.NET?

Ans. Yes, it is
supported in the .NET 2.0 version, the "operator" keyword is
used.

Q74. What is the use of Finalize method in
.NET?

Ans. .NET Garbage collector performs all the
clean up activity of the managed objects, and so the finalize
method is usually used to free up the unmanaged objects like
File objects, Windows API objects, Database connection
objects, COM objects etc.

Q75. How do you save all
the data in a dataset in .NET?

Ans. Use the
AcceptChanges method which commits all the changes made to the
dataset since last time Acceptchanges was
performed.

Q76. Is there a way to suppress the
finalize process inside the garbage collector forcibly in
.NET?

Ans. Use the GC.SuppressFinalize()
method.

Q77. What is the use of the dispose() method
in .NET?

Ans. The Dispose method in .NET belongs to
IDisposable interface and it is best used to release unmanaged
objects like File objects, Windows API objects, Database
connection objects, COM objects etc from the memory. Its
performance is better than the finalize()
method.

Q78. Is it possible to have have different
access modifiers on the get and set methods of a property in
.NET?

Ans. No we can not have different modifiers of a
common property, which means that if the access modifier of a
property's get method is protected, and it must be protected
for the set method as well.

Q79. In .NET, is it
possible for two catch blocks to be executed in one
go?

Ans. This is NOT possible because once the correct
catch block is executed then the code flow goes to the finally
block.

Q80. Is there any difference between
System.String and System.StringBuilder classes?

Ans.
System.String is immutable by nature whereas
System.StringBuilder can have a mutable string in which plenty
of processes may be performed.

Q81. What technique is used to figure out that
the page request is a postback?

Ans. The IsPostBack
property of the page object may be used to check whether the
page request is a postback or not. IsPostBack property is of
the type Boolean.

Q82. Which event of the ASP.NET
page life cycle completely loads all the controls on the web
page?

Ans. The Page_load event of the ASP.NET page life
cycle assures that all controls are completely loaded. Even
though the controls are also accessible in Page_Init event but
here, the viewstate is incomplete.

Q83. How is
ViewState information persisted across postbacks in an ASP.NET
webpage?

Ans. Using HTML Hidden Fields, ASP.NET creates
a hidden field with an ID="__VIEWSTATE" and the value of the
page's viewstate is encoded (hashed) for
security.

Q84. What is the ValidationSummary control
in ASP.NET used for?

Ans. The ValidationSummary control
in ASP.NET displays summary of all the current validation
errors.

Q85. What is AutoPostBack feature in
ASP.NET?

Ans. In case it is required for a server side
control to postback when any of its event is triggered, then
the AutoPostBack property of this control is set to
true.

Q86. What is the difference between Web.config
and Machine.Config in .NET?

Ans. Web.config file is
used to make the settings to a web application, whereas
Machine.config file is used to make settings to all ASP.NET
applications on a server(the server machine).

Q87.
What is the difference between a session object and an
application object?

Ans. A session object can persist
information between HTTP requests for a particular user,
whereas an application object can be used globally for all the
users.

Q88. Which control has a faster performance,
Repeater or Datalist?

Ans. Repeater.

Q89.
Which control has a faster performance, Datagrid or
Datalist?

Ans. Datalist.

Q90. How to we add
customized columns in a Gridview in ASP.NET?

Ans. Make
use of the TemplateField column.

Q91. Is it possible
to stop the clientside validation of an entire
page?

Ans. Set Page.Validate = false;

Q92. Is
it possible to disable client side script in
validators?

Ans. Yes. simply EnableClientScript =
false.

Q93. How do we enable tracing in .NET
applications?

Ans. <%@ Page Trace="true"
%>

Q94. How to kill a user session in
ASP.NET?

Ans. Use the Session.abandon()
method.

Q95. Is it possible to perform forms
authentication with cookies disabled on a browser?

Ans.
Yes, it is possible.

Q96. What are the steps to use
a checkbox in a gridview?

Ans.
<ItemTemplate>
<asp:CheckBox id="CheckBox1"
runat="server" AutoPostBack="True"

OnCheckedChanged="Check_Clicked"></asp:CheckBox>
</ItemTemplate>

Q97.
What are design patterns in .NET?

Ans. A Design pattern
is a repeatitive solution to a repeatitive problem in the
design of a software architecture.

Q98. What is
difference between dataset and datareader in
ADO.NET?

Ans. A DataReader provides a forward-only and
read-only access to data, while the DataSet object can carry
more than one table and at the same time hold the
relationships between the tables. Also note that a DataReader
is used in a connected architecture whereas a Dataset is used
in a disconnected architecture.

Q99. Can connection
strings be stored in web.config?

Ans. Yes, in fact this
is the best place to store the connection string information.


Q100. Whats the difference between web.config and
app.config?

Ans. Web.config is used for web based
asp.net applications whereas app.config is used for windows
based applications.

No comments: