No Registration! No Resume Posting!!
Receive FREE Email Alerts on Current Walk-in Interviews in India, and Apply Directly to The Employer of Your Choice! - Enter your Email ID and Subscribe Right Now!


DotNet Architecture
What are design patterns?
Design patterns are recurring solution to recurring problems in software architecture.
Can you list down all patterns and their classification?
There are three basic classification of patterns Creational, Structural and Behavioral patterns.

Creational Patterns
Abstract Factory :   Creates an instance of several families of classes.
Builder :   Separates object construction from its representation
Factory Method :   Creates an instance of several derived classes
Prototype :   A fully initialized instance to be copied or cloned
Singleton :   A class in which only a single instance can exist

Structural Patterns
Adapter :  Match interfaces of different classes.
Bridge :   Separates an objects interface from its implementation.
Composite :   A tree structure of simple and composite objects.
Decorator :   Add responsibilities to objects dynamically.
Facade :   A single class that represents an entire subsystem.
Flyweight :   A fine-grained instance used for efficient sharing.
Proxy :   An object representing another object.

Behavioral Patterns
Mediator :  Defines simplified communication between classes.
Memento :   Capture and restore an objects internal state.
Interpreter :   A way to include language elements in a program.
Iterator :   Sequentially access the elements of a collection.
Chain of Resp :   A way of passing a request between a chain of objects.
Command :   Encapsulate a command request as an object.
State :   Alter an objects behavior when its state changes.
Strategy :  Encapsulates an algorithm inside a class.
Observer :   A way of notifying change to a number of classes.
Template Method :   Defer the exact steps of an algorithm to a subclass.
Visitor :   Defines a new operation to a class without change.
What is the difference between Factory and Abstract Factory Patterns?
The common thing they have is that they belong to creational patterns. In short they hide the complexity of creating objects.

The main difference between factory and Abstract factory is factory method uses inheritance to decide which object has to be instantiated while abstract factory uses delegation to decide instantiation of object. we can say Abstract factory uses factory method to complete the architecture. Abstract Factory is one level higher in abstraction over Factory.
What is MVC pattern?
The main purpose using MVC pattern is to decouple the GUI from the Data. It also gives the ability to provide multiple views for the same Data. MVC pattern separates objects into three important sections :

Model : This section is specially for maintaining data. It is actually where your business logic, querying databse,database connection etc. is actually implemented.

Views : Displaying all or some portion of data, or probably different view of data. View is responsible for look and feel, Sorting, formatting etc.

Controller : They are event handling section which affects either the model or the view. Controller responds to the mouse or keyboard input to command model and view to change. Controllers are associated with views. User interaction triggers the events to change the model, which in turn calls some methods of model to update its state to notify other registered views to refresh their display.
How do you implement prototype pattern in .NET?
Cloning is achieved by using ICloneable of the System namespace. It has a "Clone" method which actually returns the reference of the same copy. Clone method allows a shallow copy and not a deep copy. In shallow copy if you make changes to the cloned object it actually changes on the main object itself. So how is deep copy achieved, by using "Iserializable" interface? So what you do is first serialize the object then deserialize back to a complete new copy. Now any changes to this new copy do not reflect on the original copy of the object, this is called as Deep Copy.
What are the situations you will use a Web Service and Remoting in projects?
Well "Web services" uses "remoting" concepts internally. But the major difference between "web service" and "remoting" is that "web service" can be consumed by clients who are not .NET platform. While remoting you need the client to be .NET complaint. Regarding the speed issue "Remoting" is faster than "Web services". So i think when deciding the arhitecture side of choosing between "web services" and "Remoting" keep the cross platform issue and the speed issue in mind.
what is three tier architecture?
The three tier software architecture emerged in the 1990s to overcome the limitations of the two tier architecture.

There are three layers when we talk about three tier architeture :

User interface (Client) :  This is mostly the windows user interface or the web interface but this has only the UI part.

Mid layer :  Middle tier provides process management where business logic and rules are executed and can accommodate hundreds of users by providing functions such as queuing, application execution, and databse staging.

Data Access Layer :  This is also called by the famous acronym "DAL" component. It has mainly the SQL statement which do the database operation part of the job.

The three tier architecture is used when an effective distributed client/server design is needed that provides increased performance,flexibility,maintinability,reusability,and scalability, while hiding the complexity of distributed procssing from the user.
Have you ever worked with Microsoft Application Blocks, if yes then which?
Application Blocks are C# and VB.NET classes distributed as Visual Studio projects that can be downloaded from Microsoft's web site and used in any .NET application, including ASP.NET web applications. They are useful and powerful tools that can make applications more maintainable, scalable and efficient

Secondly which application blocks has been used depends on really hat you have implemented. but there are two famous MAB which is making buzz around the industry :

data access block

The Data Access Block provides static methods located in the SqlHelper class that encapsulates the most common data access tasks performed with Microsoft SQL server. If the term "static method" is new to you, it means that the class methods can be called without instantiating an instance of the class.

Exception management block

The Exception Management Application Block provides a simple yet extensible framework for handling exceptions. With a single line of application code you can easily log exception information to the Event Log or extend it by creating your own components that log exception details to other data sources or notify operators, without affecting your application code. The Exception Management Application Block can be easily be used as a building block in your own .NET application.
What are the different ways you can pass data between them?
There are many ways you can pass data between tiers :

Dataset the most preferred one as they maintain data in XML format.
Custom classes
What is Service Oriented Architecture?
"services" are components which expose well defined interfaces and these interfaces communicate through XML messages. Using SOA you can build workflow, which uses interfaces of these components. SOA is typically useful when you are crossing heterogeneous technical boundaries,organizations,domain etc.

In .NET SOA technically uses Web services to communicate with each service which is crossing boundaries. You can look SOA which sits on top of web services and provides a workflow.

SOA uses service components which operate in thier own domain boundary. Let us note some points of service :

They are independent components and operate in their own boundary and own technology
They have well defined interfaces which use XML and WSDL to describe themselves.
Services have URL where anyone can find them and clients can bind to these URL to avail for the service.
Services have very loosely coupled architecture. In order to communicate to service you only have to know the WSDL. your client can then genrate proxy from the WSDL of the service.

Post Interview Questions

Home  |  About Us  |  Post Walk-in for FREE  |  Policies  |  Contact Us  |  Advertise
Copyright © 2013 WalkinsIndia.com.   All Rights Reserved.