Beruflich Dokumente
Kultur Dokumente
2. What is Inheritance?
3. What is abstract class? Can an abstract class contain non-abstract functions?
4. What is Polymorphism? Difference between compile-time and run-time
polymorphism?
5. What is function overloading and what is it used for?
6. What is the difference between Indexers and Properties?
7. Explain abstract, static and sealed modifiers?
8. What are various components of CLR?
9. What is the complete process from writing of program in IDE to the execution of
the program and what are the tools that come into picture?
10. What is Garbage Collector?
11. What is Object Promotion?
12. What are various generations of GC?
13. What is the difference between ‘new’ and ‘overrides’ keyword?
14. Define the ways by which the class can be prevented from being instantiated?
15. How to use alias with the namespace names?
16. What is virtual function in a class?
17. What is static class?
18. What is static member of class?
19. What is parameter array?
20. What is constant?
21. What is CLR?
22. What is MSIL?
23. What is CTS?
24. What is CLS?
25. How does code written in different languages get executed in .NET?
26. Explain security features implemented by CLR?
27. What is CAS?
28. What is an application domain?
29. What are generics?
30. What is ADO.NET?
31. What are main components of ADO.NET?
32. How ADO.NET works?
33. Which DataAdapters are available for use with different databases in
ADO.NET?
34. How to search the data in DataSet?
35. Explain “web.config” settings for exception management in ASP.NET?
36. Explain the concept of Web Application?
37. What is the difference between Server.Tranfer() and Response.Redirect() call?
38. What is smart navigation?
39. Which method is used to explicitly kill a user’s session?
40. What is EnableViewState property? Why should it be kept on or off?
41. What are the different modes for the session states in the web.config file?
42. Which two properties are on validation controls?
43. What are main components of ASP.NET?
44. What is the difference in code-inline and code-behind models?
45. What are the ways to manage state in ASP.NET application?
46. Explain the limitation and issues with the cookies?
47. Explain limitations and issues with Automatic SQL Server State Management?
48. What is the use of Server.MapPath() call?
49. What is connection pooling?
50. What is denormalization of database?
51. What is BulkCopy (bcp)? Where it is used?
52. What is Cross Join?
53. What is an assembly and assembly manifest?
54. Explain the information stored in assembly manifest?
55. What are the functions performed by assembly manifest?
56. Where are shared assemblies stored?
57. What are the ways to deploy an assembly into GAC?
58. How to set focus on control in ASP.NET?
59. How to set default button on web form?
60. What is a partial class?
61. What are the new features in ASP.NET 2.0?
62. What is the use if tree-view control in ASP.NET 2.0?
63. Explain rich data controls in ASP.NET 2.0?
64. What is the use of master pages?
65. Explain WebMethod attribute in ASP.NET web service?
66. What are the web-services in ASP.NET?
67. What is the use of SOAP?
68. What is WSDL and what are its major elements?
69. What is UDDI and its benefits?
Class
A user-defined data structure that groups properties and methods. Class doesn’t occupies
memory.
Object
Instance of Class is called object. An object is created in memory using keyword “new”.
What is the difference between instantiating structures with and without using the
new keyword?
When a structure is instantiated using the new keyword, a constructor (no-argument or
custom, if provided) is called which initializes the fields in the structure. When a
structure is instantiated without using the new keyword, no constructor is called. Hence,
one has to explicitly initialize all the fields of the structure before using it when
instantiated without the new keyword.
Encapsulation
Wrapping up of data and function into a single unit is known as Encapsulation.
Properties
Attribute of object is called properties. Eg1:- A car has color as property.
Eg2:
{
get
return m_Color;
set
m_Color = value;
}
Car Maruti = new Car();
Maruti.Color= “White”;
Console.Write(Maruti.Color);
Isn't it better to make a field public than providing its property with both
set { } and get { } block? After all the property will allow the user to both
read and modify the field so why not use public field instead? Motivate your
answer
Not always! Properties are not just to provide access to the fields; rather, they are
supposed to provide controlled access to the fields of our class. As the state of the
class depends upon the values of its fields, using properties we can assure that no
invalid (or unacceptable) value is assigned to the fields.
Eg:
get
return age;
set
//throw exception
else
age = value;
}
this Keyword
Eg1:
class Student
this.name = name;
this.age = age;
Eg2:
class Circle
double x,y,radius;
Circle(double x){
this(x,0,1);
this(x,y,1);
this.x = x;
this.y = y;
this.radius = radius;
Constructor
• A constructor is a special method whose task is to initialize the object of its class.
• It is special because its name is the same as the class name.
• They do not have return types, not even void and therefore they cannot return
values.
• They cannot be inherited, though a derived class can call the base class
constructor.
• Constructor is invoked whenever an object of its associated class is created.
• Note: There is always at least one constructor in every class. If you do not write a
constructor, C# automatically provides one for you, this is called default
constructor. E.g.: class A, default constructor is A().
Static members belong to the whole class rather than to individual object
Static members are accessed with the name of class rather than reference to
objects.
Eg:
class Test
class TestDemo
stud1.rollNo = 1;
stud1.mathsMarks = 40;
stud2.rollNo = 2;
stud2.mathsMarks = 43;
Methods that you can call directly without first creating an instance of a class. Eg:
Main() Method, Console.WriteLine()
You can use static fields, methods, properties and even constructors which will be
called before any instance of the class is created.
As static methods may be called without any reference to object, you can not use
instance members inside static methods or properties, while you may call a
static member from a non-static context. The reason for being able to call
static members from non-static context is that static members belong to the
class and are present irrespective of the existence of even a single object.
Static Constructor
In C# it is possible to write a static no-parameter constructor for a class. Such a class is
executed once, when first object of class is created.
One reason for writing a static constructor would be if your class has some static fields or
properties that need to be initialized from an external source before the class is first used.
Eg:
Class MyClass
static MyClass()
For example
{
try
Console.WriteLine(“Destructing Object….”);
finally
base.Finalize();
Destructor
A destructor is just opposite to constructor.
They do not have return types, not even void and therefore they cannot return values.
Eg:
class person
//constructor
person()
{
//destructor
~person()
What is the difference between the destructor and the Finalize() method? When
does the Finalize() method get called?
Finalize() corresponds to the .Net Framework and is part of the System.Object class.
Destructors are C#'s implementation of the Finalize() method. The functionality of both
Finalize() and the destructor is the same, i.e., they contain code for freeing the resources
when the object is about to be garbage collected. In C#, destructors are converted to the
Finalize() method when the program is compiled. The Finalize() method is called by
the .Net Runtime and we can not predict when it will be called. It is guaranteed to be
called when there is no reference pointing to the object and the object is about to be
garbage collected.
Garbage Collection
• Garbage collection is the mechanism that reclaims the memory resources of an
object when it is no longer referenced by a variable.
• .Net Runtime performs automatically performs garbage collection, however you
can force the garbage collection to run at a certain point in your code by calling
System.GC.Collect().
• Advantage of Garbage collection : It prevents programming error that could
otherwise occur by incorrectly deleting or failing to delete objects.
Enumeration
Enumeration improves code readability. It also helps in avoiding typing mistake.
The Program Instruction and Global and Static variables are stored in a region known as
permanent storage area and the local variables are stored in another area called stack.
The memory space located between these two regions is available for dynamic memory
allocation during execution of program. This free memory region is called heap. The size
of heap keeps on changing when program is executed due to creation and death of
variables that are local to functions and blocks. Therefore, it is possible to encounter
memory “overflow” during dynamic allocation process.
A variable is value type or reference type is solely determined by its data type.
Eg: int, float, char, decimal, bool, decimal, struct, etc are value types, while object type
such as class, String, Array, etc are reference type.
Value Type
As name suggest Value Type stores “value” directly.
For eg:
I = 20;
J = I;
int is a value type, which means that the above statements will results in two
locations in memory.
Stored in a Stack.
Reference Type
As name suggest Reference Type stores “reference” to the value.
For eg:
Y.value = 50;
ref keyword
Passing variables by value is the default. However, we can force the value parameter to
be passed by reference. Note: variable “must” be initialized before it is passed into a
method.
out keyword
out keyword is used for passing a variable for output purpose. It has same concept as ref
keyword, but passing a ref parameter needs variable to be initialized while out parameter
is passed without initialized.
It is useful when we want to return more than one value from the method.
Note: You must assigned value to out parameter in method body, otherwise the method
won’t compiled.
Eg:
int I = 20;
string s = I.ToSting();
Eg:
int I = 20;
Note: Performance Overheads due to boxing and unboxing as the boxing makes a copy
of value type from stack and place it inside an object of type System.Object in the
heap.
Inheritance
The process of sub-classing a class to extend its functionality is called Inheritance.
constructors are called in the order from the top to the bottom (parent to child class) in
inheritance hierarchy.
The destructors are called in the reverse order, i.e., from the bottom to the top (child
to parent class) in the inheritance hierarchy.
Can you prevent your class from being inherited by another class?
Yes. The keyword “sealed” will prevent the class from being inherited.
Can you allow a class to be inherited, but prevent the method from being over-
ridden?
Yes. Just leave the class public and make the method sealed.
The Object class defined in the System namespace is implicitly the ultimate base
class of all the classes in C# (and the .NET framework)
Polymorphism
Polymorphism means same operation may behave differently on different classes.
Eg:
No. A class can inherit from only one base class, however a class can implements many
interface, which servers some of the same purpose without increasing complexity.
3) Protected – Limits the member’s access to the containing type and all classes
derived from the containing type.
Method Overloading
Method with same name but with different arguments is called method overloading.
Method Overloading forms compile-time polymorphism.
Eg:
class A1
void hello()
{ Console.WriteLine(“Hello”); }
void hello(string s)
{ Console.WriteLine(“Hello {0}”,s); }
Method Overriding
Method overriding occurs when child class declares a method that has the same type
arguments as a method declared by one of its superclass.
Note: By default functions are not virtual in C# and so you need to write “virtual”
explicitly. While by default in Java each function are virtual.
Eg1:
Class parent
objParent.hello();
//Output
Virtual Method
By declaring base class function as virtual, we allow the function to be overridden in any
of derived class.
Eg:
Class parent
{
override void hello()
objParent.hello();
//Output
http://www.geekinterview.com/Interview-Questions/Concepts/OOPS
http://www.geekinterview.com/FAQs/Concepts/OOPS
“The ability to define a class and create instances of classes is one of the most important
capabilities of any Object Oriented Language”
A: All classes in Visual Basic. NET are defined in a .VB file (as oppose to .CLS file in
vb6), Also .VB file may contain one or more classes. The basic syntax of a class is as
follows:
Class ClassName
End Class
End Class
A: There are five access specifiers in Visual Basic .NET defined as follows:
• Public – Applied at the class level and is the most common specifier. Public
Classes are classes that are intended to be used by any consumer.
End Class
• Protected – can only be applied to Nested Classes. Are only accessible within the
class and within the child classes.
End Class
End Class
• Friend – Are accessible only within the program in which they are defined. If you
add the Friend access specifier to a class definition, instance of that class can only
be created from within th same program.
MsgBox(“FriendClass.PublicMethod”)
End Sub
End Class
MsgBox(“test”)
End Sub
End Class
End Class
• Private – Can only be applied to a nested class. A Private nested class represents
implementation details of the class. When you have complex problem that
requires more problem solving horsepower then simple methods can provided,
defining a nested private class that implements the abstraction.
End Class
End Class
Q: What is a Field?
A: Field is a Data Member of a class. Fields can be ValueType members, like Integer or
Dates, or can be aggregate types, like structures or classes.
Q: What is a Property?
A: A Property is a special member constructor that is used like a field, but acts like a
method. Properties are special kind of methods that generally are used to provide
constrained access to Field.
A: Indexed Properties are simply property methods that have a mandatory parameter. The
mendatory parameter is semantically treated like an index Index properties has an
argument between the parentheses. This argument doesn’t represent the field value;
rather, it represents an index to an underlying field value. The fundamental idea behind
indexed properties is that you can wrap arrays and other kind of collections of data safely
behind property methods.
Get
Return FStrings(index)
End Get
FStrings(index) = value
End Set
End Property
End Class
‘//useage
‘Msgbox(objIndex.Strings(1))
A: Default Properties must be indexed properties, you can have only one default property
per class and you can invoke property setter and getter methods on a default property
using the verbos or shorthand form.
Get
Return FStrings(index)
End Get
FStrings(index) = value
End Set
End Property
End Class
‘//useage
‘Msgbox(objIndex.Strings(1))
‘Msgbox(objIndex(1)
A: Read Only property is a property that can be used as an r- value only. That’s why a
property statement that includes a read only modifier will generate a getter block only
and users can evaluate this property but can not modify it.
Get
Return FStrings(index)
End Get
End Property
Write Only – is a property that a consumer can modify but can’t view. This implements a
property setter only.
FStrings(index) = value
End Set
End Property
Shared Property – is a property that a shared members can also be invoked using
instances.
Get
Return FStrings(index)
End Get
End Property
A: MyBase allows you to invoke methods in your class’s Base Class that may be
overloaded in your class, resolving any name ambiguity.
A: Method Overloading means to have two or more methods in the same class with
different signature. The benefit of method overloading is that it allows you to implement
methods that supports the same semantic operation but differ by argument number or
type.
End Sub
A: Method Overriding changing the behavior of a method in a base class. Use keyword
Overrides.
MustOverride- modifier indicates that a method is abstract, and child class must
implement the MustOverride method in a parent class.
A: Shadows – if you want a child class to use a name previously used in a parent class,
use the Shadows keyword to do so. Shadows keyword simply allows you to reintroduce a
previously used name in the child class without a compiler error.
3. What are the basic concepts of OOPs?The following are the basic concepts
of OOPs:
Classes, Objects, Data abstraction and encapsulation, Polymorphism,
Inheritance, Message Passing, and Dynamic Binding.
4. What is a class?
Class is an entity which consists of member data and member functions which
operate on the member data bound together.
5. What is an object?
Objects are instances of classes. Class is a collection of similar kind of objects.
When a class is created it doesn’t occupy any memory, but when instances of
class is created i.e., when objects are created they occupy memory space.
9. What is inheritance?
The process of inheriting the properties of one object by another object is called
inheritance.
11. What are the steps involved in message passing? The following are the
steps involved in message passing:
Creating classes, creating objects, and creating communication between objects.
11. Write the syntax for defining member functions inside the class.Syntax:
class
{
private:
variables;
public:
variables:
return type
{
statements;
}
};
12. Write the syntax for defining member functions outside the
class.Syntax:
return type :: (arguments)
{
body;
}
13. What does member functions represent?
Member functions of a class represent the behaviour of a class.
14. Write the syntax for making an outside function inline?Member functions
can be made inline even though we define them outside the class by using the
keyword inline.
Syntax:
class
{
variables;
public:
return type (arguments);
};
inline return type :: (arguments)
{
body;
}
http://www.careerride.com/OOPS-in-NET.aspx
233
RE: what is shadowing in .net?
Shadowing is either through scope or through inheritance.
Shadowing through inheritance is hiding a method of a base class and providing a new
implementation for the same. This is the default when a derived class writes an
implementation of a method of base class which is not declared as overridable in the base
class. This also serves the purpose of protecting an implementation of a new method
against subsequent addition of a method with the same name in the base class.
4
RE: what is shadowing in .net?
while surfing i got very accurate and valid defination.Shadowing :- This is a VB.Net
Concept by which you can provide a new implementation for the base class member
without overriding the member. You can shadow a base class member in the derived class
by using the keyword Shadows . The method signature access level and return type of the
shadowed member can be completely different than the base class member.Hiding : - This
is a C# Concept by which you can provide a new implementation for the base class
member without overriding the member. You can hide a base class member in the derived
class by using the keyword new . The method signature access level and return type of the
hidden member has to be same as the base class member.Comparing the three :-1) The
access level signature and the return type can only be changed when you are shadowing
with VB.NET. Hiding and overriding demands the these parameters as same.2) The
difference lies when you call the derived class object with a base class variable.In class of
overriding although you assign a derived class object to base class variable it will call the
derived class function. In case of shadowing or hiding the base class function will be
called.http://www.codeproject.com/useritems/OSH.asp
http://www.dotnetfunda.com/interview/ShowCatQuestion.aspx?
category=42
http://www.dotnetuncle.com/
http://dotnetguts.blogspot.com/2006/10/net-faqs-links.html
http://www.sexzindian.com/video/1516/sucking-the-lolipop