| 1 | What is gRPC-Web, and why is it needed for calling gRPC services directly from a browser-based JavaScript client? .NET › gRPC Services | .NET | gRPC Services | Intermediate |
| 2 | Why can't browsers natively call gRPC services directly, and what is gRPC-Web, and how does it solve this? ASP.NET Core › gRPC Services | ASP.NET Core | gRPC Services | Intermediate |
| 3 | 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 |
| 4 | How do you implement authentication and authorization for gRPC services in ASP.NET Core, given gRPC calls don't carry cookies the way browser requests typically do? ASP.NET Core › gRPC Services | ASP.NET Core | gRPC Services | Advanced |
| 5 | What is the purpose of the ServerCallContext parameter present in every gRPC server method, and what information does it expose? .NET › gRPC Services | .NET | gRPC Services | Beginner |
| 6 | How does client-side load balancing work for gRPC when calling a service with multiple backend instances, without a dedicated load balancer? .NET › gRPC Services | .NET | gRPC Services | Intermediate |
| 7 | What is gRPC, and how does it differ from a traditional REST/JSON API? .NET › gRPC Services | .NET | gRPC Services | Beginner |
| 8 | How would you version a gRPC service's contract while maintaining backward compatibility with existing clients? .NET › gRPC Services | .NET | gRPC Services | Intermediate |
| 9 | How does gRPC's use of HTTP/2 multiplexing provide performance advantages over HTTP/1.1-based REST APIs? .NET › gRPC Services | .NET | gRPC Services | Advanced |
| 10 | How do you handle authentication for gRPC calls, and how does it differ from typical REST API authentication patterns? .NET › gRPC Services | .NET | gRPC Services | Advanced |
| 11 | How do you configure deadlines and cancellation for gRPC calls, and how does this differ from typical HTTP request timeouts? .NET › gRPC Services | .NET | gRPC Services | Advanced |
| 12 | How do the four gRPC method types (unary, server streaming, client streaming, bidirectional streaming) differ, and when would you use each? ASP.NET Core › gRPC Services | ASP.NET Core | gRPC Services | Advanced |
| 13 | What is gRPC, and what are its main advantages over traditional REST/JSON APIs? ASP.NET Core › gRPC Services | ASP.NET Core | gRPC Services | Beginner |
| 14 | How do you configure the maximum message size for gRPC requests and responses, and why might the defaults need adjustment? ASP.NET Core › gRPC Services | ASP.NET Core | gRPC Services | Beginner |
| 15 | How do you define a gRPC service contract using Protocol Buffers (.proto files), and how does code generation work in a .NET project? .NET › gRPC Services | .NET | gRPC Services | Intermediate |
| 16 | How do you implement a gRPC server method in ASP.NET Core, and how does it integrate with the standard hosting model? .NET › gRPC Services | .NET | gRPC Services | Intermediate |
| 17 | How do you implement server-streaming gRPC using C#'s IAsyncEnumerable<T> or IServerStreamWriter<T>? .NET › gRPC Services | .NET | gRPC Services | Intermediate |
| 18 | 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 |
| 19 | How do you handle and propagate errors in gRPC, given it doesn't use standard HTTP status codes the way REST does? ASP.NET Core › gRPC Services | ASP.NET Core | gRPC Services | Intermediate |
| 20 | How do you generate and use a strongly-typed gRPC client in a .NET application to call a gRPC service? ASP.NET Core › gRPC Services | ASP.NET Core | gRPC Services | Intermediate |
| 21 | 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 |
| 22 | How do you configure gRPC to work correctly when hosted behind a reverse proxy or load balancer, given gRPC's reliance on HTTP/2? ASP.NET Core › gRPC Services | ASP.NET Core | gRPC Services | Intermediate |
| 23 | What are the four types of gRPC service methods (unary, server streaming, client streaming, bidirectional streaming), and when is each appropriate? .NET › gRPC Services | .NET | gRPC Services | Advanced |
| 24 | How does gRPC handle errors and status codes, and how does this differ from HTTP status codes in REST? .NET › gRPC Services | .NET | gRPC Services | Advanced |
| 25 | How does gRPC support interceptors for cross-cutting concerns like authentication, logging, and retries, similar to middleware in a REST pipeline? .NET › gRPC Services | .NET | gRPC Services | Advanced |
| 26 | What are gRPC interceptors, and how do they compare to ASP.NET Core middleware or MVC filters for implementing cross-cutting concerns? ASP.NET Core › gRPC Services | ASP.NET Core | gRPC Services | Advanced |
| 27 | How would you implement deadline/timeout propagation across a chain of gRPC calls to prevent cascading resource exhaustion when a downstream service is slow? ASP.NET Core › gRPC Services | ASP.NET Core | gRPC Services | Advanced |
| 28 | 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 |
| 29 | How would you implement a health check specifically for a gRPC service, distinct from the standard ASP.NET Core health check middleware designed for REST endpoints? ASP.NET Core › gRPC Services | ASP.NET Core | gRPC Services | Advanced |
| 30 | How do you handle API versioning for gRPC services, given gRPC's contract is defined via .proto files rather than URL routes? ASP.NET Core › API Versioning | ASP.NET Core | API Versioning | Intermediate |
| 31 | What is protobuf field numbering, and why must you never reuse or renumber a field once a message definition has shipped to production? .NET › gRPC Services | .NET | gRPC Services | Intermediate |
| 32 | How do you implement retry logic with exponential backoff for a background service processing potentially-failing external calls? .NET › Background Services | .NET | Background Services | Advanced |
| 33 | How would you implement retry logic with exponential backoff for a background service that calls a potentially-flaky external API? ASP.NET Core › Background Tasks & Hosted Services | ASP.NET Core | Background Tasks & Hosted Services | Advanced |
| 34 | How does distributed tracing correlate a single logical request across multiple microservices, and what is a 'trace context' propagated between them? .NET › Diagnostics & Performance | .NET | Diagnostics & Performance | Advanced |
| 35 | What are microservices, and what specific tools does the .NET ecosystem provide to build and run them? .NET › Docker & Containerization | .NET | Docker & Containerization | Advanced |
| 36 | How does GraphQL's approach to API evolution differ from REST's typical versioning strategies? .NET › API Versioning | .NET | API Versioning | Intermediate |
| 37 | What is the java.net.Socket and ServerSocket class pair, and how would you implement a basic TCP client-server communication using them at a lower level than HttpClient? Java › Java Networking & HTTP Client | Java | Java Networking & HTTP Client | Intermediate |
| 38 | How does the middleware pipeline interact with asynchronous streaming responses, and what precautions are needed? .NET › ASP.NET Core Middleware & Request Pipeline | .NET | ASP.NET Core Middleware & Request Pipeline | Advanced |
| 39 | How do you handle exceptions that occur during response streaming, after the response has already partially started sending to the client? .NET › Global Exception Handling & Middleware | .NET | Global Exception Handling & Middleware | Advanced |
| 40 | 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 |
| 41 | How do you handle exceptions that occur during response streaming, after the response has already partially started sending to the client? ASP.NET Core › Error Handling | ASP.NET Core | Error Handling | Advanced |
| 42 | How would you configure and validate that HTTP/2 (or HTTP/3) is actually being used end-to-end through a reverse proxy, rather than silently downgrading to HTTP/1.1? ASP.NET Core › Hosting Models: Kestrel, IIS & Reverse Proxies | ASP.NET Core | Hosting Models: Kestrel, IIS & Reverse Proxies | Advanced |