Saturday, February 4, 2023

Random Interview Question for Net Developer

 



Random Interview Question for Net Developer

 
What are the three types of microservices?

These Microservices are:
  • Domain Microservices.
  • Integration Microservices.
  • Unit-of-work Microservices

What is the difference between API and microservices?

Microservices are a complete architecture with multiple, smaller services, whereas an API is a component of microservices that helps improve the effectiveness of microservices architecture. The components of a microservices architecture are business logic, APIs, a data access layer, and a database.


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.

 

 What is RabbitMQ used for?

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.


OOPS

 

1. What is OOPS?

OOPS is abbreviated as Object Oriented Programming system in which programs are considered as a collection of objects. Each object is nothing but an instance of a class.

2. Write basic concepts of OOPS?

Following are the concepts of OOPS and are as follows:

1. Abstraction.

2. Encapsulation.

3. Inheritance.

4. Polymorphism.

3. What is a class?

A class is simply a representation of a type of object. It is the blueprint/ plan/ template that describes the details of an object.

4. What is an object?

An object is an instance of a class. It has its own state, behavior, and identity.

5. What is Encapsulation?

Encapsulation is an attribute of an object, and it contains all data which is hidden. That hidden data can be restricted to the members of that class.

Levels are Public, Protected, Private, Internal and Protected Internal.

6. What is Polymorphism?

Polymorphism is nothing but assigning behavior or value in a subclass to something that was already declared in the main class. Simply, polymorphism takes more than one form.

7. What is Inheritance?

Inheritance is a concept where one class shares the structure and behavior defined in another class. If inheritance applied on one class is called Single Inheritance, and if it depends on multiple classes, then it is called multiple Inheritance.

8. What are manipulators?

Manipulators are the functions which can be used in conjunction with the insertion (<<) and extraction (>>) operators on an object. Examples are endl and setw.

9. Define a constructor?

A constructor is a method used to initialize the state of an object, and it gets invoked at the time of object creation. Rules forconstructor are:

· Constructor Name should be same as class name.

· A constructor must have no return type.

10. Define Destructor?

A destructor is a method which is automatically called when the object is made of scope or destroyed. Destructor name is also same as class name but with the tilde symbol before the name.

11. What is an Inline function?

An inline function is a technique used by the compilers and instructs to insert complete body of the function wherever that function is used in the program source code.

12. What is a virtual function?

A virtual function is a member function of a class, and its functionality can be overridden in its derived class. This function can be implemented by using a keyword called virtual, and it can be given during function declaration.

A virtual function can A token in C++, and it can be achieved in C Language by using function pointers or pointers to function.

13. What is a friend function?

A friend function is a friend of a class that is allowed to access to Public, private or protected data in that same class. If the function is defined outside the class cannot access such information.

Friend can be declared anywhere in the class declaration, and it cannot be affected by access control keywords like private, public or protected.

14. What is function overloading?

Function overloading an as a normal function, but it can perform different tasks. It allows the creation of several methods with the same name which differ from each other by the type of input and output of the function.

Example

void add(int& a, int& b);

void add(double& a, double& b);

void add(struct bob& a, struct bob& b);

15. What is operator overloading?

Operator overloading is a function where different operators are applied and depends on the arguments. Operator,-,* can be used to pass through the function, and it has their own precedence to execute

16. What is an abstract class?

 

An abstract class is a class which cannot be instantiated. Creation of an object is not possible with an abstract class, but it can be inherited. An abstract class can contain only Abstract method. Java allows only abstract method in abstract class while for other languages allow non-abstract method as well.

17. What is a ternary operator?

The ternary operator is said to be an operator which takes three arguments. Arguments and results are of different data types, and it depends on the function. The ternary operator is also called a conditional operator.

18. What is the use of finalize method?

Finalize method helps to perform cleanup operations on the resources which are not currently used. Finalize method is protected, and it is accessible only through this class or by a derived class.

19. What are different types of arguments?

A parameter is a variable used during the declaration of the function or subroutine and arguments are passed to the an, and it should match with the parameter defined. There are two types of Arguments.

· Call by Value – Value passed will get modified only inside the function, and it returns the same value whatever it is passed it into the function.

· Call by Reference – Value passed will get modified in both inside and outside the functions and it returns the same or different value.

 

20. What is the super keyword?

Super keyword is used to invoke the overridden method which overrides one of its superclass methods. This keyword allows to access overridden methods and also to access hidden members of the superclass.

It also forwards a call from a constructor to a constructor in the superclass.

21. What is method overriding?

Method overriding is a feature that allows a subclass to provide the implementation of a method that overrides in the main class. This will overrides the implementation in the superclass by providing the same method name, same parameter and same return type.

22. What is an interface?

An interface is a collection of an abstract method. If the class implements an inheritance, and then thereby inherits all the abstract methods of an interface.

23.   What is exception handling?

An exception is an event that occurs during the execution of a program. Exceptions can be of any type – Runtime exception, Error exceptions. Those exceptions are adequately handled through exception handling mechanism like try, catch and throw keywords.

 

24. What are tokens?

The token is recognized by a compiler, and it cannot be broken down into component elements. Keywords, identifiers, constants, string literals and operators are examples of tokens.

Even punctuation characters are also considered as tokens – Brackets, Commas, Braces and Parentheses.

25. Difference between overloading and overriding?

Overloading is static binding whereas Overriding is dynamic binding. Overloading is nothing but the same method with different arguments, and it may or may not return the same value in the same class itself.

Overriding is the same method names with same arguments and return types associated with the class and its child class.

26. Difference between class and an object?

An object is an instance of a class. Objects hold multiple information, but classes don’t have any information. Definition of properties and functions can be done in class and can be used by the object.

A class can have sub-classes, and an object doesn’t have sub-objects.

27. What is an abstraction?

Abstraction is a good feature of OOPS, and it shows only the necessary details to the client of an object. Means, it shows only required details for an object, not the inner constructors, of an object. Example – When you want to switch On television, it not necessary to show all the functions of TV. Whatever is required to switch on TV will be showed by using abstract class.

28. What are access modifiers?

Access modifiers determine the scope of the method or variables that can be accessed from other various objects or classes. There are 5 types of access modifiers, and they are as follows:

·  Private.

· Protected.

· Public.

· Friend.

· Protected Friend.

29. What are sealed modifiers?

Sealed modifiers are the access modifiers where it cannot be inherited by the methods. Sealed modifiers can also be applied to properties, events, and methods. This modifier cannot be applied to static members.

 

30. How can we call the base method without creating an instance?

Yes, it is possible to call the base method without creating an instance. And that method should be “Static method”.

Doing inheritance from that class.-Use Base Keyword from a derived class.

31. What is the difference between new and override?

The new modifier instructs the compiler to use the new implementation instead of the base class function. Whereas, Override modifier helps to override the base class function.

32. What are the various types of constructors?

There are three various types of constructors, and they are as follows:

–  Default Constructor – With no parameters.

–  Parametric Constructor – With Parameters. Create a new instance of a class and also passing arguments simultaneously.

–  Copy Constructor – Which creates a new object as a copy of an existing object.

33. What is early and late binding?

Early binding refers to the assignment of values to variables during design time whereas late binding refers to the assignment of values to variables during run time.

34. What is ‘this’ pointer?

THIS pointer refers to the current object of a class. THIS keyword is used as a pointer which differentiates between the current object with the global object. Basically, it refers to the current object.

35. What is the difference between structure and a class?

Structure default access type is public , but class access type is private. A structure is used for grouping data whereas class can be used for grouping data and methods. Structures are exclusively used for data, and it doesn’t require strict validation , but classes are used to encapsulates and inherit data which requires strict validation.

36. What is the default access modifier in a class?

The default access modifier of a class is Private by default.

37. What is a pure virtual function?

A pure virtual function is a function which can be overridden in the derived class but cannot be defined. A virtual function can be declared as Pure by using the operator =0.

Example -.

 

1

2

3

Virtual void function1() // Virtual, Not pure

 

Virtual void function2() = 0 //Pure virtual

 

38. What are all the operators that cannot be overloaded?

Following are the operators that cannot be overloaded -.

1. Scope Resolution (:: )

2. Member Selection (.)

3. Member selection through a pointer to function (.*)

 

39. What is dynamic or run time polymorphism?

Dynamic or Run time polymorphism is also known as method overriding in which call to an overridden function is resolved during run time, not at the compile time. It means having two or more methods with the same name, same signature but with different implementation.

40. Do we require a parameter for constructors?

No, we do not require a parameter for constructors.

41. What is a copy constructor?

This is a special constructor for creating a new object as a copy of an existing object. There will always be only one copy constructor that can be either defined by the user or the system.

42. What does the keyword virtual represented in the method definition?

It means, we can override the method.

43. Whether static method can use nonstatic members?

False.

44. What is a base class, sub class, and super class?

The base class is the most generalized class, and it is said to be a root class.

A Sub class is a class that inherits from one or more base classes.

The superclass is the parent class from which another class inherits.

45. What is static and dynamic binding?

Binding is nothing but the association of a name with the class. Static binding is a binding in which name can be associated with the class during compilation time, and it is also called as early Binding.

Dynamic binding is a binding in which name can be associated with the class during execution time, and it is also called as Late Binding.

46. How many instances can be created for an abstract class?

Zero instances will be created for an abstract class.

47. Which keyword can be used for overloading?

Operator keyword is used for overloading.

48. What is the default access specifier in a class definition?

Private access specifier is used in a class definition.

49. Which OOPS concept is used as reuse mechanism?

Inheritance is the OOPS concept that can be used as reuse mechanism.

50. Which OOPS concept exposes only necessary information to the calling functions?

Encapsulation

 

NET Core Code Security, Authorization/Authentication, and code architecture

Complex NET Core interview questions (Code Security, Authorization/Authentication, and code architecture)  _________________________________...