C# interview questions and answers
- What’s the implicit name of the parameter that gets passed into the class’ set method? Value, and it’s datatype depends on whatever variable we’re changing.
- How do you inherit from a class in C#? Place a colon and then the name of the base class.
- Does C# support multiple inheritance? No, use interfaces instead.
- When you inherit a protected class-level variable, who is it available to? Classes in the same namespace.
- Are private class-level variables inherited? Yes, but they are not accessible, so looking at it you can honestly say that they are not inherited. But they are.
- Describe the accessibility modifier protected internal. It’s available to derived classes and classes within the same Assembly (and naturally from the base class it’s declared in).
- C# provides a default constructor for me. I write a constructor that takes a string as a parameter, but want to keep the no parameter one. How many constructors should I write? Two. Once you write at least one constructor, C# cancels the freebie constructor, and now you have to write one yourself, even if there’s no implementation in it.
- What’s the top .NET class that everything is derived from? System.Object.
- How’s method overriding different from overloading? When overriding, you change the method behavior for a derived class. Overloading simply involves having a method with the same name within the class.
- What does the keyword virtual mean in the method definition? The method can be over-ridden.
- Can you declare the override method static while the original method is non-static? No, you can’t, the signature of the virtual method must remain the same, only the keyword virtual is changed to keyword override.
- Can you override private virtual methods? No, moreover, you cannot access private methods in inherited classes, have to be protected in the base class to allow any sort of access.
- Can you prevent your class from being inherited and becoming a base class for some other classes? Yes, that’s what keyword sealed in the class definition is for. The developer trying to derive from your class will get a message: cannot inherit from Sealed class WhateverBaseClassName. It’s the same concept as final class in Java.
- Can you allow class to be inherited, but prevent the method from being over-ridden? Yes, just leave the class public and make the method sealed.
- What’s an abstract class? A class that cannot be instantiated. A concept in C++ known as pure virtual method. A class that must be inherited and have the methods over-ridden. Essentially, it’s a blueprint for a class without any implementation.
- When do you absolutely have to declare a class as abstract (as opposed to free-willed educated choice or decision based on UML diagram)? When at least one of the methods in the class is abstract. When the class itself is inherited from an abstract class, but not all base abstract methods have been over-ridden.
- What’s an interface class? It’s an abstract class with public abstract methods all of which must be implemented in the inherited classes.
- Why can’t you specify the accessibility modifier for methods inside the interface? They all must be public. Therefore, to prevent you from getting the false impression that you have any freedom of choice, you are not allowed to specify any accessibility, it’s public by default.
- Can you inherit multiple interfaces? Yes, why not.
- And if they have conflicting method names? It’s up to you to implement the method inside your own class, so implementation is left entirely up to you. This might cause a problem on a higher-level scale if similarly named methods from different interfaces expect different data, but as far as compiler cares you’re okay.
- What’s the difference between an interface and abstract class? 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 ok in abstract classes.
- How can you overload a method? Different parameter data types, different number of parameters, different order of parameters.
- If a base class has a bunch of overloaded constructors, and an inherited class has another bunch of overloaded constructors, can you enforce a call from an inherited constructor to an arbitrary base constructor? Yes, just place a colon, and then keyword base (parameter list to invoke the appropriate constructor) in the overloaded constructor definition inside the inherited class.
- What’s the difference between System.String and System.StringBuilder classes? System.String is immutable, System.StringBuilder was designed with the purpose of having a mutable string where a variety of operations can be performed.
- Is it namespace class or class namespace? The .NET class library is organized into namespaces. Each namespace contains a functionally related group of classes so natural namespace comes first.
31.
|
What is serialization?
|
|
Serialization is the process of
converting an object into a stream of bytes.
De-serialization is the opposite process of creating an object from a stream of bytes. Serialization / De-serialization is mostly used to transport objects. |
32.
|
What are the difference between
Structure and Class?
|
|
|
33.
|
What is difference between Class
And Interface?
|
|
Class : is logical representation of object. It is collection
of data and related sub procedures with defination.
Interface : is also a class containg methods which is not having any definations.Class does not support multiple inheritance. But interface can support. |
34.
|
What is Delegates?
|
|
Delegates are a type-safe,
object-oriented implementation of function pointers and are used in many
situations where a component needs to call back to the component that is
using it.
|
35.
|
What is Authentication and
Authorization?
|
|
Authentication is the process of identifying users. Authentication is
identifying/validating the user against the credentials (username and
password).
Authorization performs after authentication. Authorization is the process of granting access to those users based on identity. Authorization allowing access of specific resource to user. |
36.
|
What is a base class?
|
|
A class declaration may specify a
base class by following the class name with a colon and the name of the base
class. omitting a base class specification is the same as deriving from type
object.
|
37.
|
Can “this” be used within a static
method?
|
|
No ‘This’ cannot be used in a
static method. As only static variables/methods can be used in a static
method.
|
38.
|
What is difference between
constants, readonly and, static ?
|
|
|
39.
|
What are the different types of
statements supported in C#?
|
|
C# supports several different kinds of statements are
|
40.
|
What is an interface class?
|
|
It is an abstract class with
public abstract methods all of which must be implemented in the inherited
classes.
|
- How big is the datatype int in .NET? 32 bits.
- How big is the char? 16 bits (Unicode).
- How do you initiate a string without escaping each backslash? Put an @ sign in front of the double-quoted string.
- What are valid signatures for the Main function?
- public static void Main()
- public static int Main()
- public static void Main( string[] args )
- public static int Main(string[] args )
- Does Main() always have to be public? No.
- How do you initialize a two-dimensional array that you don’t know the dimensions of?
- int [, ] myArray; //declaration
- myArray= new int [5, 8]; //actual initialization
- What’s the access level of the visibility type internal? Current assembly.
- What’s the difference between struct and class in C#?
- Structs cannot be inherited.
- Structs are passed by value, not by reference.
- Struct is stored on the stack, not the heap.
- Explain encapsulation. The implementation is hidden, the interface is exposed.
- What data type should you use if you want an 8-bit value that’s signed? sbyte.
- Speaking of Boolean data types, what’s different between C# and C/C++? There’s no conversion between 0 and false, as well as any other number and true, like in C/C++.
- Where are the value-type variables allocated in the computer RAM? Stack.
- Where do the reference-type variables go in the RAM? The references go on the stack, while the objects themselves go on the heap. However, in reality things are more elaborate.
- What is the difference between the value-type variables and reference-type variables in terms of garbage collection? The value-type variables are not garbage-collected, they just fall off the stack when they fall out of scope, the reference-type objects are picked up by GC when their references go null.
- How do you convert a string into an integer in .NET? Int32.Parse(string), Convert.ToInt32()
- How do you box a primitive data type variable? Initialize an object with its value, pass an object, cast it to an object
- Why do you need to box a primitive variable? To pass it by reference or apply a method that an object supports, but primitive doesn’t.
- What’s the difference between Java and .NET garbage collectors? Sun left the implementation of a specific garbage collector up to the JRE developer, so their performance varies widely, depending on whose JRE you’re using. Microsoft standardized on their garbage collection.
- How do you enforce garbage collection in .NET? System.GC.Collect();
- Can you declare a C++ type destructor in C# like ~MyClass()? Yes, but what’s the point, since it will call Finalize(), and Finalize() has no guarantees when the memory will be cleaned up, plus, it introduces additional load on the garbage collector. The only time the finalizer should be implemented, is when you’re dealing with unmanaged code.
- What’s different about namespace declaration when comparing that to package declaration in Java? No semicolon. Package declarations also have to be the first thing within the file, can’t be nested, and affect all classes within the file.
- What’s the difference between const and readonly? You can initialize readonly variables to some runtime values. Let’s say your program uses current date and time as one of the values that won’t change. This way you declare
public
readonly string DateT = new DateTime().ToString().
- Can you create enumerated data types in C#? Yes.
- What’s different about switch statements in C# as compared to C++? No fall-throughs allowed.
- What happens when you encounter a continue statement inside the for loop? The code for the rest of the loop is ignored, the control is transferred back to the beginning of the loop.
- Is goto statement supported in C#? How about Java? Gotos are supported in C#to the fullest. In Java goto is a reserved keyword that provides absolutely no functionality.
- Describe the compilation process for .NET code? Source code is compiled and run in the .NET Framework using a two-stage process. First, source code is compiled to Microsoft intermediate language (MSIL) code using a .NET Framework-compatible compiler, such as that for Visual Basic .NET or Visual C#. Second, MSIL code is compiled to native code.
- Name any 2 of the 4 .NET authentification methods. ASP.NET, in conjunction with Microsoft Internet Information Services (IIS), can authenticate user credentials such as names and passwords using any of the following authentication methods:
- Windows: Basic, digest, or Integrated Windows Authentication (NTLM or Kerberos).
- Microsoft Passport authentication
- Forms authentication
- Client Certificate authentication
- How do you turn off SessionState in the web.config file? In the system.web section of web.config, you should locate the httpmodule tag and you simply disable session by doing a remove tag with attribute name set to session.
<httpModules>
<remove name=”Session” />
</httpModules>
<remove name=”Session” />
</httpModules>
- What is main difference between Global.asax and Web.Config? ASP.NET uses the global.asax to establish any global objects that your Web application uses. The .asax extension denotes an application file rather than .aspx for a page file. Each ASP.NET application can contain at most one global.asax file. The file is compiled on the first page hit to your Web application. ASP.NET is also configured so that any attempts to browse to the global.asax page directly are rejected. However, you can specify application-wide settings in the web.config file. The web.config is an XML-formatted text file that resides in the Web site’s root directory. Through Web.config you can specify settings like custom 404 error pages, authentication and authorization settings for the Web site, compilation options for the ASP.NET Web pages, if tracing should be enabled, etc.
41.
|
what are value types and reference
types?
|
|
Value types are stored in the
Stack.
Examples : bool, byte, chat, decimal, double, enum , float, int, long, sbyte, short, strut, uint, ulong, ushort. Reference types are stored in the Heap. Examples : class, delegate, interface, object, string. |
42.
|
What is the difference between
string keyword and System.String class?
|
|
String keyword is an alias for
Syste.String class. Therefore, System.String and string keyword are the same,
and you can use whichever naming convention you prefer. The String class
provides many methods for safely creating, manipulating, and comparing
strings.
|
43.
|
What are the two data types
available in C#?
|
|
|
44.
|
What are the different types of
Caching?
|
|
There are three types of Caching :
|
45.
|
What is the difference between
Custom Control and User Control?
|
|
Custom Controls are compiled code (Dlls), easier to use, difficult to
create, and can be placed in toolbox. Drag and Drop controls. Attributes can
be set visually at design time. Can be used by Multiple Applications (If
Shared Dlls), Even if Private can copy to bin directory of web application add
reference and use. Normally designed to provide common functionality
independent of consuming Application.
User Controls are similar to those of ASP include files, easy to create, can not be placed in the toolbox and dragged - dropped from it. A User Control is shared among the single application files. |
46.
|
What is methods?
|
|
A method is a member that
implements a computation or action that can be performed by an object or
class. Static methods are accessed through the class. Instance methods are accessed
through instances of the class.
|
47.
|
What is fields?
|
|
A field is a variable that is
associated with a class or with an instance of a class.
|
48.
|
What is events?
|
|
An event is a member that enables
a class or object to provide notifications. An event is declared like a field
except that the declaration includes an event keyword and the type must be a
delegate type.
|
49.
|
What is literals and their types?
|
|
Literals are value constants assigned to variables in a
program. C# supports several types of literals are
|
50.
|
What is the difference between
value type and reference type?
|
|
|
51.
|
What are the features of c#?
|
|
|
52.
|
What are the types of errors?
|
|
|
53.
|
What is the difference between
break and continue statement?
|
|
The break statement is used
to terminate the current enclosing loop or conditional statements in which it
appears. We have already used the break statement to come out of switch
statements.
The continue statement is used to alter the sequence of execution. Instead of coming out of the loop like the break statement did, the continue statement stops the current iteration and simply returns control back to the top of the loop. |
54.
|
Define namespace?
|
|
The namespace are known as
containers which will be used to organize the hierarchical set of .Net
classes.
|
55.
|
What is a code group?
|
|
|
A code group is a set of
assemblies that share a security context.
|
|
56.
|
What are sealed classes in C#?
|
|
|
The sealed modifier is used to
prevent derivation from a class. A compile-time error occurs if a sealed
class is specified as the base class of another class.
|
57.
|
What is the difference between
static and instance methods?
|
|
A method declared with a static
modifier is a static method. A static method does not operate on a specific
instance and can only access static members.
A method declared without a static modifier is an instance method. An instance method operates on a specific instance and can access both static and instance members. The instance on which an instance method was invoked can be explicitly accessed as this. It is an error to refer to this in a static method. |
58.
|
What are the different types of
variables in C#?
|
|
Different types of variables used in C# are :
|
59.
|
What is meant by method
overloading?
|
|
Method overloading permits
multiple methods in the same class to have the same name as long as they have
unique signatures. When compiling an invocation of an overloaded method, the
compiler uses overload resolution to determine the specific method to invoke
|
60.
|
What is parameters?
|
|
|
Parameters are used to pass values
or variable references to methods. The parameters of a method get their actual
values from the arguments that are specified when the method is invoked.
There are four kinds of parameters: value parameters, reference parameters,
output parameters, and parameter arrays.
|
|
61.
|
Is C# is object oriented?
|
|
|
YEs, C# is an OO langauge in the
tradition of Java and C++.
|
62.
|
What is the difference between
Array and Arraylist?
|
|
An array is a collection of the
same type. The size of the array is fixed in its declaration. A linked list
is similar to an array but it doesn’t have a limited size.
|
63.
|
What are the special operators in
C#?
|
|
C# supports the following special operators.
|
64.
|
What is meant by operators in c#?
|
|
An operator is a member that
defines the meaning of applying a particular expression operator to instances
of a class. Three kinds of operators can be defined: unary operators, binary
operators, and conversion operators. All operators must be declared as public
and static.
|
65.
|
What is a parameterized type?
|
|
|
A parameterized type is a type
that is parameterized over another value or type.
|
|
66.
|
What are the features of abstract
class?
|
|
|
|
67.
|
What is the use of abstract
keyword?
|
|
The modifier abstract is a
keyword used with a class, to indicate that this class cannot itself have
direct instances or objects, and it is intended to be only a 'base' class to
other classes.
|
68.
|
What is the use of goto statement?
|
|
The goto statement is also
included in the C# language. This goto can be used to jump from inside a loop
to outside. But jumping from outside to inside a loop is not allowed.
|
69.
|
What is the difference between
console and window application?
|
|
|
70.
|
What is the use of return
statement?
|
|
The return statement is associated with procedures
(methods or functions). On executing the return statement, the system passes
the control from the called procedure to the calling procedure. This return
statement is used for two purposes :
|
71.
|
What is the difference between
Array and LinkedList?
|
|
Array is a simple sequence of
numbers which are not concerned about each others positions. they are
independent of each others positions. adding,removing or modifying any array
element is very easy. Compared to arrays ,linked list is a comlicated
sequence of numbers.
|
72.
|
Does C# have a throws clause?
|
|
No, unlike Java, C# does not
require the developer to specify the exceptions that a method can throw.
|
73.
|
Does C# support a variable number
of arguments?
|
|
Yes, uisng the params keyword. The
arguments are specified as a list of arguments of a specific type.
|
74.
|
Can you override private virtual
methods?
|
|
No, private methods are not
accessible outside the class.
|
75.
|
What is a multi cast delegates?
|
||
|
It is a delegate that points to
and eventually fires off several methods.
|
||
1.
|
What is C#?
|
||
|
|
||
2.
|
What are the types of comment in
C#?
|
|
There are 3 types of comments in C#.
|
3.
|
What are the namespaces used in
C#.NET?
|
|
Namespace is a logical grouping of class.
|
4.
|
What are the characteristics of
C#?
|
|
There are several characteristics of C# are :
|
5.
|
How does C# differ from C++?
|
|
|
|
|
6.
|
What are the basic concepts of
object oriented programming?
|
|
|
It is necessary to understand some of the concepts used
extensively in object oriented programming.These include
|
7.
|
Can you inherit multiple
interfaces?
|
|
Yes. Multiple interfaces may be
inherited in C#.
|
8.
|
What is inheritance?
|
|
Inheritance is deriving the new
class from the already existing one.
|
9.
|
Define scope?
|
|
Scope refers to the region of code
in which a variable may be accessed.
|
10.
|
What is the difference between
public, static and void?
|
|
|
|
|
11.
|
What are the modifiers in C#?
|
|
|
|
12.
|
What are the types of access
modifiers in C#?
|
|
Access modifiers in C# are :
|
13.
|
What is boxing and unboxing?
|
|
Implicit conversion of value type
to reference type of a variable is known as BOXING, for example integer to
object type conversion.
Conversion of reference type variable back to value type is called as UnBoxing. |
14.
|
What is object?
|
|
An object is an instance of a
class. An object is created by using operator new. A class that creates an
object in memory will contain the information about the values and behaviours
(or methods) of that specific object.
|
15.
|
Where are the types of arrays in
C#?
|
|
|
|
|
16.
|
What is the difference between
Object and Instance?
|
|
|
An instance of a user-defined type
is called an object. We can instantiate many objects from one class.
An object is an instance of a class. |
17.
|
Define destuctors?
|
|
A destructor is called for a class
object when that object passes out of scope or is explicitly deleted.A
destructors as the name implies is used to destroy the objects that have been
created by a constructors.Like a constructor , the destructor is a member
function whose name is the same as the class name but is precided by a tilde.
|
18.
|
What is the use of enumerated data
type?
|
|
An enumerated data type is another
user defined type which provides a way for attaching names to numbers thereby
increasing comprehensibility of the code. The enum keyword automatically
enumerates a list of words by assigning them values 0,1,2, and so on.
|
19.
|
Define Constructors?
|
|
A constructor is a member function
with the same name as its class. The constructor is invoked whenever an
object of its associated class is created.It is called constructor because it
constructs the values of data members of the class.
|
20.
|
What is encapsulation?
|
|
|
The wrapping up of data and
functions into a single unit (called class) is known as encapsulation.
Encapsulation containing and hiding information about an object, such as
internal data structures and code.
|
|
21.
|
Does c# support multiple
inheritance?
|
|
|
No,its impossible which accepts
multi level inheritance.
|
22.
|
What is ENUM?
|
|
Enum are used to define constants.
|
23.
|
What is a data set?
|
|
A DataSet is an in memory
representation of data loaded from any data source.
|
24.
|
What is the difference between
private and public keyword?
|
|
|
25.
|
Define polymorphism?
|
|
|
Polymorphism means one name,
multiple forms. It allows us to have more than one function with the same
name in a program.It allows us to have overloading of operators so that an
operation can exhibit different behaviours in different instances.
|
|
26.
|
What is Jagged Arrays?
|
|
|
|
27.
|
what is an abstract base class?
|
|
An abstract class is a class that
is designed to be specifically used as a base class. An abstract class
contains at least one pure virtual function.
|
28.
|
How is method overriding different
from method overloading?
|
|
When overriding a method, you
change the behavior of the method for the derived class. Overloading a method
simply involves having another method with the same name within the class.
|
29.
|
What is the difference between ref
& out parameters?
|
|
An argument passed to a ref
parameter must first be initialized. Compare this to an out parameter, whose
argument does not have to be explicitly initialized before being passed to an
out parameter.
|
30.
|
What is the use of using statement
in C#?
|
|
The using statement is used to
obtain a resource, execute a statement, and then dispose of that resource.
|
No comments:
Post a Comment