Introduction
When we look back at times of COBOL,PASCAL features provided by these languages where minimal.More emphasis was on completing projects than on quality of code.As features provided by languages where less , programmer had to code everything from scratch For example to write a simple sorting logic you have to write your own sorting algorithm.As languages grew and started becoming mature , these logic where in-built feature of language.As feature list of languages started growing programmer’s became feature specialist rather than specialist of whole language.
If a developer who is working for past two to three years on remoting is a remoting specialist , but probably in ADO.NET he has minimal knowledge.Now after working day/night and becoming specialist he is looking for a job.But the bad part of IT industry today is that they do not look for specialist rather they look for developers who have fair knowledge of over all feature of the language.This remoting specialist stumbles with simple ADO.NET and SQL questions during interview.But guys that’s ok when you are working and concentrating on one particular aspect it’s but obvious that you will forget these fundamentals.
Software clients no more look source code as the only one deliverable , but even other documents like SRS (System Requirement documents) , SDD (System Design Documents), Test Plans (SITP and UTP) etc. as a integral part of project.IT multinationals are now looking from both technical and process aspect of the project.So going with pure .NET technical fundamentals will only take you to a programmer position , but knowhow of documenting project ,UML understanding , SDLC cycle etc will take you to a better position (Project Manager , Program Manager , Senior architect etc).This book covers the other aspect of .NET interview’s by providing chapter like
Architecture ,UML , SQL SERVER,Project Management ,General Interview question’s etc.
Basic .NET Framework
1.What is a IL?
Twist :- What is MSIL or CIL , What is JIT?
(IL)Intermediate Language is also known as MSIL (Microsoft Intermediate Language) or CIL(Common Intermediate Language). All .NET source code is compiled to IL. This IL is then converted to machine code at the point where the software is installed, or at run-time by a Just-In-Time(JIT) compiler.
(B)What is a CLR?
Full form of CLR is Common Language Runtime and it forms the heart of the .NET
framework.All Languages have runtime and its the responsibility of the runtime to take care of
the code execution of the program.For example VC++ has MSCRT40.DLL,VB6 has
MSVBVM60.DLL , Java has Java Virtual Machine etc. Similarly .NET has CLR.Following are the
2. responsibilities of CLR :
√ Garbage Collection :- CLR automatically manages memory thus eliminating
memory leakes. When objects are not referred GC automatically releases those
memory thus providing efficient memory management.
√ Code Access Security :- CAS grants rights to program depending on the security
configuration of the machine.Example the program has rights to edit or create
a new file but the security configuration of machine does not allow the program
to delete a file.CAS will take care that the code runs under the environment of
machines security configuration.
√ Code Verification :- This ensures proper code execution and type safety while
the code runs.It prevents the source code to perform illegal operation such as
accessing invalid memory locations etc.
√ IL( Intermediate language )-to-native translators and optimizer’s :- CLR uses
JIT and compiles the IL code to machine code and then executes. CLR also
determines depending on platform what is optimized way of running the IL
code.
3.What is a CLS(Common Language Specification)?
This is a subset of the CTS which all .NET languages are expected to support.It was always a
dream of microsoft to unite all different languages in to one umbrella and CLS is one step
towards that.Microsoft has defined CLS which are nothing but guidelines that language to follow
so that it can communicate with other .NET languages in a seamless manner.
4.What is a Managed Code?
Managed code runs inside the environment of CLR i.e. .NET runtime.In short all IL are managed
code.But if you are using some third party software example VB6 or VC++ component they are
unmanaged code as .NET runtime (CLR) does not have control over the source code execution
of the language
5.What is a Assembly ?
√ Assembly is unit of deployment like EXE or a DLL.
√ An assembly consists of one or more files (dlls, exe’s, html files etc.), and
represents a group of resources, type definitions, and implementations of those
types. An assembly may also contain references to other assemblies. These
resources, types and references are described in a block of data called a manifest.
The manifest is part of the assembly, thus making the assembly self-describing.
√ An assembly is completely self-describing.An assembly contains metadata
information, which is used by the CLR for everything from type checking and
security to actually invoking the components methods.As all information is in
assembly itself it is independent of registry.This is the basic advantage as
compared to COM where the version was stored in registry.
√ Multiple versions can be deployed side by side in different folders. These
different versions can execute at the same time without interfering with each
other.Assemblies can be private or shared. For private assembly deployment,the
assembly is copied to the same directory as the client program that references
it.No registration is needed, and no fancy installation program is required.
When the component is removed, no registry cleanup is needed,and no uninstall
program is required. Just delete it from the hard drive.
√ In shared assembly deployment, an assembly is installed in the Global Assembly
Cache (or GAC). The GAC contains shared assemblies that are
globally accessible to all .NET applications on the machine.
6.What are different types of Assembly?
There are two types of assembly Private and Public assembly.A private assembly is normally used
by a single application, and is stored in the application's directory, or a sub-directory beneath. A
shared assembly is normally stored in the global assembly cache, which is a repository of assemblies
maintained by the .NET runtime. Shared assemblies are usually libraries of code which many
applications will find useful, e.g. Crystal report classes which will be used by all application for
Reports.
No comments:
Post a Comment