Random Interview Question for Net Developer
What are the three types of microservices?
- Domain Microservices.
- Integration Microservices.
- Unit-of-work Microservices
Explain
what is REST and RESTFUL?
REST represents Representational State Transfer; it is
entirely a new aspect of writing a web app. RESTFUL: It is a term written by
applying REST architectural concepts called RESTful services. It focuses on
system resources and how the state of the resource should be transported over
HTTP protocol.
What New
Features Come with ASP.NET Web API 2.0?
The latest features of ASP.NET Web API framework v2.0 are
as follows:
·
Attribute Routing
·
Cross-Origin Resource Sharing
·
External Authentication
·
Open Web Interface NET
·
HttpActionResult
·
Web API OData
How can
you handle errors in Web API?
Several classes are available in Web API to handle errors.
They are HttpError, Exception Filters, HttpResponseException, and Registering
Exception Filters.
How can
you pass multiple complex types in Web API?
Two methods to pass the complex types in Web API –
·
Using ArrayList and Newtonsoft array
Name the
tools or API for developing or testing web API?
Testing tools for web services for REST APIs include:
Jersey API
CFX
Axis
Restlet
What is
REST?
REST is architectural style. It has defined guidelines
for creating services which are scalable. REST used with HTTP protocol using
its verbs GET, PUT, POST and DELETE.
How to
unit test Web API?
We can perform a Unit test using Web API tools like
Fiddler.
Fiddler –Compose Tab -> Enter Request Headers ->
Enter the Request Body and execute.
What is
the usage of DelegatingHandler?
DelegatingHandler is used in the Web API to represent
Message Handlers before routing.
How can
we register exception filter from the action?
We can register exception filter from action using
following code.
[NotImplExceptionFilter]
public TestCust GetMyTestCust (int custno)
{
//write the code
}
Web API
uses which library for JSON serialization?
Web API uses Json.NET library for JSON serialization.
which of
the following status code for all uncaught exception?
500 – Internal Server Error
Explain
method to handle error using HttpError in Web API?
In WEB API HttpError used to throw the error info in the
response body. “CreateErrorResponse” method is can also use along with this,
which is an extension method defined in “HttpRequestMessageExtension.”
How can
we register exception filter globally?
We can register exception filter globally using following
code:
GlobalConfiguration.Configuration.Filters.Add (new
MyTestCustomerStore.NotImplExceptionFilterAttribute());
How to
handle errors in Web API?
Several classes are available in Web API to handle
errors. They are HttpError, HttpResponseException, Exception Filters,
Registering Exception Filters.
What is
difference between VAR and dynamic in C#?
In case of var the variable is initialized at the
time of its declaration
>> You reference a dynamic object by using early
binding
On other hand in case of dynamic it is not
mandatory to be get initialized at the time of declaration >> You
reference a dynamic object by using late binding
What is
difference between var dynamic and object in C#?
The object type can be passed as a method argument
and method also can return object type.
Dynamic type can be passed as a method argument
and method also can return dynamic type.
Var type cannot be passed as a method argument and
method cannot return object type
Method
Hiding in C#
C# also provides a concept to hide the methods of the
base class from derived class, this concept is known as Method Hiding. It is
also known as Method Shadowing. In method hiding, you can hide the
implementation of the methods of a base class from the derived class using the
new keyword. Or in other words, in method hiding, you can redefine the method
of the base class in the derived class by using the new keyword.
Extension
Method
In C#, the extension method concept allows you to add new
methods in the existing class or in the structure without modifying the source
code of the original type and you do not require any kind of special permission
from the original type and there is no need to re-compile the original type.
Interface
Like a class, Interface can have methods, properties,
events, and indexers as its members. But interfaces will contain only the
declaration of the members. The implementation of the interface’s members will
be given by class who implements the interface implicitly or explicitly.
*Interfaces specify what a class must do and not how.
*Interfaces can’t have private members.
*By default, all the members of Interface are public and
abstract.
*The interface will always define with the help of
keyword ‘interface ‘.
*Interface cannot contain fields because they represent a
particular implementation of data.
*Multiple inheritance is possible with the help of
Interfaces but not with classes.
Reflection
Reflection is the process of describing the metadata of
types, methods and fields in a code. The namespace System.Reflection enables
you to obtain data about the loaded assemblies, the elements within them like
classes, methods, and value types. Some of the commonly used classes
Assembly:
describes an assembly which is a reusable, versionable,
and self-describing building block of a common language runtime application.
AssemblyName :
Identifies an assembly ith a unique name.
ConstructorInfo:
Describes a class constructor and gives access to the metadata.
MethodInfo >> Describes the class method and
gives access to its metadata.
ParameterInfo >>
Describes the parameters of a method and gives access to its metadata.
EventInfo:
Describes the event info and gives accessto its metadata.
PropertyInfo:
Discovers the attributes of a property and provides
access to property metadata.
MemberInfo:
Obtains information about the attributes of a member and
provides access to member metadata.
Collection
Collections standardize the way of which the objects are
handled by your program.
With the help of collections, the user can perform
several operations on objects like the store, update, delete, retrieve, search,
sort etc.
C# divide collection in several classes, some of the
common classes are shown below:
·
Generic
·
Non-Generic
·
Consurrent
Generic
Generic collection in C# is defined in
System.Collection.Generic namespace.
It provides a generic implementation of standard data
structure like linked lists, stacks, queues, and dictionaries.
Generic collections are defined by the set of interfaces
and classes.
It is Strongly type.
Dictionary<TKey,TValue> :
It stores key/value pairs and provides functionality
similar to that found in the non-generic Hashtable class.
List<T>:
It is a dynamic array that provides functionality similar
to that found in the non-generic ArrayList class.
Queue<T>:
A first-in, first-out list and provides functionality
similar to that found in the non-generic Queue class.
SortedList<TKey,TValue> :
It is a sorted list of key/value pairs and provides
functionality similar to that found in the non-generic SortedList class.
Stack<T>:
It is a first-in, last-out list and provides
functionality similar to that found in the non-generic Stack class.
HashSet<T>:
It is an unordered collection of the unique elements. It
prevent duplicates from being inserted in the collection.
LinkedList<T>:
It allows fast inserting and removing of elements. It
implements a classic linked list.
Non-Generic
Non-Generic collection in C# is defined in
System.Collections namespace.
Non-generic collections are defined by the set of
interfaces and classes.
ArrayList:
It is a dynamic array means the size of the array is not
fixed, it can increase and decrease at runtime.
Hashtable:
It represents a collection of key-and-value pairs that
are organized based on the hash code of the key.
Queue:
It represents a first-in, first-out collection of
objects. It is used when you need first-in, first-out access to items.
Stack:
It is a linear data structure. It follows LIFO (Last In,
First Out) pattern for Input/output.
RabbitMQ is a messaging broker - an intermediary for
messaging. It gives your applications a common platform to send and receive
messages, and your messages a safe place to live until received.
DI
Container
A DI Container is a framework to create dependencies and
injects them automatically when required.
Gulp
Gulp is a task runner that uses Node. js as a platform.
It purely uses the JavaScript code and helps to run front-end tasks and
large-scale web applications. Gulp builds system automated tasks like CSS and
HTML minification, concatenating library files, and compiling the SASS files.