Hi Friends,
Below I am posting
the questions and answers for the short questions for 3-6 years guys. These
questions will be helpful for those who are preparing for the interview or
attending the interviews. This will be helpful for the last minute preparation
in quickest way.
If anyone has better
answer, please reply to this post as that will be useful for all of us.
CLR and C#
1.
Types of Authentication and Authorization in IIS.
A. Types of
Authentication: Anonymous Authentication, Windows Authentication, Digest
Authentication
Types of
Authorization:- Anonymous
2.
Types of Authentication and Authorization in ASP.Net.
A. Types of
Authentication: Windows Authentication, Forms Authentication
Types of
Authorization:- File Authorization and URL Authorization
3.
ASP.Net Life cycle.
A. The request starts
with the client and processed through IIS. In IIS, there are 2 utilities-
INetInfo.exe and ASPNet_ISAPI.dll the InetInfo.exe checks for the syntax and
semantics of the request and then the request goes to the ASPNet_ISAPI.dll
which is the filter to filter the .aspx files. Here the URL request split in to
2 parts- virtual directory and webpage. Now worker process which is nothing but
the application factory basically contains all the virtual directories and
checks for the current virtual directory. If this is first request, then there
will be no Virtual directory available. Now the worker process (W3wp.exe)
creates a memory area called as AppDomain to check for the current page. As
AppDomain is the Page Handler factory so it contains all the processes pages.
If this is the new page then it will not find here. The request further move to
the HttpPipeline where the actual execution of the page happened by using the
ProcessRequest method and creates the events of the page. After creation of
event and execution of all the event, the HTML page gets back to the user.
4.
ASP.Net Page Life Cycle.
A. There are few
events which gets generated during the page execution like: Page_BeginRequest,
Page_Init, Page_Load, Page_Prerender, Page_Render, Page_Unload etc
For the details of
the page life cycle, you can follow the previous question.
5. What
are types: Value Type and Reference Type?
A. Value type holds
data directly, Value type stored in the stack memory, we can get the direct
value of the value types. Value type data type can’t be null.
Reference types: This
type doesn’t hold the data directly. They hold the address on which the actual
data present. They stored in heap memory, Can have default values.
We can make and work
with null reference type.
6.
Boxing and Unboxing: Terminology, Advantages and Disadvantages.
A. Converting the
value type data type in to the Reference type is called as Boxing. Converting
the Reference type data type and keep its value to stack is called as the
reference type.
byte b= 45;
Object o = b.Tostring();
The Advantage of
boxing and unboxing is that we can convert the type of the object in to another
type. The disadvantage is that it requires lot of memory and CPU cycles to
convert from one type to another type.
Object o=10;
Int i= Convert.ToInt32(o.ToString());
7. What
is Type Safety?
A. TypeSafe is a way
through which the application or framework that the memory will not be leaked
to outside environment. E.g. C# is the type safe language where you must have
to assign any object before using it. In VB.Net it will take the default value.
So C# is the type safe language while VB.Net is not.
8. What
is Strong Name?
A. Strong Name (SN)
is used to make the dll as the unique as:
SN -k fileName.dll
Now it will have the
unique name. This assembly when placed in the GAC, it will treat as the unique
with its version number and other details. 2 assemblies with the same name can
exist in the GAC but both will have different version. The CLR takes the latest
version assembly while running the application.
9. What
are Extensions, modules and handlers?
A. HttpModule and
HttpHandler are the utilities which are used in the HttpPipeline under the
ASP.Net page life cycle. When the request received to HttpPipeline, the
HttpModule checks for the Authentication of the request and then it route the
request to the respective handler. After that HttpHandler takes that request
and process it. After Processing the request again the HttpModule takes the
response and send it back to the worker process and finally to the user.
10.
What is worker process?
A. Worker process
(w3wp.exe) is an executable which is also called as the Application Factory.
This is used for the execution of the request and handling of the request for
the current web page.
11. CLR
and DLR?
A. CLR (Common
Language Runtime) is the utility in the .Net framework to run the application.
It is the run-time engine which actually executes the application with many
responsibilities like taking care of memory management, versioning, CasPol etc.
DLR is new with .Net
4.0 which is the Dynamic Language Runtime and used to run the application on
the fly wherever required. CLR runs as statically while DLR runs dynamically.
12. In
case more than one version of an installable is installed, which version is
invoked by default?
A. By default the CLR
will take and invoke the latest version of the dll and execute it accordingly.
There could be the same name assemblies exists in the GAC but they will have
different versions altogether for their uniqueness.
So while running the
application, CLR takes the latest version assembly and use in the application.
13.
What are Globalization and localization? How to implement them?
A. Globalization is
the concept of developing the application in more than one language while the
Localization is used for a particular language. Like if we develop the
application in more than one language we need to create the resource files
(.resx) by using System. Globalization and when we open the application in a
particular language, then the localizations used to convert that application to
the selected language.
14.
What is assembly, GAC? Where they are physically located?
A. Assembly is the
collection of classes, namespaces, methods, properties which may be developed
in different language but packed as a dll. So we can say that dll is the
assembly.
There are 3 types of
assemblies- Private Assembly, Shared Assembly, and Satellite Assembly.
GAC (Global Assembly
Cache)- When the assembly is required for more than one project or
application, we need to make the assembly with strong name and keep it in GAC
or in Assembly folder by installing the assembly with the GACUtil command.
To make the assembly
with strong name:
SN -k MyDll.dll
And to install it in
GAC:
GacUtil -i MyDll.dll
GAC assemblies are
physically stored in Assembly folder in the system.
15. How
to configure HTTPS for a web application?
A. To configure the
HTTPS (HTTP with Secure) for the web application, we need to have a client
certificate. We can purchase the client certificate from the trusted providers
and then we need to install that provider for our site. By implementing the
HTTPS, all the data which is passing will be in encrypted format and will be
more secure.
16. What are in-proc and out-proc? Where are data stored in
these cases?
A. In-Proc and
Out-Proc is the types of Sessions where the session data can be stored in the
process memory of the server and in the separate state server.
When the session data
is stored in the process memory of the server, the session is called as the
In-Proc server. In this case when the server is restarted, the session data
will be lost.
When the session data
is stored in the separate server like in state server or in Sql Server, the
type of session is called as the Out-Proc session. In this case, if the server
where the application is running is restarted, the session will be still remain
in the separate servers.
So in the
in-Proc session state, the session data is stored in the Process memory
of the Server where the application is running.
In the Out-proc
session state, the session data is stored in the separate server- may be state
server or in sql server.
17.
When the View state is saved, and when is it loaded? How to enable/ disable
View states?
A. View State data is
stored in the current page in base64 encoded format. It gets loaded with the
page and displays the values to the controls after the decoded. Internally it
actually saves the check-sum of all the control data where the view state is
enabled.so that when the page gets loaded due to any post back, it again finds the
check-sum and then decodes the Base64 encoded string and gets back the same
data to the controls. We can see the view state base 64 encoded string in View
Source of the page. It will be like _VIEWETATE="DSDSDF8DGDGDFGFD5FDGGDJFF23BNN457M9UJOG" this.
View state won't take
the client or server memory to keep the view state data.
18.
Difference between GET and POST. Which one is more secure?
A. GET and POST
methods are used for the data transfer between the web pages. GET mainly used
for small data which is not secure because in case of GET method, the data
which we are passing will be visible in the url so we can't keep the secure
data which will be visible in the url. There is also limited data which can be
passed in case of GET method (max 255 character).
POST is used for
transferring the huge data between the pages where we can keep the secure data
and can transfer it. In case of using the POST method, the data which is
transferring between the pages will not be visible so it is more secure than
the GET method. Also there is no limit for POST method to post the data to the
next page.
POST is more secure.
19.
What are Razor engines? How is it diff from ASP Engines?
A. RAZOR engine is
the new concept in the MVC 3 which is mainly used to create the views in the
MVC applications. It created the cshtml pages for the MVC application and
cshtml pages can be generated automatically by using the Razor engine.ASP
engine create the aspx pages while Razor engine creates the pages.
20.
Pros and cons of JavaScript and AJAX.
A. JavaScript is a
scripting language and mainly used for client side validation. We can validate
the client side data before sending to the server. So by this we can improve
the performance of the application.
Ajax is Synchronous
JavaScript and XML which is used for the Asynchronous calls from the server. It
uses internally the JavaScript for making the call and use XML for the Data
Transfer. It basically uses the XmlHttpRequest for the asynchronous calls to
the server and communicates with the XML data which is platform independent. So
Ajax can be used with any technology.
21. In
how many different ways can JavaScript be used/called in an application?
A. JavaScript can be
used for Client Side validation, can also be used for calling of server side
methods and functions, can be used for calling the web services etc.
22.
What needs to be done to call a JavaScript function from code behind?
A. If we want to call
the JavaScript function from the code behind, we need to attach the JavaScript
to the events in the page_load event as:
protected void btnSave_cliekc9object sender, EventArgs e)
{
btnSave.Attributes.Add("onclick,"JavaScript:
retrun Validatedata();");
}
Here ValidateData is
the JavaScript function which can be used to validate the page data and if
validation fails, it will return and will not execute the server side
btnSave_click event.
23.
Difference between Server Controls and User controls?
A. User controls are
used for the re-usability for the controls in the application. By using the user
control, we can use the same control in the various pages. User controls can be
created by combining more than one control. To use the user controls, first we
need to register them in the web page where we want to use that control. A
separate copy is need in each page where we want to use the user control. User
controls can't be included in to the toolbox.
Server controls are
those controls which can be found in the toolbox and can be directly drag to
the application like textbox, button etc. For the server control, only 1 copy
of the control is needed irrespective of the number of web pages. If we want 10
text-boxes to be added in our web page, we need only 1 copy of the textbox in
the toolbox and can be dragged 10 times.
24.
Difference between Var, object and Dynamic types.
A. var is the keyword
introduced with .net 3.5 and used to store any kind of data like data-set, data
table, int, float, char etc. We can keep any kind of data in the var variable.
var myVar = new String[] {"hello",
"world!!"} ;
Here the myVar is the
var type variable which is used to store the string array. Like this we can
store any type of data into the var.
Object is the type
which is used to store the objects of any kind. These objects need to be type
caste when required.
Like object mybject =
"Hello"
Here the myObject
variable of object type is used to keep the string variable. Now when we want
this variable value, we need to typecast it like
string strvar= (string) myobject;
Dynamic- It’s a
keyword introduces with the .net 4.0 and used to keep the data similar to the
var keyword. The difference between the var and dynamic is that the dynamic
variable uses the same memory location to store the object and not changes
throughout the application.
25.
Difference between Functions and methods.
A. in.Net
terminology, both are same. in general, we use method in .net but in scripting
language we use function like JavaScript function.
Here the difference
can be Function always returns a value which method may or may not. It depends
upon the return type of the method.
26.
Difference between Abstract classes and Interface. Explain with scenario where
to implement one?
A. Collection of the
Abstract (Incomplete) and Concrete (complete) methods is called as the Abstract
class. If there is at least one abstract method in a class, the class must be
abstract class.
When there is the
similar behavior, we can use the abstract class.
e.g. We want to
calculate the area of few component. As this is not generic to the application.
We have only few component- like Circle, Ellipse, parabola, Hyperbola, Triangle
etc.
So we can create an
abstract class and implement it like below:
public abstract class MyAbstractClass
{
// some other concrete members
public abstract void Area();// abstract member
}
Now in the child
class, let’s say i have a circle class and want to calculate the area of the
circle:
public class Cicle: MyAbstractClass
{
public override void Area()
{
// calculate the area of the circle
}
}
In the similar
fashion, we can calcite the area of other shapes.
Collection of
abstract members is called as the Interface. When the behavior is not similar,
we need to use the interface. All the members of the interface
must be overrides in
the child class.
e.g. Print
functionality of the application can have an interface like:
interface Inf
{
void Print();
}
Now as this is the
generic functionality and can be implemented in any of the page so we have
taken it as interface. Now we can implement this functionality in to any page
like:
class MyClass:Inf
{
public void print
{
// write details about the print
}
// Here we can implement any kind of print-like print to
excel, xml, word all depends on the our decision.
}
27.
Different forms of Polymorphism. Differences between Abstraction and Polymorphism.
A. Polymorphism is to
use the same function in many forms. The polymorphism is of 2 types-
a. Classical
polymorphism (Overloading)
b. AdHoc polymorphism
(Overriding)
When the runtime
(CLR) find the behavior of class members at the runtime of the program, it is
called as the AdHoc polymorphism or Overriding.in this the method name is same
but they are implemented in the different class. We use virtual keyword in the
base class method to be overrides in the child class using the override
keyword.
e.g.
public class MyClass
{
Public int Add(int a, int b)
{
Return a+b;
}
Public int Add(int a, int b, int c)
{
Return a+b+c;
}
}
When the run-time
(CLR) find the behavior of class members at the compilation of the program, it
is called as the Classical polymorphism or Overloading.in this the method name
is same but there prototypes (parameters) are different and it is implemented
in the same class.
e.g.
Public class MyBaseClass
{
Public virtual void Show(string message)
{
Console.WriteLine(“Your message is : ”+ message);
}
}
Public class MyChildClass: MyBaseClass
{
public override void Show(string message)
{
Console.WriteLine(“Your new message is : ”+ message);
}
}
Abstraction is the
behavior to get the required functionality in the child class. So we don’t
matter whatever is written in the base class. We only need to force the child
class to implement my required functionality.
Abstract keyword is
used to get the abstraction behavior.
28.
What are Delegates and Events?
A. A Delegate
is an object, which points to another method in the application. Delegate
holds, name of the method, arguments of the method (if any) and the return type
of the method.
See the below points
regarding the Delegate:-
·
delegate keyword is sealed type in System. Multicast namespace.
·
Delegate works like a function pointer in C language.
·
Delegate holds the address of the function.
·
Delegate hides the actual information which is written inside the method
definition.
·
A delegate can hold address of a single function as well as the address of
multiple functions.
·
There are 2 types of delegate- Single-cast delegate (hold single function) and
Multicast delegate(hold multiple functions).
·
Addition and subtraction are allowed for the delegates but NOT multiplication
and division. It means, we can add delegates, subtract delegates etc.
e.g. To create a
single cast delegate, first we can create a class with a method as:
public class DelegateDemo
{
public void Show(string msg)
{
Console.WriteLine(msg);
}
}
Now we can call the
method Show using the delegate as:
public delegate void MyDelegate(string message);
//declare delegate
now we need to create
the object of the delegate with the address of the method as:
DelegateDemo obj = new DelegateDemo();//class object
MyDelegate md= new MyDelegate(obj.Show(“Hello World!!”));
md(); // call the delegate
We can create the
events and event handler by using delegate with the below syntax:
public delegate void
textChangedEventHandler(Object sender, TextEventArgs e);
This event handler
will be used to handle the textbox text changed event.
We can get more
details about the delegate and events from the below link:
http://msdn.microsoft.com/en-in/library/orm-9780596521066-01-17.aspx
29.
Covariance and Contra-variance.
A. covariance
and contravariance are the new features added with the .net 4.0. They are
basically used for the implicit reference conversion for different .net types
like array, delegate, and generic etc
You can go to the
below link for more details with the examples that how we can use the
covariance and contrvariance to implicate reference conversion:
http://blogs.msdn.com/b/csharpfaq/archive/2010/02/16/covariance-and-contravariance-faq.aspx
30.
What are Extension methods?
A. Extension methods
are special types of methods which are static methods but called as the
instance methods. The extension methods are added with the .Net framework
3.5 and with the Visual Studio 2008.
These methods won’t
affect the existing class and the label. These methods are used for the extra
behavior which the calls can provide. There is no need to build the class again
if we add any extension method to the class.
There are various
inbuilt methods added in .Net 3.5 with the introduction of LINQ. We can see the
extension methods like Order By when we use the Linq as:
e.g.
int[] numbers = { 10, 45, 15, 39, 21, 26 };
var orderedNumbers = numbers.OrderBy(a => a);
31.
What are Anonymous methods and Lambda Expression?
A. Anonymous
methods are those methods which does not have the name. As they don’t have the
name, so there is no way to call these methods. These methods are created by
using the work delegate as below:
button1.Click +=
delegate{listBox1.Items.Add(textBox1.Text)};
Lambda Expression:
It’s an easy way to create anonymous functions. It is also an anonymous
function which has the capability to contain expressions and statements. We can
create the delegate and expression tree types using the lambda expression.
For more details
regarding the anonymous method and lambda express, you can go through the below
link:
http://www.codeproject.com/Articles/47887/C-Delegates-Anonymous-Methods-and-Lambda-Expression
32.
Multithreading. How to implement Multithreading?
A. Executing more
than one process simultaneously called as multithreading. To implement the
multithreading concept, we need to use the System. Threading .dll assembly and
the System. Threading namespace.
To write the thread
program, we need to create a class with the method. Now we can create the
thread object and then pass the method by using the class object to the method.
After that we need to
create the ThreadStart delegate which will call the actual method of the class.
You can go through
below link for more explanation and other details regarding the implementation
and the code snippet:
http://www.codeproject.com/Articles/1083/Multithreaded-Programming-Using-C
33.
Which interface is used to-
a.
Convert Boolean values to Visibility values?
b.
Compare two integer values?
c.
Compare String values?
A. Check the below
interfaces which are used in these scenarios:
a.
Convert Boolean values to Visibility values?
b.
Compare two integer values?- IComparable interface
c.
Compare String values? IComparer interface
SQL Server
34.
What is the difference between a View and a Cursor?
A. View: It is one of
the database object which is also called as virtual table. We can also say that
it is a window through which we can see some part of database. View is also
called as stored query because we are going to fetch some data using View.
View doesn’t contain
any data. It’s just a virtual table which is used to get the records from the
base table for which the view is created. View is faster than ad hoc queries
because when we create the view and execute it once. Next time onwards it will
be available as the compiled format. So whenever the view is called, it will
just execute rather than compiling.
Cursor: Cursor is a
database object which is also the buffer area which is created as a result of
any sql statement to hold the intermediate values.
Views are used to format
the rows individually. By using the views, we can process the individual rows.
There are 4 types of cursors in Sql Server-
a.
Static Cursor
b.
Dynamic Cursor
c.
Key set cursor
d.
Read-only cursor
35. How
to execute multiple update on different conditions in a single query?
A. To execute
multiple update using a single Sql update statement is the new feature
available with the SQL Server 2008. In this, we can update multiple rows using
a single update command.
36.
Left outer joins and Right Outer joins
A. Joins are used to
join 2 or more tables using some conditions. There are 3 types of Joins in SQL
Server database-
a. Left Outer Join
b. Right Outer Join
c. Full Join
In order to extract
the matched row from both the tables and unmatched row from the first table,
left Outer join is used. The syntax for left outer join condition is:
T.Col1*
= T2.Col1
In order to extract
the matched row from both the tables and unmatched row from the second table,
right Outer join is used. The syntax for right outer join condition is:
T.Col1
= *T2.Col1
In order to extract
the matched row from both the tables and unmatched row from the first table and
then unmatched row from the second table, full join is used. The syntax for
full join condition is:
T.Col1*
= *T2.Col1
37.
Exception handling.
A. Exception Handling
is the way to handle the unexpected error. From the SQL Server 2005 version,
try…catch block is also supported to catch the exceptions in SQL Server
database. There is various other ways to catch the error like @@Error which is
the global variable and used to get the error. RaiseError is another inbuilt
method which is used to display the error.
38.
What is Performance Tuning? How do you implement it.
A. Performance Tuning
is the process through which we can optimize the SQL Server objects like
functions, triggers, stored procedure so that we can achieve high response time
to the front end. In the performance tuning process we generally check for the
below point and optimize the objects processing:
a. Through
Query Execution plan, check for the processing time of the query execution.
b. Check the join
conditions and break all the condition for executions of the queries
individually
c. Check for the
error prone process, conditions in the queries.
d. Check for the
loops whether they are terminated if any error occurs
e. Check for the
processes which are taking more time in execution and how to reduce the
response time.
39.
Difference between Having and Where clauses.
A. When the
where clause is not able to evaluate the condition which consists of group
functions, Having clause is used. Having clause is always followed by the Group
By clause.
Where clause is used
to filter the records based on the conditions. If there is the requirement to
get the group data in the select statement and where clause is not able to get
it, we can use the Having clause.
e.g. Display DeptNo,
No.of Employees in the department for all the departments where more than 3
employees are working
SELECT DEPTNO, COUNT(*) AS TOTAL_EMPLOYEE
FROM EMP
GROUP BY DEPTNO HAVING COUNT(*) >3
40.
Difference between Temp tables and Tables variables?
A. Temp Table in SQL
Server:
a. Temp table is the
special type of tables which are used to store the intermediate data of the
actual table.
b. Temp tables are
only visible to the current sessions of the sql server instance. When the
session end, these table data automatically drops.
c. We can’t join the
temp tables as they don’t allow the foreign key constraints.
d. Temp tables are created
in TempDB database.
e. We can use the
same temp table name for the different user sessions.
f. Mostly used in
stored procedure to handle the intermediate data.
41.
What does @ and @@ suffixed by property names specify?
A. @- This is used
for the variable declaration
e.g. @name
varchar2(50)
@@- This is used for
the Global variable declaration
e.g. @@Error=0
42.
Self-join queries.
A. Self-Join is a
type of join which is used to join the same table by creating the second
instance of the same table. So we join 2 instances of the same table in case of
self-join. This type of join is used when there is the requirement to get the
referenced data which is available in the same table.
e.g. A table contains
EmpId, Ename and ManagerId
As the manager id is
also an employee id. Now if we want that who is the manager of which employee.
In this situation, we need to create the instance of the same table and get the
required data as:
SELECT EMPID, ENAME, ENAME AS [MANAGER NAME]
FROM EMP E1, EMP E2
WHERE E1.EMPID= E2.MANAGERID
43.
Types of Index.
A. Indexes are
one the database objects which is used to improve the performance of the
database queries. it reduces the table scan while retrieving the data from the
database and the search gets fast-
There are 2 types of indexes used in the SQL server:
a. Clustered index
b. Non clustered index
There are 3 more types of index but those comes under the above two-
a. unique index
b. Composite Index
c. XML Index-added in SQL Server 2005
The index basically
works on searching like binary tree where the root value is the finding value
and it will be compared with the partitioned value of the tree.
44.
Difference between Primary key, Unique key and Candidate key?
A. Primary Key- It is
a key to make the unique identification of the row in a table. It doesn’t allow
null values in the primary key column. We can create the lookup columns based
on the primary key. One table allows maximum of 1 primary key and in 1 table,
we can create the primary key column by using 16 columns. Due to one of the
normalization rule, we have to create primary key for the table to make the
rows unique.
Unique Key:- Primary
Key+ Not null is called as unique key. Unique key is also used to make the rows
as unique in a table. The only difference between primary key and unique key is
that primary key doesn’t allow null value while the unique key allow. The
limitation of the null in unique key is that it allows only one Null so in only
one row; we can make the key as null for the unique key.
Candidate key- the key
other than primary key to make the rows as unique is called as candidate key.
In candidate key, we take the columns which are not in the primary key and make
the key for uniqueness of the row.
45.
What is the default value for Date type. What are Min and Max values for Date
in 2008.
A. The default
value of Date is CURRENT_TIMESTAMP
Below are the new
date and time values in Sql Server 2008:
In SQL Server 2008:
1. DateTime2
Min Value: 0001-01-01
00:00:00.0000000
Max Value: 9999-12-31
23:59:59.9999999
2. Date
Min Value: 0001-01-01
Max Value: 9999-12-31
You can go through
the below link for couple of work around:
http://dhaneenja.blogspot.in/2008/06/minimum-year-value-in-sql-server.html
WCF
46.
What is WCF also known as?
A. WCF (Windows
Communication Foundation) is also know an Indigo by its code name.
47.
Difference between WCF and Web Services?
A. Below are the main
differences between the WCF and Web Service:
Web Service:
a.
Can be hosted in IIS only
b.
Only two types of operations affects- One-Way, Request-Response
c.
To serialize the data use System.Xml.Serialization
d.
To encode the data use- XML 1.0, MTOM, DIME, Custom
WCF service:
a.
Can be hosted in IIS, Self Hosting, WAS, Windows Services etc
b.
Three types of operations affects- One-Way, Request-Response and Duplex
c.
To serialize the data use System.Runtimel.Serialization
d.
To encode the data use- XML 1.0, MTOM,Binary, Custom
e.
WCF Service can be accessed through HTTP, TCP, Named pipes, MSMQ,P2P etc.
48.
What are Endpoints?
A. The collection of
Address, Binding and Contract is called as End Point. In Sort,
EndPoint = A+B+C
Address
(Where)- it means where the service is hosted. URL of the service shows
the address.
Binding (How)- How to
connect to the service, is defined by the Binding. It basically has the
definition of the communication channel to communicate to the WCF service
Contract (what)- It
means what the service contains for the client. What all the methods are
implemented in the WCF service is implemented in the Contract.
49.
What are Behavior and Bindings?
A. Binding mainly
describes about the communication of the client and service. For this, there
are protocols corresponding to the binding behavior which will take care of the
communication channel. There are different protocols which we use for the
different types of bindings. E.g. HTTP, TCP, MSMQ, Named Pipes etc.
Behavior is used for
the common configurations that could be for endpoints. When we use the common
behavior, they affect to all the end points. Adding the service behavior affect
the service related stuff while the endpoint related behavior affects the end
points. Also operations level behavior affects the operations.
50.
What are different types of Contracts supported?
A. There are mainly 5
type of contracts used in WCF service:
a. Service Contract
b. Operation Contract
c. Data Contract
d. Message Contract
e. Fault Contract
51.
What is the difference between Transport and Message Security mode?
A. WCF supports 2
types of security- Transport Level Security and Message Level Security
Transport Level
Security- In this type of security, we make the transport channel as secure so
that the data flows in that channel will be automatically secured. For HTTP
channel, we use the client certificate for the security of the web address. SSL
is used for the HTTP channel security. As we don’t need to secure each of the
messages which are floating between the client and the service, the speed is
faster as direct message is going to the client from the service.
Message level
security- This type of security in WCF is used where we don’t have the fixed
transport medium and we need to secure each message which is floating between
the server and the client. In this type of security we use certain algorithms
for making the message as secure message. We use some extra bits and send with
the message. We also use some encryption techniques like SHA1 or MD5 which make
the proper security for our message. As each message needs to be secured, this
type of security makes some delay in the process of sending and receiving the
messages.
52. How
to configure WCF security to support Windows authentication?
A. To support the WCF
security in Windows Authentication, we need to add the ClientCredetialType
attribute to “Windows” under the security tab element:
transport
clientCredentialType="Windows"
53. How
to use Fault Contract?
A. Fault
Contract is mainly used for viewing and displaying the errors which occurred in
the service. So it basically documents the error and the error message can be
shown to the user in the understandable way. We can’t use here the try….catch
block for the error handling because the try…catch is the technology specific
(.Net Technology). So we use the Fault contract for the error handling.
e.g. To use the Fault
contract, we can simply write like the below:
public int Add(int number1,int number2)
{
// write some implementation
throw new FaultException (“Error while adding
data..”);
}
Here the fault
Exception method is the inbuilt method which will throw the exception and
display the message . We can use the custom class so that the message can be
customized and the customized message can be sent to the client.
So we can
creeat a clss like:
Public Class CustomException()
{
public int ID{get;set;}
public string Message{get;set;}
public string Type{get;set;}
}
Now this custom type
we ca use with the Operation Contract as:
[ServiceContract]
Public interface IMyInterface
{
[OperationContract]
[FaultContract(typeOf(CustomException))]
Int Add(int num1,int num2);
}
Now while
implementation of the Add method, we can assign the class properties.
WPF
54.
Diff between XML and XAML.
A. XAML is the
declarative XML based language which is used to define the objects and
properties. XAML document is loaded by XAML parser. So XAML Parser initiates
the objects and set those properties. XAML is mainly used in creating the
objects in WPF and Silverlight applications.
For more detailed
explanation, you can go through the below link:
http://www.differencebetween.net/technology/software-technology/difference-between-xml-and-xaml/
55.
Stack Panel and Wrap Panel.
A. StackPanel is one of layout control in WPF.
We can place the child controls inside the stack panel either horizontally or
vertically. So it provides two types of orientations- Horizontal Orientation
and Vertical orientation.
You can go through
the below link for more detailed explanation and the code snippet:
http://wpftutorial.net/StackPanel.html
Wrap panel is another
layout control which is similar to the StackPanel. Wrap
panel not only keep the control in horizontal and vertical orientation but also
wrap them in to new line if there is no space. Here also the orientation can be
set as Horizontal or Vertical. Its main use is to arrange the tabs in
the tab control, menu control or in toolbar items.
You can go through
the below link for more details:
http://wpftutorial.net/WrapPanel.html
56.
Hierarchical Data Template.
A. Hierarchical Data
Template is a type of data template which is used to bind the controls which
supports HeaderedItemsControl,
like TreeViewItem or MenuItem
We can bind those
controls items using the Hierarchical Data Template. It displayed the data in
to Hierarchical structure in the tree structure. It could be in the left to
right or top to bottom.
You can go through
the below link for more details:
http://msdn.microsoft.com/en-us/library/system.windows.hierarchicaldatatemplate.aspx
57.
Virtualization.
A. This is the
feature in WPF which increases the efficiency of the programs when there are
the large data objects. If the WPF ItemsControl is bound with the large
collection data source object and we enabled the virtualization, then the
controls will show only the data which is in the visual container for those
items which are visible currently. This visual data is only the small part of
the large data object. Now when the user will scroll down or up, the rest of
the data will be visible and previous data will be hidden again. So this is
increase the efficiency of the program from the UI prospective.
58.
Events and Routed Events.
A. Routed event
is special type of event which can invoke and handle multiple events from
different objects rather than the event which is coming from one object. So it
generally handles the object from the element tree. So whatever the elements
inside the element tree and if they generate the event-may be multiple events,
the routed event is capable of handling those events.
The routed event can
be invoked in both the directions but in general it comes from the source
element and then bubbled up in the element tree until the root element.
59.
Bubbling and Tunneling.
A. Bubbling: When the
events are raised form the innermost element in the visual tree and comes up
towards the root element, is called as bubbling.
Tunneling: It is the
opposite process of Bubbling where the events fired by the root element goes
down towards the last child element control.
Please go through the
below link for more details:
http://www.dotnetspider.com/forum/130497-event-bubbling-event-tunneling.aspx
60.
Resource Dictionary, Static Resources and Dynamic Resources.
A. Static and Dynamic
resources are used for binding the resources to the control objects.
The main difference
between StaticResource and DynamicResource is that how the
resource is retrieved elements. If the resource is StaticResource, it will be
retrieved only once by the element whoe is referencing it and it will be
used for all the resources. While the DynamicResource gets its value each
time they reference to the objects. So StaticResource is faster than the
DynamicResource , because StaticResource needs to get the value only once
while the DynamicResource needs each time to get it.
61.
What is Prism?
A. Prism is the
framework or the set of guidelines which is used to develop the WPF desktop application
as well as the Silverlight Rich Internet applications. So it’s a kind of Design
pattern to Develop the XMAL based application. It also used to develop the
Windows 7 applications. Prism mainly helps to design the loosely coupled
components which can be easily integrated with the other components of the
overall application. Prism mainly used to build the composite applications
which need various other components to be integrated.
Prism mainly guides
of creating the applications using the Model-View-ViewModel (MVVM) model,
Managed Extensibility Framework (MEF), and navigation in the application.
To use the Prism
framework, we need to use their library called as Prism Library. So prism
Library is the inbuilt set of components which can be used in developing the
WPF and Silverlight applications.
You can go through
the below link for more details and the use of the components of the Prism
framework:
http://msdn.microsoft.com/en-us/library/ff648465.aspx
62.
Dependency Injection, Event Aggregator.
A. For the details
about the dependency injection, you can follow the below link:
http://wpftutorial.net/ReferenceArchitecture.html
EventAggregator : It
is the utility service which contains the events and allows the decouple the
publisher and subscriber so that they can be buildup independently. Decouple is
primarily useful when a new module needs to be added or removed or modified.
The new module can be added as per the event fired and defined in the shell.
For more details
about the Event Aggregator, you can follow the below link:
http://msdn.microsoft.com/en-us/library/ff921122(v=pandp.20).aspx
63.
Shell, Bootstrapper and Region Managers
A. Bootstrapper:- An
utility in WPF engine which is mainly responsible for the initialization of the
application by using the composite application library. By using the
bootstrapper we can find out how the components of the application are wired up
in the composite application library. The bootstrapper responsibility to create
the Shell or main window. Composite application library has the default
abstract class UnityBootstrapper which actually handles the initialization.
You can go through
the below link for more details about the bootstrapper:
http://msdn.microsoft.com/en-us/library/ff921139(v=pandp.20).aspx
Region and Region
Managers: This is concept of Prism framework. We define the region through XAML
code and once a region is defined, automatically it will be registered with the
RegionManager. Actually the Bootstrapper registers a service called the
RegionManager at run time. RegionManager is a dictionary where the key is name
of the region. The value of the key is the reference of the IRegion interface.
RegionAdapter is used to create the instance reference of the IRegion
interface.
You can go through
the below link for more details about the Region and Region Manager:
http://msdn.microsoft.com/en-us/magazine/cc785479.aspx#id0090091
64. What
are MEF and Unity?
A. The MEF
(Managed Extensibility Framework) is the new concept in .net 4.0. It is used to
create the lightweight and extensible applications to create Managed
Extensibility Framework. It is not only allows the extension but also reused
within the application. Extension can be easily encapsulating the code using
the MEF.
For more details, you
can go through the below link:
http://msdn.microsoft.com/en-us/library/dd460648.aspx
65. How
to navigate to another page?
A. There is a class
NavigationService which can be used for navigation of the WPF window:
this.NavigationService.GoForward();
//or
this.NavigationService.Navigate("MysecondPage.xaml")
1)
In which situation encapsulation is used in your project?
Accessing the public properties by using private variables is one of the good
examples of Encapsulation in all the projects.
e.g.
private string _name;
public String Name
{
get{return _name}
set{_name= value;}
}
Here you are not able to access the private variable _name but its value can be
accessible by the public property Name. So a kind of Encapsulation here.
2) In which situation abstraction is used
in your project?
When there are the specific requirements and that can be flown to their child,
then we can use abstraction. it means whatever is essential, we implement to
its child classes, else will be inherited automatically.
e.g.
class A
{
public abstract void Add(int a, int b);
protected int x;
public string Name{get; set;};
}
Class B:A
{
public override void Add(int a, int b)
{
Console.WriteLine("Sum of two
numbers is:" + int. Parse(a + b).toString());
}
}
Here the essential method Add is implemented to the child class B. rest all the
members will be inherited accordance to their protection levels.
3) In which situation method overloading
is used in your project?
When we have more functionality to implement, we go with the overloading of
method.
e.g. we have to get the sum of 2 numbers, 3 number and 4 numbers. So in that
case we can take only one method name Add with its varied parameters like:
public void Add(int a, int b)
{
Console.WriteLine("Sum of 2
numbers" + int. Parse(a + b).toString());
}
public void Add(int a, int b, int c)
{
Console.WriteLine("Sum of 3
numbers" + int. Parse(a + b +c).toString());
}
public void Add(int a, int b, int c, int d)
{
Console.WriteLine("Sum of 4
numbers" + int. Parse(a + b + c + d).toString());
}
Now according to our requirement, we can call the respective method with its
arguments.
4) In which situation method overriding is used in your project?
When we may or may not want to implement the particular method at runtime to
its child class according to the requirement, we go with overriding concept.
e.g.
Class X
{
public virtual void Print()
{
Console.WriteLine ("This is the
print method. You can override according to your definitions and
implementation");
}
}
Class Y:X
{
public Override void Print()
{
Console.WriteLine("Implementation
for Excel print methods");
}
}
5) In which situation constructor is
used in your project?
Constructor is by default initialize with the class.
But if you want to initialize some members when the class in getting
instantiate, you can write the constructor and code for initialization inside
that constructor.
e.g.
Class MyClass
{
public MyClass()
{
int a=10; //initialized with the class
instantiation
}
}
Here the constructor code will get initialized with the class instantiation.
6) In which situation interface is used
in your project?
Interface is the collection of abstract members.
So whenever we have the requirements such as it requires through the
application at many places, then we create an interface with that method so
that we can implement it at our own way according to the requirements.
e.g.
Interface Inf
{
void Print();
}
Class ExcelClass:Inf
{
public override void Print()
{
//Write code to print in excel
}
}
Class WordPrintClass: Inf
{
public override void Print()
{
//Write code to print in Word
}
}
Class PDFPrintClass: Inf
{
public override void Print()
{
//Write code to print in PDF
}
}
Also to implement the multiple inheritances, we use inheritance.
7) In which situation inheritance is
used in your project?
When we want to have some common features for multiple classes then we go for
inheritance.
To inherit the properties of base class to their derived class.
What do you mean by String objects are
immutable?
String
objects are immutable as its state cannot be modified once created. Every time
when we perform any operation like add, copy, replace, and case conversion or
when we pass a string object as a parameter to a method a new object will be
created.
Example:
String
str = "ABC";
str.Replace("A","X");
Here Replace() method will not change data that
"str" contains, instead a new string object is created to hold
data "XBC" and the reference to this object is returned by
Replace() method.
So in order to point str to this object we need to write below line.
str
= str.Replace("A","X");
Now
the new object is assigned to the variable str. earlier object that was
assigned to str will take care by garbage collector as this one is no
longer in used.
What is dll hell problem in .NET and how it
will solve?
Ans:
Dll
hell, is kind of conflict that occurred previously, due to the lack of version
supportability of dll for (within) an application
.NET
Framework provides operating system with a global assembly cache. This cache is
a repository for all the .net components that are shared globally on a
particular machine. When a .net component installed onto the machine, the
global assembly cache looks at its version, its public key and its language
information and creates a strong name for the component. The component is then
registered in the repository and indexed by its strong name, so there is no
confusion between the different versions of same component, or DLL
What is a Partial class?
Ans:
Instead
of defining an entire class, you can split the definition into multiple classes
by using partial class keyword. When the application compiled, c# compiler will
group all the partial classes together and treat them as a single class. There
are a couple of good reasons to use partial classes. Programmers can work on
different parts of classes without needing to share same physical file
Ex:
Public partial class
employee
{
Public
void somefunction()
{
}
}
Public
partial class employee
{
Public
void function ()
{
}
}
What is difference between constants,
read-only and, static?
Constants:
The value can’t be changed
Read-only:
The value will be initialized only once from the constructor of the class.
Static:
Value can be initialized once.
When should you use
Abstract Class vs Interface while programming?
Ans: When we want that sub class must implement all the methods of base
class. In such a situation we will implement the interface. In the other hand
when we want only some method of base class in our sub class then use base
class as abstract class.
What is the
difference between application exception and system exception?
Ans:
The difference between application exception and system exception is that
system exceptions are thrown by CLR and application exceptions are thrown by
applications.
What is the
difference between authorization and authentication?
Ans:
Authorization is a process of allowing or denying resources to particular user
or record
Declaration of authorization
is
<authorization>
<allow
users=”Suresh, Sanjay”/>
<deny
users=”Ramana, Rakesh”>
</authorization>
Sometimes
authorization allows the unauthorized persons at that time we will use
<deny
users=”?”/>
Authentication means
Authentication
is a process where we identify the credentials of user i.e. username, password
and create an identity to mention user as an authenticated.
What is the serialization?
Ans:
Serialization is a process of converting object into a stream of bites.
What is
synchronization?
Ans:
The mechanism needed to block one thread access to the data. If the data is
being accessed by another thread.
Synchronization
can be accessed by using system.monitor class
A
monitor class methods are enter, exit, pulse for this lock statement is also
used
Suppose
if we need to synchronize some data at that time we need to place that data in
this block
Lock
{
}
Whatever
the data has been placed into the lock block that data has been blocked
What are the thread
priority levels?
Ans:
Thread priority levels are five types
0 - Zero level
1 - Below Normal
2 - Normal
3 - Above Normal
4 - Highest
By
Default priority level is 2
What is the
difference between .tostring(), Convert.tostring()?
Ans:
The basic difference between them is “Convert” function handles NULLS while
“.ToString()” does not it will throw a NULL reference exception error. So as a
good coding
practice using “convert” is always safe.
What is Collation?
Ans:
Collation refers to a set of rules that determine how the data is sorted and compared.
What is the
difference between Primary key and unique key?
Ans:
Primary key does not allow the null values but unique key allows one null
value.
Primary
key will create clustered index on column but unique key will create
non-clustered index by default.
How many web.config
files are there in 1 project?
Ans:
There might be multiple web.config files for a single project depending on the
hierarchy of folders inside the root folder of the project, so for each folder
we can use one web.config file