Interview Tips Interview Tips, Interview Questions and Answers

1Jun/110

C# interview questions and answers

  1. What debugging tools come with the .NET SDK? CorDBG – command-line debugger, and DbgCLR – graphic debugger. Visual Studio .NET uses the DbgCLR. To use CorDbg, you must compile the original C# file using the /debug switch.
  2. What does the This window show in the debugger? It points to the object that’s pointed to by this reference. Object’s instance data is shown.
  3. 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.
  4. What’s the difference between the Debug class and Trace class? Documentation looks the same. Use Debug class for debug builds, use Trace class for both debug and release builds.
  5. Why are there five tracing levels in System.Diagnostics.TraceSwitcher? The tracing dumps can be quite verbose and for some applications that are constantly running you run the risk of overloading the machine and the hard drive there. Five levels range from None to Verbose, allowing to fine-tune the tracing activities.
  6. Where is the output of TextWriterTraceListener redirected? To the Console or a text file depending on the parameter passed to the constructor.
  7. How do you debug an ASP.NET Web application? Attach the aspnet_wp.exe process to the DbgClr debugger.
  8. What are three test cases you should go through in unit testing? Positive test cases (correct data, correct output), negative test cases (broken or missing data, proper handling), exception test cases (exceptions are thrown and caught properly).
  9. Can you change the value of a variable while debugging a C# application? Yes, if you are debugging via Visual Studio.NET, just go to Immediate window.
  10. Explain the three services model (three-tier application). Presentation (UI), business (logic and underlying code) and data (from storage or other sources).
18Aug/100

Define Trace Switches

Define Trace Switches.

Trace switches are used to configure tracing behavior.
There are two kinds of trace switches: BooleanSwitch and TraceSwitch.
BooleanSwitch: It is either on or off.
TraceSwitch : It has property to determine trace behaviour.
Trace switches can be configured through application's .config file even after the application is compiled.

What are Trace switches?

Trace switches are used to enable, disable and filter the tracing output. They are objects can be configured through the .config file.

Explain how to implement properties.

You can either use fields or property procedure to add properties.

It is convenient to use fields when the values associated with the properties are less in number. eg: boolean which can have only two values associated with it.

If property procedure has to be used to add a property, then three steps need to be followed:

- Declare a private variable to store the value of the property
- Write a get procedure to retrieve the value of the variable and
- Write a set procedure to set the value of the variable.

16Aug/100

Define Listeners collection of Trace and Debug objects.

Define Listeners collection of Trace and Debug objects.

The Trace and Debug objects contain a Listeners collection.
These Listeners collection collect output from the trace statements.
There are three types of predefined listeners:
DefaultTraceListener
TextWriterTraceListener
EventLogTraceListener

DefaultTraceListener: This is default listener and writes trace statements in the Output window.
TextWriterTraceListener: can write output to the text file or to the console window.
EventLogTraceListener: can write messages to the Event Log.

13Aug/100

Debug Vs Trace in VSTS

Debug Vs Trace.

Both these objects are found in the System.Diagnostics namespace.
Both are used for diagnose problems without interrupting application execution.
Debug statement can only be used in debug mode while trace statement can be used both in debug and released mode.
Debug statements can't be compiled into a release version.

Define trace class.

The trace class in the code is used to diagnose problem.
You can use trace messages to your project to monitor events in the released version of the application.
The trace class is found in the System.Diagnostics namespace.