1. What is ASP.NET Core?
Answer:
ASP.NET Core is a cross-platform, high-performance, open-source framework developed by Microsoft for building modern, cloud-based, and internet-connected applications. It’s a redesign of ASP.NET and runs on .NET Core or .NET (5/6/7+).
2. What are the key differences between ASP.NET and ASP.NET Core?
Answer:
| Feature | ASP.NET | ASP.NET Core |
|---|---|---|
| Platform | Windows only | Cross-platform |
| Hosting Model | IIS | IIS, Kestrel, Self-host |
| Performance | Moderate | High |
| Dependency Injection | Limited | Built-in |
| Configuration | web.config |
appsettings.json |
3. What is Middleware in ASP.NET Core?
Answer:
Middleware is software that’s assembled into the application pipeline to handle requests and responses. It can process requests before they reach the endpoint and after the response leaves it.
Example:
app.UseMiddleware<CustomMiddleware>();
4. What is Kestrel?
Answer:
Kestrel is a cross-platform web server for ASP.NET Core. It's the default web server and is designed for high performance.
5. Explain the Startup.cs file.
Answer:
Startup.cs is the entry point for configuring services and the app’s request pipeline.
-
ConfigureServices(IServiceCollection services): Registers services with DI. -
Configure(IApplicationBuilder app, ...): Sets up middleware.
6. What is Dependency Injection (DI)?
Answer:
DI is a design pattern used to inject dependencies rather than creating them manually. ASP.NET Core has built-in DI support via the IServiceCollection.
7. How do you configure routing in ASP.NET Core?
Answer:
Routing is configured using endpoints:
app.UseRouting();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
});
8. What is the difference between AddTransient, AddScoped, and AddSingleton?
Answer:
-
Transient: New instance every time. -
Scoped: One instance per request. -
Singleton: One instance for the app lifetime.
9. How is configuration handled in ASP.NET Core?
Answer:
ASP.NET Core uses configuration providers and reads from:
-
appsettings.json -
Environment variables
-
Command-line arguments
Injected using:
public class MyClass(IConfiguration config) { }
10. What are Tag Helpers?
Answer:
Tag Helpers enable server-side code to participate in creating and rendering HTML elements in Razor views.
Example:
<a asp-controller="Home" asp-action="About">About</a>
11. How is logging handled in ASP.NET Core?
Answer:
ASP.NET Core uses built-in ILogger<T> and supports logging to:
-
Console
-
Debug
-
EventSource
-
External providers like Serilog, NLog
12. What is the Program.cs file in .NET 6/7/8 projects?
Answer:
Program.cs uses a minimal hosting model combining Startup and Program into one file.
var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();
app.MapGet("/", () => "Hello World!");
app.Run();
13. How do you implement authentication and authorization?
Answer:
-
Authentication:
AddAuthentication()and middleware -
Authorization:
[Authorize]attributes and policies
services.AddAuthentication(...);
services.AddAuthorization(...);
14. What is Razor Pages?
Answer:
Razor Pages is a page-focused web development model, simpler than MVC. Each .cshtml page has its own model (PageModel class).
15. How do you handle exceptions globally?
Answer:
Use UseExceptionHandler() or middleware.
app.UseExceptionHandler("/Home/Error");
Or custom middleware for API:
app.UseMiddleware<ErrorHandlingMiddleware>();
16. How can you create and consume Web APIs?
Answer:
Use [ApiController], and RESTful routing:
[ApiController]
[Route("api/[controller]")]
public class ProductsController : ControllerBase
{
[HttpGet] public IActionResult GetAll() => Ok(...);
}
17. What is Model Binding in ASP.NET Core?
Answer:
Model binding maps incoming data (route, query string, form) to parameters or model objects.
18. What are Filters in ASP.NET Core?
Answer:
Filters are used to execute code before or after specific stages in the request pipeline:
-
Authorization
-
Action
-
Result
-
Exception
19. How is session management done?
Answer:
Enable session services and middleware:
services.AddSession();
app.UseSession();
Use:
HttpContext.Session.SetString("key", "value");
20. How do you implement caching?
Answer:
-
In-memory caching:
services.AddMemoryCache();
-
Use:
_cache.Set("key", data, TimeSpan.FromMinutes(5));
- Best of luck for interview
Prasad :)😇