You are on page 1of 1

Candidate:

Total Score:
Interview Decision:

Technical Questions List


E = Easy, M = Medium, H = Hard
The concept is that we escalate within each category, choosing one from E, M, and H so that the other set is
available for a further interview.

GENERAL
H3. When will it explode?

ASP.NET (Self Assessment: Section Total: Section Avg: )


E1. Describe the difference between inline code and code behind in ASP.NET pages? In .NET 2.0?
Inline code is C# or VB directly on the aspx page while code behind uses a separate file (.cs or .vb
respectively).
E2. What is the ViewState?
A hidden form field that stores information about the controls to allow them to maintain their state
between postbacks.
E3. What is the difference between using Server.Transfer and Response.Redirect? What are the side-
effects?
Server.Transfer transfers the page processing to another page while Response.Redirect instructs the
clients browser to request the other page. Transfer stays on the server and thus requires no round trip to
the client and back while also maintaining a reference to the transferring pages members for use in the
transferred page. However, the clients browser history is ignorant of this transfer and clicking on the
browsers back button would have unexpected results.
M1. What is the difference between a DataSet and a DataReader? Which one is disconnected from the
database? How would you get data into a DataSet?
A DataSet is an in-memory representation of a relational database as complex as the programmer
desires. It is disconnected from the original data store and can handle multiple selects and
manipulations. To get data into a DataSet instantiate a DataAdapter most suited for the data store and call
its Fill() function. A DataReader is connected to the original data store and allows read-only, forward-only
access to the data. Incidentally, a DataReader is used behind the scenes by a DataAdapter.
M2. What are all of the different ways for you to persist data between Post-backs?
Form fields, ViewState (directly), hidden html elements, ASP.NET HiddenFields, Session variables,
Application variables, query string, cookies, Profile properties, persisted files, database
M3. What were the 3 built-in Data Controls included in the .NET Framework 1.1? Of the 3, which is the fastest
to develop with? Which provides the capability for the richest user experience? Which
provides the best execution performance?
DataGrid, DataList, and Repeater. DataGrid is the fastest to develop with as most important functions can
be accomplished with Visual Studios WYSIWYG editor. The Repeater solely dependent on html/css for
its layout so it can appear any way the developer choose however, the DataList is almost as configurable
and has the ability for inline editing. The Repeater has slightly better performance than the DataList and
far greater performance than the DataGrid.
H1. What are the different types of Session management options available in ASP.NET? How are they
implemented? What are the consequences of using each?
InProc, State Server, SQL Server. InProc stores session info in memory on the local ASP.NET worker
process. State Server stores session info outside the ASP.NET worker process and is managed by a
Windows Service. SQL Server stores session info in a SQL Server database. InProc would not work if
using a server farm as session info is not shared amongst different servers. Session variables stored in a
State or SQL Server need to be serializable.
H2. Are you familiar with Typed DataSets? Please compare and contrast the differences between using
the standard DataSet and a Typed DataSet?
Yes, I am familiar with them. Typed DataSets allow access to a DataSets fields as strongly typed
members of that object. This prevents the need for writing type conversions before using a fields data as
well as allowing those fields to show up (e.g. in Intellisense) as properties of the DataSet at the slight cost
of maintaining a DataSets schema within the project.

C# (Self Assessment: Section Total: Section Avg: )


E1. Does C# support multiple inheritance?
No. Implementing multiple interfaces is not the same as multiple inheritance.

You might also like