Junior From PDF MVC ASP.NET Core MVC

What is ASP.NET Core, and how is it different from ASP.NET MVC 5?

Short answer: ASP.NET Core is a cross-platform, open-source framework for building modern web applications, APIs, and microservices.

Explain a bit more

It’s a complete rewrite of the old ASP.NET framework, designed to be lightweight, modular, and cloud-ready. In ASP.NET MVC 5, you’d deploy only to IIS on Windows. In ASP.NET Core, the same app can run on a Linux server using Nginx + Kestrel — perfect for Docker or cloud environments. ⚙ 2. Explain the request-processing pipeline in ASP.NET Core. ASP.NET Core handles incoming requests through a middleware pipeline. Each middleware can process, modify, or short-circuit requests before they reach the endpoint. Flow

Example code

Request → Middleware 1 (Logging) → Middleware 2 (Authentication) → Middleware 3 (Routing) → Controller / Endpoint → Response → Back through pipeline Follow : Example: If you log requests, check authentication, and handle static files — they execute in the order you add them in Program.cs. app.UseStaticFiles(); app.UseRouting(); app.UseAuthentication(); app.UseAuthorization(); app.MapControllers(); 🧱 3. What is Kestrel? Kestrel is a cross-platform web server built into ASP.NET Core. It’s fast, lightweight, and serves as the default web server. You can run it standalone or behind a reverse proxy like IIS or Nginx. Real Example: When you run dotnet run, your app listens on — that’s Kestrel serving your app. 🖥 4. What is the role of IIS when hosting ASP.NET Core apps? IIS acts as a reverse proxy. It forwards incoming HTTP requests to the Kestrel server running your ASP.NET Core app. This setup provides: Process management (auto-restart) Port sharing (multiple sites) Windows authentication Logging and monitoring Follow : In short: IIS → forwards → Kestrel → runs the app. 🚀 5. What is the Startup class used for? The Startup class defines how your app configures services (DI, authentication, etc.) and sets up middleware (routing, static files, error pages, etc.). Example: public class Startup public void ConfigureServices(IServiceCollection services) services.AddControllers(); public void Configure(IApplicationBuilder app) app.UseRouting(); app.UseEndpoints(endpoints => endpoints.MapControllers()); 🧭 6. Explain the purpose of Program.cs in .NET 6+. In .NET 6+, Startup.cs and Program.cs merged into one minimal host configuration file. It sets up the web host, configuration, logging, and middleware pipeline. Example: var builder = WebApplication.CreateBuilder(args); builder.Services.AddControllers(); var app = builder.Build(); Follow : app.MapControllers(); app.Run(); It’s simpler, faster, and easier to read. 🔹 7. What is a Minimal API? Minimal APIs are a lightweight way to build small HTTP APIs without controllers or attributes. Perfect for microservices. Example: var app = WebApplication.Create(args); app.MapGet("/hello", () => "Hello World!"); app.Run(); This single file can run a full REST endpoint. 🧰 8. What is the WebApplicationBuilder in .NET 6/7/8? WebApplicationBuilder simplifies creating and configuring a web host. It combines: IHostBuilder WebHostBuilder Configuration Services Example: var builder = WebApplication.CreateBuilder(args); Follow : builder.Services.AddDbContext<AppDbContext>(); builder.Services.AddControllers(); Then you call builder.Build() to create the WebApplication. 🛣 9. How does routing work in ASP.NET Core MVC? Routing maps incoming URLs to controllers and actions. ASP.NET Core uses Endpoint Routing to decide which route matches a request. Example: app.MapControllerRoute( name: "default", pattern: "{controller=Home}/{action=Index}/{id?}"); If the user visits /product/details/5, it maps to: ProductController → Details(int id = 5). 🏷 10. Difference between Conventional and Attribute Routing. Type Definition Example Conventional Routing Routes defined in Program.cs or Startup.cs. {controller=Home}/{action=Ind ex}/{id?} Attribute Routing Routes defined with attributes on controller actions. [Route("api/products/{id}")] Example: [Route("api/[controller]")] Follow : public class ProductsController : ControllerBase [HttpGet("{id}")] public IActionResult Get(int id) => Ok($"Product {id}"); 🧩 11. What is Endpoint Routing? Endpoint routing separates route matching from execution. It lets middleware (like authentication) know which endpoint will be executed before it runs. Example: app.UseRouting(); app.UseAuthorization(); app.UseEndpoints(endpoints => endpoints.MapControllers()); 🔄 12. Explain the role of middleware in ASP.NET Core. Middleware are components that handle requests and responses in a pipeline. Each can: Process requests Call the next middleware Or short-circuit the pipeline Example: A logging middleware that runs before all others: app.Use(async (context, next) => Console.WriteLine("Request: " + context.Request.Path); Follow : await next(); }); 🕒 13. What is the order of middleware execution? Middleware execute in the order they’re added in Program.cs. Response flows in reverse order back up the chain. Tip: Authentication must come before Authorization. UseRouting must come before UseEndpoints. 🧩 14. How to create custom middleware? Example: public class RequestLoggingMiddleware private readonly RequestDelegate _next; public RequestLoggingMiddleware(RequestDelegate next) => _next = next; public async Task Invoke(HttpContext context) Console.WriteLine($"Request for: {context.Request.Path}"); await _next(context); Register it: app.UseMiddleware<RequestLoggingMiddleware>(); Follow : 🧱 15. What is the difference between middleware and filters? Feature Middleware Filter Scope Entire app Controller/action level Runs on Every request MVC actions only Example Authentication, logging Validation, exception filters ⚒ 16. Explain the IApplicationBuilder interface. IApplicationBuilder builds the middleware pipeline. You use it in Startup.Configure() or Program.cs to add middleware via Use, Run, and Map. 🔀 17. Difference between Use, Run, and Map in middleware. Metho Description Example Use Adds middleware that can call the next component. app.UseMiddleware<Logging>(); Run Terminates the pipeline — no next middleware. app.Run(async c => await c.Response.WriteAsync("End")); Map Branches pipeline based on request path. app.Map("/admin", a => a.Run(...)); Follow : 🏗 18. What are Hosting Models in ASP.NET Core (In-process vs Out-of-process)? Model Description Performance In-process App runs inside IIS worker process (w3wp.exe). Faster (single process) Out-of-proces IIS acts as reverse proxy to Kestrel. Slight overhead Example: For Windows servers, in-process gives best performance. For cross-platform Docker, use out-of-process. 🌍 19. Explain Web Host vs Generic Host. Host Type Used For Example Web Host Web apps (ASP.NET Core ≤ 2.2) WebHost.CreateDefaultBui lder() Generic Host Any app: web, worker, console (≥ 3.0) Host.CreateDefaultBuilde r() Generic Host unifies background tasks, APIs, and services in one model. ⚙ 20. How does configuration binding work in ASP.NET Core? ASP.NET Core can automatically bind configuration from: appsettings.json Environment variables Follow : Command-line arguments Example: // appsettings.json "AppSettings": { "SiteName": "MyShop", "Version": "1.0" // POCO public class AppSettings public string SiteName { get; set; } public string Version { get; set; } // Program.cs builder.Services.Configure<AppSettings>( builder.Configuration.GetSection("AppSettings")); You can inject IOptions<AppSettings> anywhere. MVC Architecture & Controllers

Real-world example (ShopNest)

ShopNest admin screens use MVC: controller loads data, Razor view renders HTML, Tag Helpers build forms safely.

Say this in the interview

  1. Define — one clear sentence (the short answer above).
  2. Example — relate it to a project like ShopNest or your real work.
  3. Trade-off — when you would not use it.
Toolliyo Assistant
Ask about tutorials, ebooks, training, pricing, mentor services, and support. I use public site content only—not admin or internal tools.

care@toolliyo.com

Need callback? Share your details