Question - Define assembly.
Answer - An assembly is the primary unit of a .NET application. It includes an assembly manifest that describes the assembly.
Question - What is Constructor?
Answer - It is the first method that are called on instantiation of a type. It provides way to set default values for data before the object is available for use. Performs other necessary functions before the object is available for use.
Question - What is Destructor?
Answer - It is called just before an object is destroyed. It can be used to run clean-up code. You can't control when a destructor is called since object clean up by common language runtime.
Question - Define Abstract class in C#.NET.
Answer - Abstract class cannot be instantiated.
Same concept in C++ known as pure virtual method.
A class that must be inherited and have the methods over-ridden.
A class without any implementation.
Question - Explain serialization?
Answer - Serialization is a process of converting an object into a stream of bytes. .Net has 2 serializers namely XMLSerializer and SOAP/BINARY Serializer. Serialization is maily used in the concept of .Net Remoting.
Question - C#.Net support multiple inheritance, comment.
Answer - No, but we can use interface instead.
Question - Can private virtual methods be overridden in C#.NET
?
Answer - No, moreover, you cannot access private methods in inherited classes,
They have to be protected in the base class to allow any sort of access.
Question - Is is possible to force garbage collector to run?
Answer Yes, we can force garbage collector to run using System.GC.Collect().
Question - How do you inherit derived class from a base class in C#.NET?
Answer - By using colon and then the name of the base class.
Question - Name the Top .NET class that everything is derived from.
Answer - System.Object.
Question - Define protected class-level variable in C#.NET.
Answer - It can be inherited by the classes in the same namespace.
Question - Is it possible to inherit private class-level variables?
Answer - No.
Question - Is it possible to inherit multiple interfaces in C#.NET?
Answer - Yes.
Question - Define Protected internal.
Answer - It is available to derived classes and classes within the same Assembly.
Question - How to prevent your class from being inherited?
Answer - You can use keyword 'sealed' in the class definition to prevent class from being inherited.
Question - List down difference between overriding and overloading.
Answer - When overriding, you change the method behavior for a derived class.
Overloading simply involves having a method with the same name within the class.
Question - What does the keyword virtual mean in the method definition?
Answer - The method can be over-ridden.
Question - How to allow class to be inherited, but prevent the method from being over-ridden?
Answer - You can do so by declaring the class public and making the method sealed.
Question - When do we declare a class as abstract in C#.NET?
Answer - When at least one of the methods in the class is abstract.
Question - Define Interface class in C#.NET.
Answer - It is an abstract class with public abstract methods with no implimentation
Question - Difference between an interface and abstract class
Answer - In the interface all methods must be abstract;
In the abstract class some methods can be concrete.
In the interface no accessibility modifiers are allowed, which is possible in abstract classes.
Question - How can you overload a method?
Answer - Different parameter data types, different number of parameters, different order of parameters.
Question - Difference between System.String and System.StringBuilder classes.
Answer - System.String is immutable;
System.StringBuilder was designed with the purpose of having a mutable string where a variety of operations can be performed.
Question - Define Delegate.
Answer - A delegate object encapsulates a reference to a method.
In C++ they were referred to as function pointers.
Question - How is DLL Hell problem solved in .NET?
Answer - Assembly versioning helps to resolve not only the library it needs to run , but also the version of the assembly.
Question - Ways to deploy an assembly.
Answer - MSI installer, a CAB archive, and XCOPY command
Question - Define Satellite Assembly.
Answer - When you write a multilingual or multi-cultural application in .NET, and want to distribute the core application separately from the localized modules, the localized assemblies that modify the core application are called satellite assemblies.
Question - Namespaces to create a localized application.
Answer – System Globalization, System Resources.
Question - List out difference between the Debug class and Trace class.
Answer - Use debug class for debug builds, use Trace class for both debug and release builds.
Question - What are three test cases you should go through in unit testing?
Answer - 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).