Tuesday, March 19, 2019

Interview Questions

 1)Explain MVC application life cycle?



Any web application has two main execution steps first understanding the request and depending on the type of the request sending out appropriate response. MVC application life cycle is not different it has two main phases first creating the request object and second sending our response to the browser.
Creating Response object: - The request object creation has four major steps. Below is the detail explanation of the same.
Step 1 Fill route: - MVC requests are mapped to route tables which in turn specify which controller and action to be invoked. So if the request is the first request the first thing is to fill the route table with routes collection. This filling of route table happens in the global.asax file.
Step 2 Fetch route:- Depending on the URL sent "UrlRoutingModule" searches the route table to create "RouteData" object which has the details of which controller and action to invoke.

Step 3 Request context created: - The "RouteData" object is used to create the "RequestContext" object.
Step 4 Controller instance created: - This request object is sent to "MvcHandler" instance to create the controller class instance. Once the controller class object is created it calls the "Execute" method of the controller class.
Creating Response object: - This phase has two steps executing the action and finally sending the response as a result to the view.
Step 5 Execute Action: - The "ControllerActionInvoker" determines which action to executed and executes the action.
Step 6 Result sent: - The action method executes and creates the type of result which can be a view result , file result , JSON result etc.
So in all there are six broad steps which get executed in MVC application life cycle.
Note :- I have take this answer from Mr.Shiv Prasad Koirala.

2)What is difference between String and Stringbuilder?
Ans :- String :- String is immutable in C# that would means you  
couldn’t modify it after it is created. It creates a new object of string type in memory if you will perform any operation.
string str1 = "Welcome!";
// creates a new string instance
str1 += "Hello";
str1 += "Arjun”;
output is :- WelcomeHelloArjun 


StringBuilder in C#

StringBuilder is mutable in C#. This means that if an operation is performed on the string, it will not create a new instance every time. With that, it will not create new space in memory, unlike Strings.
StringBuilder str1 = new StringBuilder("");
str1.Append("Welcome!");
str1.Append("Hello Arjun!");
string str2 = str1.ToString();

2)What is Encapsulation in C# ?
Ans :- for this question answer please click here

3)Can we create class inside class c# ?
Ans :- In this question interviewer indirectly ask you can we create nested class in c#.
I have already wrote one separate blog for it kindly go thought it click here

No comments:

Post a Comment