| 1 | What features do controllers provide out of the box that minimal APIs don't have native equivalents for? ASP.NET Core › Controllers vs Minimal APIs | ASP.NET Core | Controllers vs Minimal APIs | Intermediate |
| 2 | How does model binding work differently between controllers (using [FromBody], [FromQuery] attributes) and minimal APIs (using parameter inference)? ASP.NET Core › Controllers vs Minimal APIs | ASP.NET Core | Controllers vs Minimal APIs | Intermediate |
| 3 | Can a single ASP.NET Core project use both controllers and minimal APIs simultaneously, and what are valid reasons to do so? ASP.NET Core › Controllers vs Minimal APIs | ASP.NET Core | Controllers vs Minimal APIs | Intermediate |
| 4 | How does route-to-code discoverability differ between controllers' attribute-based routing and minimal APIs' explicit registration, and what are the trade-offs for large codebases? ASP.NET Core › Controllers vs Minimal APIs | ASP.NET Core | Controllers vs Minimal APIs | Intermediate |
| 5 | How does the underlying request execution pipeline differ in performance between controllers and minimal APIs, and what accounts for the difference? ASP.NET Core › Controllers vs Minimal APIs | ASP.NET Core | Controllers vs Minimal APIs | Advanced |
| 6 | How would you decide between controllers and minimal APIs for a new project, weighing team familiarity, project complexity, and long-term maintainability? ASP.NET Core › Controllers vs Minimal APIs | ASP.NET Core | Controllers vs Minimal APIs | Advanced |
| 7 | How do you implement equivalent cross-cutting concerns (like automatic model validation) in minimal APIs that [ApiController] provides automatically for controllers? ASP.NET Core › Controllers vs Minimal APIs | ASP.NET Core | Controllers vs Minimal APIs | Advanced |
| 8 | How does dependency injection differ in practice between controllers (constructor injection) and minimal APIs (parameter injection)? ASP.NET Core › Controllers vs Minimal APIs | ASP.NET Core | Controllers vs Minimal APIs | Advanced |
| 9 | What is the fundamental structural difference between controller-based APIs (MVC) and minimal APIs in ASP.NET Core? ASP.NET Core › Controllers vs Minimal APIs | ASP.NET Core | Controllers vs Minimal APIs | Beginner |
| 10 | What is ControllerBase, and why do API controllers typically inherit from it rather than the full Controller class? ASP.NET Core › Controllers vs Minimal APIs | ASP.NET Core | Controllers vs Minimal APIs | Beginner |
| 11 | How do you apply the same authorization, CORS, and rate limiting policies consistently across both controllers and minimal API endpoints in a hybrid application? ASP.NET Core › Controllers vs Minimal APIs | ASP.NET Core | Controllers vs Minimal APIs | Intermediate |
| 12 | How do action results like Ok(), NotFound(), and BadRequest() in controllers compare to their minimal API equivalents like Results.Ok() and TypedResults? ASP.NET Core › Controllers vs Minimal APIs | ASP.NET Core | Controllers vs Minimal APIs | Intermediate |
| 13 | How would you migrate an existing controller-based API to minimal APIs incrementally without a risky big-bang rewrite? ASP.NET Core › Controllers vs Minimal APIs | ASP.NET Core | Controllers vs Minimal APIs | Advanced |
| 14 | How do you write integration tests that work consistently for both controller-based and minimal API endpoints using WebApplicationFactory? ASP.NET Core › Controllers vs Minimal APIs | ASP.NET Core | Controllers vs Minimal APIs | Advanced |
| 15 | How do you organize a large number of minimal API endpoints without ending up with an enormous, unwieldy Program.cs file? ASP.NET Core › Controllers vs Minimal APIs | ASP.NET Core | Controllers vs Minimal APIs | Intermediate |
| 16 | How does IEndpointFilter provide similar cross-cutting functionality for minimal APIs that MVC filters provide for controllers? ASP.NET Core › Filters | ASP.NET Core | Filters | Intermediate |
| 17 | What are Minimal APIs in ASP.NET Core, and when would you choose them over traditional MVC controllers? .NET › ASP.NET Core Middleware & Request Pipeline | .NET | ASP.NET Core Middleware & Request Pipeline | Intermediate |
| 18 | How do you restrict access to a minimal API endpoint or endpoint group using authorization, given minimal APIs don't use controller attributes? ASP.NET Core › Authorization | ASP.NET Core | Authorization | Intermediate |
| 19 | How does minimal API content negotiation differ from the [ApiController]-based MVC approach, given minimal APIs return results via IResult? ASP.NET Core › Content Negotiation & Output Formatters | ASP.NET Core | Content Negotiation & Output Formatters | Intermediate |
| 20 | How do you apply different CORS policies to different controllers or minimal API endpoint groups within the same application? ASP.NET Core › CORS (Cross-Origin Resource Sharing) | ASP.NET Core | CORS (Cross-Origin Resource Sharing) | Advanced |
| 21 | How do you implement URL segment-based API versioning for controllers using [ApiVersion] and route templates? ASP.NET Core › API Versioning | ASP.NET Core | API Versioning | Intermediate |
| 22 | How do you mix Blazor components with traditional MVC controllers and Razor Pages within the same ASP.NET Core application? ASP.NET Core › Blazor Integration with ASP.NET Core | ASP.NET Core | Blazor Integration with ASP.NET Core | Intermediate |
| 23 | What is route grouping via MapGroup, and how does it let you apply shared route prefixes, metadata, and filters to a set of related minimal API endpoints? ASP.NET Core › Endpoint Metadata, Route Constraints & Templates | ASP.NET Core | Endpoint Metadata, Route Constraints & Templates | Intermediate |
| 24 | How do you handle exceptions specifically within minimal API endpoints, given they don't use the traditional MVC exception filter pipeline? ASP.NET Core › Error Handling | ASP.NET Core | Error Handling | Intermediate |
| 25 | How do you implement API versioning for minimal API endpoints, since they don't use controller attributes? ASP.NET Core › API Versioning | ASP.NET Core | API Versioning | Advanced |
| 26 | How does dependency injection integrate with minimal API endpoint handlers versus controller constructors? ASP.NET Core › Dependency Injection | ASP.NET Core | Dependency Injection | Advanced |
| 27 | How would you unit test a service or minimal API handler that depends on multiple injected interfaces, without spinning up the full DI container? ASP.NET Core › Dependency Injection | ASP.NET Core | Dependency Injection | Advanced |
| 28 | What is OpenAPI, and how does Swashbuckle generate an OpenAPI document for an ASP.NET Core API? ASP.NET Core › API Documentation with Swagger/OpenAPI | ASP.NET Core | API Documentation with Swagger/OpenAPI | Beginner |
| 29 | What is a route template in ASP.NET Core, and how do route parameters like {id} work within one? ASP.NET Core › Endpoint Metadata, Route Constraints & Templates | ASP.NET Core | Endpoint Metadata, Route Constraints & Templates | Beginner |
| 30 | How do you add XML documentation comments to enrich generated Swagger documentation with descriptions? ASP.NET Core › API Documentation with Swagger/OpenAPI | ASP.NET Core | API Documentation with Swagger/OpenAPI | Intermediate |
| 31 | How do you version your OpenAPI documentation to reflect API versioning implemented via the Asp.Versioning library? ASP.NET Core › API Documentation with Swagger/OpenAPI | ASP.NET Core | API Documentation with Swagger/OpenAPI | Intermediate |
| 32 | What is the difference between versioning at the API level (entire controller/group) versus versioning individual actions within a shared controller? ASP.NET Core › API Versioning | ASP.NET Core | API Versioning | Intermediate |
| 33 | How do you unit test that a specific API version's controller action behaves correctly, given the version-based routing? ASP.NET Core › API Versioning | ASP.NET Core | API Versioning | Intermediate |
| 34 | What is the purpose of the [AllowAnonymous] attribute, and how does it interact with a controller-level [Authorize] attribute? ASP.NET Core › Authorization | ASP.NET Core | Authorization | Intermediate |
| 35 | How does the [Authorize] attribute interact with Razor Pages, given they don't use the traditional controller/action model? ASP.NET Core › Authorization | ASP.NET Core | Authorization | Intermediate |
| 36 | How does Blazor's routing system integrate with ASP.NET Core's endpoint routing, and can they coexist for the same URL space? ASP.NET Core › Blazor Integration with ASP.NET Core | ASP.NET Core | Blazor Integration with ASP.NET Core | Intermediate |
| 37 | How does route template precedence work when multiple routes could potentially match the same incoming URL? ASP.NET Core › Endpoint Metadata, Route Constraints & Templates | ASP.NET Core | Endpoint Metadata, Route Constraints & Templates | Intermediate |
| 38 | How do route parameter transformers let you customize the casing convention of generated URLs, such as converting PascalCase action names to kebab-case URLs? ASP.NET Core › Endpoint Metadata, Route Constraints & Templates | ASP.NET Core | Endpoint Metadata, Route Constraints & Templates | Intermediate |
| 39 | How does the newer built-in Microsoft.AspNetCore.OpenApi package (introduced in .NET 9) differ from the third-party Swashbuckle package? ASP.NET Core › API Documentation with Swagger/OpenAPI | ASP.NET Core | API Documentation with Swagger/OpenAPI | Advanced |
| 40 | What is 'design-first' versus 'code-first' API development, and how does OpenAPI tooling support each approach? ASP.NET Core › API Documentation with Swagger/OpenAPI | ASP.NET Core | API Documentation with Swagger/OpenAPI | Advanced |
| 41 | What are keyed services (introduced in .NET 8), and what problem do they solve compared to injecting IEnumerable<T> when you need one specific implementation? ASP.NET Core › Dependency Injection | ASP.NET Core | Dependency Injection | Advanced |