Saturday, November 7, 2020

ASP.NET MVC Interview questions

 

 ASP.NET MVC 



1) What is MVC?

  • MVC stands for Model-View-Controller. It is a software design pattern that was introduced in the 1970s. Also, the MVC pattern forces a separation of concerns, It means the domain model and controller logic are decoupled from the user interface (view). As a result maintenance and testing of the application become simpler and easier.





2) Explain the MVC design pattern? or What does Model-View-Controller represent in an MVC application?

  • MVC design pattern splits an application into three main aspects: Model, View, and Controller, 
  • Model: It represents the application data domain. In other words, applications business logic is contained within the model and is responsible for maintaining data
  • MVC model is basically a C# and vb.net class. A model is accessible by both controller and view.
  • A model can be used to pass data from controller to view. A View can use a model to display data on-page.
  • View: It represents the user interface, with which the end-users communicate. In short, all the user interface logic is contained within the VIEW
  • Controller: It is the controller that answers to user actions. Based on the user actions, the respective controller.responds within the model and choose a view to render that display the user interface. The user input logic is contained with-in the controller.
  • Inside controller's, class action methods can be implemented which are responsible for responding to browser or calling views
  • A controller can access and use a model class to pass data to views


3) What is MVVM Pattern?
  • MVVM stands for Model-View-View Model. This pattern supports two-way data binding between view and View model. This enables automatic propagation of changes, within the state of view model to the View. Typically, the view model uses the observer pattern to notify changes in the view model to model.
  • Model - The Model represents a set of classes that describes the business logic and data. It also defines business rules for data means how the data can be changed and manipulated.
  • View - The View represents the UI components like CSS, jQuery, HTML, etc. It is only responsible for displaying the data that is received from the controller as the result. This also transforms the model(s) into UI.
  • View Model - The View Model is responsible for exposing methods, commands, and other properties that help to maintain the state of the view, manipulate the model as the result of actions on the view, and trigger events in the view itself. In ASP.NET MVCViewModel is a class that contains the fields which are represented in the strongly-typed view. It is used to pass data from controller to strongly-typed view.
 


4) What is the advantage of MVC? 

  • Separation of concerns.
  • Better support for Test-Driven Development.
  • Clean URL.
  • Better for search engine optimization.
  • Full control over the user interface and HTML
  • Loosely coupled so each component can be tested independently.

5) What is the difference between 3-layer architecture and MVC architecture?

  • The 3-layer architecture separates the application into 3 components which consist of the Presentation Layer, Business Layer, and Data Access Layer. In 3-layer architecture, the user interacts with the Presentation layer. 
  • 3-layer is a linear architecture.



  • MVC architecture separates the application into three components which consist of Model, View, and Controller. In MVC architecture, the user interacts with the controller with the help of view
  • MVC is a triangle architecture. 


6) What is the difference between asp.net MVC and asp.et webform? 

ASP.NET Web Forms

ASP.NET MVC

Web Form follows a traditional event-driven development model.

MVC is lightweight and follows MVC (Model, View, and Controller) pattern-based development model.

Web Form has server controls.

MVC has HTML helpers.

Web Form has state management (like as view state, session) techniques.

MVC has no automatic state management techniques.

Web Form has file-based URLs means file name exist in the URLs must have their physical existence.

MVC has route-based URLs means URLs are divided into controllers and actions and moreover it is based on the controller not on a physical file.

Web Form follows WebForm Syntax

MVC follow customizable syntax (Razor as default)

Web Form, Web Forms (ASPX) i.e. views are tightly coupled to Code behind (ASPX.CS) i.e. logic.

MVC, Views, and logic are kept separately.

Web Form has Master Pages for a consistent look and feels.

MVC has Layouts for a consistent look and feels.

Web Form has User Controls for code re-usability.

MVC has Partial Views for code re-usability.

Web Form has built-in data controls and best for rapid development with powerful data access.

MVC is lightweight, provides full control over mark-up, and supports many features that allow fast & agile development. Hence it is best for developing interactive web applications with the latest web standards.

Web Form is not Open Source.

Web MVC is an Open Source.



7) What is the ViewModel in asp.net MVC? 

  • In ASP.NET MVC, ViewModel is a class that contains the fields which are represented in the strongly-typed view. It is used to pass data from controller to strongly-typed view.

Key Points about ViewModel
  • ViewModel contain fields that are represented in the view (for LabelFor, EditorFor, DisplayFor helpers)
  • ViewModel can have specific validation rules using data annotations.
  • ViewModel can have multiple entities or objects from different data models or data source.
8) What is Routing in asp.net MVC? 
  • Routing is a pattern matching system that monitor the incoming request and figure out what to do with that request.
  • At runtime, Routing engine use the Route table for matching the incoming request's URL pattern against the URL patterns defined in the Route table. 
  • You can register one or more URL patterns to the Route table at Application_Start event.
 The three segments that are important for routing 
  •  ControllerName
  •  ActionMethodName
  •  Parameter



9) What is the difference between Routing and URL Rewriting?

  • URL rewriting is focused on mapping one URL (new url) to another URL (old url) while routing is focused on mapping a URL to a resource.
  • URL rewriting rewrites your old url to new one while routing never rewrite your old url to new one but it map to the original route.
URL Routing


    

10) What are important namespaces in ASP.NET MVC?

  • System.Web.Mvc -This namespace contains classes and interfaces that support the MVC pattern for ASP.NET Web applications.This namespace includes classes that represent controllers, controller factories, action results, views, partial views, and model binders.
  • System.Web.Mvc.Ajax - This namespace contains classes that supports Ajax scripting in an ASP.NET MVC application.
  • System.Web.Mvc.Html –This namespace contains classes that help render HTML controls in an MVC application. 

11) What is View Engine?

  • A View Engine is a MVC subsystem which has its own markup syntax. It is responsible for converting server-side template into HTML markup and rendering it to the browser.
  • Initially, ASP.NET MVC ships with one view engine, web forms (ASPX) and from ASP.NET MVC3 a new view engine, Razor is introduced.With ASP.NET MVC, you can also use other view engines like Spark, NHaml etc.

12) What is Razor View Engine?

  • Razor Engine is an advanced view engine that was introduced with MVC3.
  • This is not a new language but it is a new markup syntax. Razor has new and advance syntax that are compact, expressive and reduces typing. 
  • Razor syntax are easy to learn and much clean than Web Form syntax. Razor uses @ symbol to write markup as:@Html.ActionLink("SignUp", "SignUp") 

13) What is difference between Razor and WebForm engine?

Razor View Engine

Webform View Engine

Razor Engine is an advanced view engine that was introduced with MVC3. This is not a new language but it is a new markup syntax.

Web Form Engine is the default view engine for the Asp.net MVC that is included with Asp.net MVC from the beginning.

The namespace for Razor Engine is System.Web.Razor.

The namespace for Webform Engine is System.Web.Mvc.WebFormViewEngine.

The file extensions used with Razor Engine are different from Web Form Engine. It has .cshtml (Razor with C#) or .vbhtml (Razor with VB) extension for views, partial views, editor templates and for layout pages.

The file extensions used with Web Form Engine are also like Asp.net Web Forms. It has .aspx extension for views, .ascx extension for partial views & editor templates and .master extension for layout/master pages.

Razor has new and advance syntax that are compact, expressive and reduces typing.

Web Form Engine has the same syntax like Asp.net Web Forms uses for .aspx pages.

Razor syntax are easy to learn and much clean than Web Form syntax. Razor uses @ symbol to make the code like as:

@Html.ActionLink("SignUp", "SignUp")

Web Form syntax are borrowed from Asp.net Web Forms syntax that are mixed with html and sometimes make a view messy. Webform uses  delimiters to make the code like as:

<%Html.ActionLick("SignUp","SignUp")%>

By default, Razor Engine prevents XSS attacks (Cross-Site Scripting Attacks) means it encodes the script or html tags like  before rendering to view.

Web Form Engine does not prevent XSS attacks means any script saved in the database will be fired while rendering the page

            




14)What are GTML Helpers in ASP.NET MVC?
  • An HTML Helper is just a method that returns a HTML string. 
  • The string can represent any type of content that you want. For example, you can use HTML Helpers to render standard HTML tags like HTML , and  tags etc.
  • You can also create your own HTML Helpers to render more complex content such as a menu strip or an HTML table for displaying database data. 

15)What are different types of HTML Helpers?

The HTML helpers that are mainly used to render HTML elements like text boxes, checkboxes, Radio Buttons, and Dropdown lists, etc. are called Standard HTML helpers. 

List of Standard HTML Helpers 

@Html.ActionLink() - Used to create link on html page
@Html.TextBox() - Used to create text box
@Html.CheckBox() - Used to create check box
@Html.RadioButton() - Used to create Radio Button
@Html.BeginFrom() - Used to start a form
@Html.EndFrom() - Used to end a form
@Html.DropDownList() - Used to create drop down list
@Html.Hidden() - Used to create hidden fields
@Html.label() - Used for creating HTML label is on the browser
@Html.TextArea() - The TextArea Method renders textarea element on browser
@Html.Password() - This method is responsible for creating password input field on browser
@Html.ListBox() - The ListBox helper method creates html ListBox with scrollbar on browser


16) What are Url Helpers?
  • Url helpers allows you to render HTML links and raw URLs. The output of these helpers is dependent on the routing configuration of your ASP.NET MVC application.

HTML Element

Example

Relative URL

@Url.Content("~/Files/asp.netmvc.pdf")

Output: /Files/asp.netmvc.pdf

Based on

action/controller

@Html.ActionLink("About Us", "About", "Home")

Output: &lta href="/Home/About">About Us&lt/a>

Raw URL for

Action

Url.Action("About", "Home")

Output: /Home/About



17) What are AJAX Helpers? & What is unobtrusive AJAX?

  • AJAX Helpers are used to create AJAX enabled elements like as Ajax enabled forms and links which performs request asynchronously. AJAX Helpers are extension methods of AJAXHelper class which exist in System. Web. Mvc namespace.
  • The idea behind Unobtrusive AJAX is that AJAX behaviour is attached to form and anchor elements via HTML5 data-* attributes, instead of binding click event handlers in script blocks. In old MVC, these attributes can be generated from Html helpers: Ajax. BeginForm and Ajax.


18) What are layout in ASP.NET MVC?
  • Layouts are used in MVC to provide a consistent look and feel on all the pages of our application. It is the same as defining the Master Pages but MVC provides some more functionalities.

19) What are Sections in ASP.NET MVC?
  • @section is for defining a content are override from a shared view. Basically, it is a way for you to adjust your shared view (similar to a Master Page in Web Forms).

  • The @RenderSection syntax goes into the Shared View, such as:

    <div id="sidebar">
        @RenderSection("Sidebar", required: false)
    </div>

  • This would then be placed in your view with @Section syntax:

    @section Sidebar{
        <!-- Content Here -->
    }

20) What are differences among ViewData,ViewBag,TempData and Session?

  • ViewData/ViewBag - Valid only for the duration of the current request.
    You set it in a controller action and use it in the view, then it disappears.
    The difference is that the first is a dictionary whereas the second is just a dynamic wrapper around this dictionary.Both point to the same data though.

  • ViewBag was introduced in ASP.NET MVC 3.

public ActionResult Index()
{
    ViewData["foo"] = "bar";
    return View();
}

and inside the view you could use this value:

<div>@ViewData["foo"]</div>

Same with ViewBag but it is dynamic:

public ActionResult Index()
{
    ViewBag.foo = "bar";
    return View();
}

and inside the view you could use this value:

<div>@ViewBag.foo</div>

So as you can see ViewData/ViewBag are just an alternative way to pass information to a view from a controller action compared to the classic and recommended way which is using a view model:

public class MyViewModel
{
    public string Foo { get; set; }
}

and then:

public ActionResult Index()
{
    var model = new MyViewModel { Foo = "bar" };
    return View(model);
}

and inside your strongly typed view:

@model MyViewModel
<div>@Html.DisplayFor(x => x.Foo)</div>

As you can see using view models provide a strongly typed approach in passing information to a view from a controller action.


  • TempData - It allows for persisting information for the duration of a single subsequent request. You store something inside TempData and then redirect. In the target controller action to which you redirected you could retrieve the value that was stored inside TempData.

Example:

public ActionResult Foo()
{
    TempData["foo"] = "bar";
    return RedirectToAction("bar");
}

public ActionResult Bar()
{
    var value = TempData["foo"] as string;
    // use the value here. If you need to pass it to the view you could
    // use ViewData/ViewBag (I can't believe I said that but I will leave it for the moment)
    return View();
}


ASP.NET MVC will automatically expire the value that was stored in TempData once you read it. Under the covers ASP.NET MVC persists the information into the Session.


  • Session - same as TempData except that it never expires - it will be valid for all requests, not a single redirect.

21) What are Action methods in Asp.net MVC?

Controller actions are methods defined in the controller class and responsible to perform required operations on the user's inputs like form values, query strings values, etc. with the help of Model and passing the results back to the View.



  1. ViewResult - Represents HTML and markup.
  2. EmptyResult - Represents no result.
  3. RedirectResult - Represents a redirection to a new URL.
  4. JsonResult - Represents a JavaScript Object Notation result that can be used in an AJAX application.
  5. JavaScriptResult - Represents a JavaScript script.
  6. ContentResult - Represents a text result.
  7. FileContentResult - Represents a downloadable file (with the binary content).
  8. FilePathResult - Represents a downloadable file (with a path).
  9. FileStreamResult - Represents a downloadable file (with a file stream).



22) How to make Non-Action methods in Asp.net MVC?

By default, the MVC framework treats all public methods of a controller class as action methods. If your controller class contains a public method and you do not want it to be an action method, you must mark that method with the NonActionAttribute attribute.



  1. using System;  
  2. using System.Collections.Generic;  
  3. using System.Linq;  
  4. using System.Web;  
  5. using System.Web.Mvc;  
  6. using MvcActionSelectors_Demo.Models;  
  7.    
  8. namespace MvcActionSelectors_Demo.Controllers  
  9. {  
  10.     public class DepartmentController : Controller  
  11.     {  
  12.         private readonly EmployeeContext _dbContext=new EmployeeContext();  
  13.    
  14.         public ActionResult Index()  
  15.         {  
  16.             var department = _dbContext.Departments.ToList();  
  17.             return View(department);  
  18.         }  
  19.    
  20.         [NonAction]  
  21.         public string HelloWorld()  
  22.         {  
  23.             return "<h2>Hello World, Welcome to programming.</h2>";  
  24.         }  
  25.     }  
  26. }  





23) Can you change the action method name in Asp.net MVC?

To rename the Action method of the controller, we use ActionName attribute to the action method of the controller.

[ActionName("PersonList")]
  public ActionResult Index(string txtKeyword = null)
  {
     return View();
  }



24) What are Data Annotations in asp.net MVC?

Data validation is a key aspect of developing web applications. In Asp.net MVC, we can easily apply validation to a web application by using Data Annotation attribute classes to the model class. Data Annotation attribute classes are present in System.ComponentModel.DataAnnotations namespace and are available to Asp.net projects like Asp.net web application & website, Asp.net MVC, Web forms, and also to Entity framework ORM models.

Data Annotations help us to define the rules to the model classes or properties for data validation and displaying suitable messages to end-users.

Data Annotation Validator Attributes

1. DataType -Specify the datatype of a property

2. DisplayName -specify the display name for a property.

3. DisplayFormat -specify the display format for a property like a different format for a Date property.

4. Required -Specify a property as required.

5. ReqularExpression -validate the value of a property by a specified regular expression pattern.

6. Range -validate the value of a property within a specified range of values.

7. StringLength -specify min and max length for a string property.

8. MaxLength -specify max length for a string property.

9. Bind -specify fields to include or exclude when adding parameter or form values to model properties.

10. ScaffoldColumn -specify fields for hiding from editor forms.


25) How to determine there is no error in Model State?

When server-side model validation fails, errors are included in the ModelState.
Hence, by using ModelState.IsValid property you can verify model state. It returns true if there is no error in ModelState else returns false.

[HttpPost]
public ActionResult DoSomething(UserViewModel model)
{
    if (ModelState.IsValid)
        {
                //TODO:
        }
        return View();
}


26)What is Partial View in Asp.net MVC?

A partial view is like user control in ASP.NET Webforms that is used for code re-usability. 

Partial views help us to reduce code duplication. Hence partial views are reusable views like Header and Footer views.

We can use a partial view to display blog comments, product category, social bookmarks buttons, a dynamic ticker, calendar, etc.
It is best practice to create a partial view in the shared folder and the partial view name is preceded by "", but it is not mandatory. The "" before view name specify that it is a reusable component i.e. partial view.

27)What is the difference between "ActionResult" and "ViewResult"?

“ActionResult” is an abstract class while “ViewResult” is derived from the “AbstractResult” class. 

“ActionResult” has a number of derived classes like “JsonResult”, “FileStreamResult” and “ViewResult”.“ActionResult” is best if you are deriving different types of view dynamically.

28)When to Use _ViewStart?

When a set of views shares common settings, the _ViewStart.cshtml file is a great place to put these common view settings. If any view needs to override any of the common settings then that view can set new values to common settings.

29)What is App_Start Folder in asp.net MVC?

The App_Start folder can contain class files that will be executed when the application starts. Typically, these would be config files like AuthConfig.cs, BundleConfig.cs, FilterConfig.cs, RouteConfig.cs etc. MVC 5 includes BundleConfig.cs, FilterConfig.cs and RouteConfig.cs by default.


30)What are the different ways of returning/rendering a view in asp.net MVC?

There are four different ways for returning/rendering a view in ASP.NET MVC as given below:

1. Return View() -This is used to create and register bundles for CSS and JS files. By default, various bundles are added in these files including jQuery, jQueryUI, jQuery validation, Modernizr, and Site CSS.

2. Return RedirectToAction() -This tells MVC to redirect to specified action instead of rendering HTML. In this case, the browser receives the redirect notification and makes a new request for the specified action. This acts like a Response.Redirect() in ASP.NET WebForm.

3. Return Redirect() -This tells MVC to redirect to a specified URL instead of rendering HTML. In this case, the browser receives the redirect notification and makes a new request for the specified URL. This also acts like a Response.Redirect() in ASP.NET WebForm. In this case, you have to specify the full URL to redirect.

4. Return RedirectToRoute() -This tells MVC to look up the specified route into the Route table that is defined in global.asax and then redirect to that controller/action defined in that route. This also make a new request like RedirectToAction().

31)What is the difference between View and Partial View?

View: It contains the layout page. Before any view is rendered, the view start page is rendered. The view might have markup tags like the body, HTML, head, title, meta, etc. The view is not lightweight as compare to Partial View


Partial view: It does not contain the layout page. The partial view does not verify for a viewstart.cshtml. We cannot put common code for a partial view within the viewStart.cshtml.page. Partial view is designed specially to render within the view and just because of that it does not consist of any markup. We can pass a regular view of the RenderPartial method 


32)List out different return types of a controller action method?

There is a total of nine return types we can use to return results from the controller to view.  

ViewResult (View): This return type is used to return a webpage from an action method.
PartialviewResult (Partial view): This return type is used to send a part of a view that will be rendered in another view.
RedirectResult (Redirect): This return type is used to redirect to any other controller and action method depending on the URL.
RedirectToRouteResult (RedirectToAction, RedirectToRoute): This return type is used when we want to redirect to any other action method.
ContentResult (Content): This return type is used to return HTTP content type like text/plain as the result of the action.
jsonResult (json): This return type is used when we want to return a JSON message.
javascriptResult (javascript): This return type is used to return JavaScript code that will run in the browser.
FileResult (File): This return type is used to send binary output in response.
EmptyResult: This return type is used to return nothing (void) in the result. 

33)Explain Bundle.Config in MVC?

"BundleConfig.cs" in MVC is used to register the bundles by the bundling and minification system. Many bundles are added by default including jQuery libraries like - jquery.validate, Modernizr, and default CSS references. 

34)What are the filters in MVC?

In MVC, controllers define action methods and these action methods generally have a one-to-one relationship with UI controls such as clicking a button or a link, etc. For example, in one of our previous examples, the UserController class contained methods UserAdd, UserDelete, etc. 

But many times we would like to perform some action before or after a particular operation. For achieving this functionality, ASP.NET MVC provides features to add pre and post-action behaviors on the controller's action methods.  

Types of Filters: 

ASP.NET MVC framework supports the following action filters: 


Action Filters: Action filters are used to implement logic that gets executed before and after a controller action executes. We will look at Action Filters in detail in this chapter.

Authorization Filters: Authorization filters are used to implement authentication and authorization for controller actions.

Result Filters: Result filters contain logic that is executed before and after a view result is executed. For example, you might want to modify a view result right before the view is rendered to the browser.

Exception Filters: Exception filters are the last type of filter to run. You can use an exception filter to handle errors raised by either your controller actions or controller action results. You can also&nbsp; use exception filters to log errors.  Action filters are one of the most commonly used filters to perform additional data processing, or manipulating the return values or canceling the execution of an action, or modifying the view structure at run time


35)What are Action filters in MVC?


Action Filters:  Action Filters are additional attributes that can be applied to either a controller section or the entire controller to modify the way in which action is executed. These attributes are special .NET classes derived from System.Attribute which can be attached to classes, methods, properties and fields. 

ASP.NET MVC provides the following action filters:
Output Cache: This action filter caches the output of a controller action for a specified amount of time. 

Handle Error: This action filter handles errors raised when a controller action executes. 

Authorize: This action filter enables you to restrict access to a particular user or role. 

Now we will see the code example to apply these filters on an example controller ActionFilterDemoController. (ActionFilterDemoController is just used as an example. You can use these filters on any of your controllers.) 

36)What are the three segments for routing important in MVC?


Routing is the URL pattern that is mapped together to a handler, routing is responsible for incoming browser requests for a particular MVC controller. In other ways let us say routing helps you to define a URL structure and map the URL with the controller. There are three segments for routing that are important, 

ControllerName
ActionMethod
NameParammeter  

i.e: ControllerName/ActionMethodName/{ParamerName} and also route map coding written in a Global.asax file. 



37)Explain attribute-based routing in MVC?

In ASP.NET MVC 5.0 we have a new attribute route,by using the "Route" attribute we can define the URL structure. For example, in the below code we have decorated the "GotoAbout" action with the route attribute. The route attribute says that the "GotoAbout" can be invoked using the URL structure "Users/about". 

public class HomeController: Controller  
{  
    [Route("Users/about")]  
    publicActionResultGotoAbout()  
    {  
        return View();  
    }  
38)What are the main razor syntax Rules?
  • Razor code blocks are enclosed in @{ ... }
  • Inline expressions (variables and functions) start with @
  • Code statements end with a semicolon
  • Variables are declared with the var keyword
  • Strings are enclosed with quotation marks
  • C# code is case sensitive
  • C# files have the extension .cshtml   
@ {  
    varmyMessage = "Hello World";  
}  
  
 The value of myMessage is: @myMessage    
      
@ {  
    var greeting = "Welcome to our site!";  
    varweekDay = DateTime.Now.DayOfWeek;  
    vargreetingMessage = greeting + " Here in Huston it is: " + weekDay;  
}  The greeting is: @greetingMessage    
39)What is bundling and modification in MVC?

Bundling and minification are two new techniques introduced to improve request load time. It improves load time by reducing the number of requests to the server and reducing the size of requested assets (such as CSS and JavaScript).  

Bundling: It lets us combine multiple JavaScript (.js) files or multiple cascading style sheet (.css) files so that they can be downloaded as a unit, rather than making individual HTTP requests.  

Minification: It squeezes out whitespace and performs other types of compression to make the downloaded files as small as possible. At runtime, the process identifies the user agent, for example, IE, Mozilla, etc. and then removes whatever is specific to Mozilla when the request comes from IE. 

40)What is Scaffolding in MVC?

Scaffolding is a code generation framework for ASP.NET Web applications. Visual Studio 2013 includes pre-installed code generators for MVC and Web API projects. You add scaffolding to your project when you want to quickly add code that interacts with data models. Using scaffolding can reduce the amount of time to develop standard data operations in your project.  

Prerequisites: 

To use ASP.NET Scaffolding, you must have: 
Microsoft Visual Studio 2013
Web Developer Tools (part of default Visual Studio 2013 installation)
ASP.NET Web Frameworks and Tools 2013 (part of default Visual Studio 2013 installation)  

What are the Advantages of using Scaffolding? 
  • Minimal or no code to create data-driven Web applications.
  • Quick development time.
  • Pages that are fully functional and include a display, insert, edit, delete, sorting, and paging functionalities. 
  • Built-in data validation that is based on the database schema.
  • Filters that are created for each foreign key or Boolean fields. 

41)What is ViewStart in MVC?

cshtml page is a special view page containing the statement declaration to include the Layout page. Instead of declaring the Layout page in every view page, we can use the _ViewStart page. When a View Page Start is running, the “_ViewStart.


No comments:

Post a Comment

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

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