| 1 | 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 |
| 2 | 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 |
| 3 | How do you validate that an API's actual behavior matches its published OpenAPI specification, preventing documentation drift? ASP.NET Core › API Documentation with Swagger/OpenAPI | ASP.NET Core | API Documentation with Swagger/OpenAPI | Intermediate |
| 4 | How do you add global metadata (like a description, contact info, and license) to the top level of a generated OpenAPI document? ASP.NET Core › API Documentation with Swagger/OpenAPI | ASP.NET Core | API Documentation with Swagger/OpenAPI | Intermediate |
| 5 | 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 |
| 6 | How do you organize and group endpoints in Swagger UI by tags or API version? ASP.NET Core › API Documentation with Swagger/OpenAPI | ASP.NET Core | API Documentation with Swagger/OpenAPI | Intermediate |
| 7 | 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 |
| 8 | How would you generate a client SDK automatically from an ASP.NET Core API's OpenAPI specification? ASP.NET Core › API Documentation with Swagger/OpenAPI | ASP.NET Core | API Documentation with Swagger/OpenAPI | Advanced |
| 9 | 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 |
| 10 | How do you document and test webhook or callback endpoints (server-initiated calls to a client-registered URL) in OpenAPI 3.1? ASP.NET Core › API Documentation with Swagger/OpenAPI | ASP.NET Core | API Documentation with Swagger/OpenAPI | Advanced |
| 11 | How does schema reuse work in OpenAPI (via $ref and components/schemas), and how does Swashbuckle handle types shared across multiple endpoints? ASP.NET Core › API Documentation with Swagger/OpenAPI | ASP.NET Core | API Documentation with Swagger/OpenAPI | Advanced |
| 12 | How would you exclude specific endpoints or entire controllers from appearing in the generated Swagger documentation? ASP.NET Core › API Documentation with Swagger/OpenAPI | ASP.NET Core | API Documentation with Swagger/OpenAPI | Advanced |
| 13 | How do you document multiple response types (like 200, 400, 404) for a single endpoint in Swagger using ProducesResponseType? ASP.NET Core › API Documentation with Swagger/OpenAPI | ASP.NET Core | API Documentation with Swagger/OpenAPI | Intermediate |
| 14 | How do you customize example values shown in Swagger UI for request and response bodies? ASP.NET Core › API Documentation with Swagger/OpenAPI | ASP.NET Core | API Documentation with Swagger/OpenAPI | Intermediate |
| 15 | How do you document authentication requirements (like a JWT bearer token) in Swagger UI so users can test authenticated endpoints interactively? ASP.NET Core › API Documentation with Swagger/OpenAPI | ASP.NET Core | API Documentation with Swagger/OpenAPI | Advanced |
| 16 | Why does an ASP.NET Core Web API need explicit versioning support, and what package provides it? ASP.NET Core › API Versioning | ASP.NET Core | API Versioning | Beginner |
| 17 | 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 |
| 18 | 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 |
| 19 | How would you implement route-based API versioning using route templates and constraints without a dedicated versioning library? ASP.NET Core › Endpoint Metadata, Route Constraints & Templates | ASP.NET Core | Endpoint Metadata, Route Constraints & Templates | Advanced |
| 20 | 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 |
| 21 | How would you support content negotiation for API versioning where different versions have genuinely different response schemas, not just different serialization formats? ASP.NET Core › Content Negotiation & Output Formatters | ASP.NET Core | Content Negotiation & Output Formatters | Advanced |
| 22 | How would you design a gRPC-based service to gracefully handle protobuf schema evolution (adding/removing fields) without breaking existing deployed clients? ASP.NET Core › gRPC Services | ASP.NET Core | gRPC Services | Advanced |
| 23 | What is content negotiation in ASP.NET Core, and how does the Accept header influence it? ASP.NET Core › Content Negotiation & Output Formatters | ASP.NET Core | Content Negotiation & Output Formatters | Beginner |
| 24 | How does the IExceptionHandler interface (introduced in .NET 8) provide a more structured alternative to the UseExceptionHandler lambda approach? ASP.NET Core › Error Handling | ASP.NET Core | Error Handling | Intermediate |
| 25 | How do you define a gRPC service contract using Protocol Buffers, and how is the C# service implementation generated from it? ASP.NET Core › gRPC Services | ASP.NET Core | gRPC Services | Intermediate |
| 26 | How do you enable and use gRPC reflection for service discovery and debugging tools like grpcurl or Postman? ASP.NET Core › gRPC Services | ASP.NET Core | gRPC Services | Intermediate |
| 27 | What are JSON transcoding for gRPC services in ASP.NET Core, and why would you enable it? ASP.NET Core › gRPC Services | ASP.NET Core | gRPC Services | Intermediate |
| 28 | How do you customize the JSON response format of the health check endpoint, since the default output is just plain text status? ASP.NET Core › Health Checks | ASP.NET Core | Health Checks | Intermediate |
| 29 | How would you write a custom output formatter to support a non-standard format, like CSV, for specific endpoints? ASP.NET Core › Content Negotiation & Output Formatters | ASP.NET Core | Content Negotiation & Output Formatters | Advanced |
| 30 | Why is RespectBrowserAcceptHeader disabled by default in ASP.NET Core, and what problem does this default avoid? ASP.NET Core › Content Negotiation & Output Formatters | ASP.NET Core | Content Negotiation & Output Formatters | Advanced |
| 31 | How would you support versioned response shapes for the same resource using content negotiation via custom media types instead of URL-based versioning? ASP.NET Core › Content Negotiation & Output Formatters | ASP.NET Core | Content Negotiation & Output Formatters | Advanced |