Advanced .net interview questions and answers
1.Briefly
describe how to use the PrintDocument component to print a document. Discuss
maintaining correct line spacing and multipage documents.
The
PrintDocument class exposes the Print method, which raises the PrintPage event.
Code to render printed items to the printer should be placed in the PrintPage
event handler. The PrintPage event handler provides the objects required to
render to the printer in an instance of the PagePrintEventArgs class. Content
is rendered to the printer using the Graphics object provided by
PagePrintEventArgs. You can calculate correct line spacing by dividing the
height of the MarginBounds property by the height of the font you are
rendering. If your document has multiple pages, you must set the
PagePrintEventArgs.HasMorePages property to true, which causes the PrintPage
event to fire again. Because the PrintPage event handler retains no inherent
memory of how many pages have been printed, you must incorporate all logic for
printing multiple pages into your event handler.
2.Explain
how to use the Begin and End methods on a Web Service to make an asynchronous
method call.
Every
public Web method on a Web Service can be called either synchronously or
asynchronously. To make an asynchronous call to a Web method, you call the
method named Begin<webmethod>, where <webmethod> is the name of the
method. This method requires a delegate to an appropriate callback method and
returns a value of IAsyncResult. This value is returned as a parameter in the callback
method. To retrieve the data returned by the Web method, call
End<webmethod>, supplying a reference to the IAsyncResult returned by
Begin<webmethod>. This will allow you to retrieve the actual data
returned by the Web method.
3.Briefly
describe the five accessibility requirements of the Certified for Windows logo
program.
The five requirements are
Support
standard system settings. This requires your application to ¬be able to conform
to system settings for colors, fonts, and other UI elements.
o Be compatible with High Contrast mode. This requirement can be met by using only the System palette for UI colors.
o Provide documented keyboard access for all UI features. Key points in this requirement are shortcut keys and accessible documentation.
o Provide notification of the focus location. This requirement is handled primarily by the .NET Framework.
o Convey no information by sound alone. This requirement can be met by providing redundant means of conveying information.
o Be compatible with High Contrast mode. This requirement can be met by using only the System palette for UI colors.
o Provide documented keyboard access for all UI features. Key points in this requirement are shortcut keys and accessible documentation.
o Provide notification of the focus location. This requirement is handled primarily by the .NET Framework.
o Convey no information by sound alone. This requirement can be met by providing redundant means of conveying information.
4.Explain
how to use the HelpProvider component to provide help for UI elements.
You
can provide either a HelpString or a help topic for UI elements with the
HelpProvider. The HelpProvider provides HelpString, HelpKeyWord, and
HelpNavigator properties for each control on the form. If no value for the
HelpProvider.HelpNameSpace is set, the HelpString will be provided as help. If
the HelpNameSpace is set, the HelpProvider will display the appropriate help
topic as configured by the HelpKeyWord and HelpNavigator properties. Help for a
particular element is displayed when the element has the focus and the F1 key
is pressed.
5.Describe
how to create localized versions of a form.
To
create a localized version of a form, set the Localizable property to true.
Then set the Language property to the language/region for which you want to
create the localized form. Make any localization-related changes in the UI. The
changed property values will automatically be stored in resource files and
loaded when the CurrentUICulture is set to the appropriate CultureInfo.
6.Explain
how to convert data in legacy code page formats to the Unicode format.
You
can use the Encoding.Convert method to convert data between encoding types.
This method requires instances of both encoding types and an array of bytes
that represents the data to be converted. It returns an array of bytes in the
target format. You can convert a string or array of chars to an array of bytes
with the Encoding.GetBytes method and can convert an array of bytes back to
chars with the Encoding.GetChars method.
7.Explain
the difference between Globalization and Localization.
Globalization
refers to the application of culture-specific format to existing data.
Localization refers to providing new culture-specific resources and retrieving
the appropriate resources based on the culture setting.
8.Explain
how to use the PrintPreviewDialog control to display a preview of a printed
document before it is printed.
You
display a preview of a printed document with the PrintPreviewDialog control by
first setting the PrintDocument property of the PrintPreviewDialog instance to
the PrintDocument you want to preview, then by calling the
PrintPreviewDialog.Show command to display the dialog box.
9.What
are the different approaches to testing?
There
are two different approaches to testing: the waterfall approach and the
evolutionary approach.
10.Explain
the waterfall approach.
The
waterfall approach is a traditional approach in which each developer in the
development team works in phases. These phases cover requirement analysis,
design and specifications requirements, coding, final testing, and release.
11.Explain
the evolutionary approach.
In
the evolutionary approach, you develop a modular piece or unit of application,
test it, fix it, and then add another small piece that adds functionality. You
then test the two units as an integrated component, increasing the complexity
as you proceed.
12.
How
does the Visual Studio .NET debugger work?
When
you debug a Visual Studio .NET application, the debugger first maps the native
code to MSIL, and then maps the MSIL code to source code by using a PDB file.
13.What
are the main windows and dialog boxes that you use to debug a Visual Studio
.NET application?
The
main windows and dialog boxes that you use to debug a Visual Studio .NET
application are the Visual Studio .NET debugger window, Breakpoints window,
Watch window, Call Stack window, Locals window, Autos window, and Processes
window.
14.What
is code instrumentation?
Code
instrumentation is a set of tasks that you perform to monitor and analyze
information about the performance of your applications. It involves activities
such as writing tracing code for the application, collecting trace information,
analyzing the trace output, and troubleshooting the problems that occur at run
time.
15.How
do you implement code instrumentation?
You
can implement code instrumentation by using tracing, debugging, performance
counters, and event logs.
16.Which
tool do you need to use to convert .txt files to .resources files?
If
you have text files as resources, then you can use the ResGen.exe tool to
convert .txt files to .resources files. The syntax for using the ResGen.exe
tool is
ResGen strings.txt myResources.resource
ResGen strings.txt myResources.resource
17.Which
tool do you need to use to compile the .resources files into satellite
assemblies?
Once
you have created .resources files, you can compile them into satellite
assemblies by using Al.exe, the Assembly Linker (AL) tool. The AL tool creates
satellite assemblies from the .resources files that you specify. As you know,
satellite assemblies cannot contain any executable code and can contain only
resources.
The following command shows you how to use the Al.exe tool to generate a satellite assembly:
al /t:lib /embed:myResource.resources /culture:de /out:MyRes.resources.dll
The following command shows you how to use the Al.exe tool to generate a satellite assembly:
al /t:lib /embed:myResource.resources /culture:de /out:MyRes.resources.dll
18.What
are the deployment features of the .NET Framework?
The
.NET Framework provides the following deployment features:
o No-impact applications
o Private components
o Controlled code sharing
o Side-by-side versioning
o Xcopy deployment
o On-the-fly updates
o Integration with Microsoft Windows Installer
o Enterprise deployment
o Downloading and caching
o Partially trusted code
o No-impact applications
o Private components
o Controlled code sharing
o Side-by-side versioning
o Xcopy deployment
o On-the-fly updates
o Integration with Microsoft Windows Installer
o Enterprise deployment
o Downloading and caching
o Partially trusted code
19.What
is the format of the assembly version stored in the AssemblyInfo file?
The
assembly version number is a four-part number. The format of the version number
is
<\major version>.<minor version>.<build number>.<revision>
<\major version>.<minor version>.<build number>.<revision>
20.Which
attribute do you use to specify the version number of an assembly?
You
use the AssemblyVersion() attribute to specify the version of an assembly.
21.What
are Merge Module projects?
Merge
Module projects enable you to install and deploy components consistently. Merge
Module projects ensure that the correct version of a component is installed on
the target computer. A Merge Module project contains a component such as a DLL
along with dependent files, resources, registry entries, and setup logic. You
cannot install merge modules directly. The modules are merged with an .msi file
for each application that uses the component. This ensures that the component
is installed consistently for all applications, eliminating problems such as
version conflicts, missing registry entries, and improperly installed files. A
merge module contains unique version information that the Windows Installer
database uses to determine which applications can use the component, preventing
the premature removal of a component. Therefore, a new merge module is created
for every incremental version of a component. You should not update a merge
module after including the module in an installer. The deployment tools in
Visual Studio .NET make it easy to create Merge Modules and include them in
installers for your applications.
22.What
type of Setup project do you create to deploy XML Web services?
To
deploy XML Web services, you create a Web Setup project.
23.Which
tools does the .NET Framework provide to export types defined in an assembly to
a type library?
The
.NET Framework provides the Type Library Exporter (Tlbexp.exe) to export types
defined in an assembly to a type library.
24.Which
tool can you use to register managed types with the Windows registry?
You
can use the Assembly Registration Tool (Regasm.exe) to register managed types
with the Windows registry.
25.What
tasks does the common language runtime perform to locate and bind an assembly?
The
common language runtime performs the following tasks, in the order listed, to
locate and bind to assemblies:
o Determines the correct assembly version
o Checks for the previously loaded assembly
o Checks the global assembly cache
o Locates the assembly through the codebase setting or probing
o Checks for the previously loaded assembly
o Checks the global assembly cache
o Locates the assembly through the codebase setting or probing