| 1 | What is rate limiting, and why is Redis a good fit for implementing it? Redis › Rate Limiting with Redis | Redis | Rate Limiting with Redis | Beginner |
| 2 | What is the sliding window log algorithm for rate limiting, and how can it be implemented using a Redis sorted set? Redis › Rate Limiting with Redis | Redis | Rate Limiting with Redis | Intermediate |
| 3 | What is the token bucket algorithm for rate limiting, and what advantage does it offer over a simple fixed window counter? Redis › Rate Limiting with Redis | Redis | Rate Limiting with Redis | Intermediate |
| 4 | How would you design a tiered rate limiting system that applies different limits based on a user's subscription plan? Redis › Rate Limiting with Redis | Redis | Rate Limiting with Redis | Advanced |
| 5 | 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 |
| 6 | How would you design a filter-based rate limiting solution before ASP.NET Core 7's built-in rate limiting middleware existed, and why is the built-in middleware now generally preferred? ASP.NET Core › Filters | ASP.NET Core | Filters | Advanced |
| 7 | How does API rate limiting work, and why is it an important protection mechanism for a public facing RESTful API? PHP › RESTful API Development with PHP | PHP | RESTful API Development with PHP | Intermediate |
| 8 | How would you exclude health check endpoints from other cross-cutting middleware like authentication, logging, or rate limiting that shouldn't apply to frequent automated health polling? ASP.NET Core › Health Checks | ASP.NET Core | Health Checks | Intermediate |
| 9 | How would you implement rate limiting or throttling for outgoing notifications to avoid overwhelming users or violating a provider's sending limits? Node.js › Email & Notifications | Node.js | Email & Notifications | Advanced |
| 10 | How would you implement rate limiting inside a route handler to prevent abuse of a public API endpoint? Next.js › Route Handlers (API Route.js) | Next.js | Route Handlers (API Route.js) | Advanced |
| 11 | How does middleware priority and ordering affect application behavior when multiple middleware, such as authentication and rate limiting, are applied to the same route together? PHP › Routing & Middleware | PHP | Routing & Middleware | Advanced |
| 12 | How do you implement a basic fixed window rate limiter using Redis's INCR and EXPIRE commands? Redis › Rate Limiting with Redis | Redis | Rate Limiting with Redis | Beginner |
| 13 | How do you provide helpful feedback to API consumers about their current rate limit status, such as how many requests they have remaining? Redis › Rate Limiting with Redis | Redis | Rate Limiting with Redis | Intermediate |
| 14 | How would you implement a distributed rate limiter using Redis that works correctly across multiple application servers handling requests for the same user? Redis › Rate Limiting with Redis | Redis | Rate Limiting with Redis | Advanced |
| 15 | How does short-circuiting work in middleware, and when would you deliberately not call next()? .NET › ASP.NET Core Middleware & Request Pipeline | .NET | ASP.NET Core Middleware & Request Pipeline | Intermediate |
| 16 | How would you write a Lua script to implement an atomic rate limiter that checks and increments a request counter in a single operation? Redis › Lua Scripting | Redis | Lua Scripting | Advanced |
| 17 | What is a distributed lock, and why would an application need one when using Redis? Redis › Distributed Locks with Redis | Redis | Distributed Locks with Redis | Beginner |
| 18 | How do you pass keys and other arguments into a Lua script when executing it with the EVAL command? Redis › Lua Scripting | Redis | Lua Scripting | Beginner |
| 19 | How do you atomically increment and decrement a numeric value stored as a Redis string? Redis › Strings & Bitmaps in Redis | Redis | Strings & Bitmaps in Redis | Beginner |
| 20 | How does the WithMethods() CORS policy builder method restrict cross-origin requests, and why is it preferable to AllowAnyMethod() for sensitive endpoints? ASP.NET Core › CORS (Cross-Origin Resource Sharing) | ASP.NET Core | CORS (Cross-Origin Resource Sharing) | Intermediate |
| 21 | How do you distinguish between transient errors (worth retrying) and permanent errors (should fail immediately) when designing error handling for calls to external dependencies? ASP.NET Core › Error Handling | ASP.NET Core | Error Handling | Intermediate |
| 22 | How do you configure and enforce a maximum request/file upload size in ASP.NET Core, and what's the default limit? ASP.NET Core › File Uploads & Streaming Large Files | ASP.NET Core | File Uploads & Streaming Large Files | Intermediate |
| 23 | How do you accept and process multiple files uploaded in a single request? ASP.NET Core › File Uploads & Streaming Large Files | ASP.NET Core | File Uploads & Streaming Large Files | Intermediate |
| 24 | How do you pass constructor parameters or configuration to a filter class using [TypeFilter] or [ServiceFilter]? ASP.NET Core › Filters | ASP.NET Core | Filters | Intermediate |
| 25 | What is thread starvation, and how can thread priority misuse or unfair lock scheduling contribute to it? Java › Concurrency & Threads | Java | Concurrency & Threads | Intermediate |
| 26 | How do you atomically increment a numeric field within a Redis hash? Redis › Hashes in Redis | Redis | Hashes in Redis | Intermediate |
| 27 | How do you manage and organize Lua scripts in a larger application to keep them maintainable as your codebase grows? Redis › Lua Scripting | Redis | Lua Scripting | Intermediate |
| 28 | How does the WATCH command enable optimistic locking within a Redis transaction? Redis › Transactions | Redis | Transactions | Intermediate |
| 29 | What is a practical real world example where a Redis transaction ensures data consistency across multiple related keys? Redis › Transactions | Redis | Transactions | Intermediate |
| 30 | How do you implement API key authentication as a custom authentication scheme for machine-to-machine API access? ASP.NET Core › Authentication | ASP.NET Core | Authentication | Advanced |
| 31 | How would you implement a producer-consumer background processing pipeline using System.Threading.Channels alongside a BackgroundService? ASP.NET Core › Background Tasks & Hosted Services | ASP.NET Core | Background Tasks & Hosted Services | Advanced |
| 32 | How do you write custom middleware or an endpoint filter that reads endpoint metadata to conditionally alter its behavior per-route? ASP.NET Core › Endpoint Metadata, Route Constraints & Templates | ASP.NET Core | Endpoint Metadata, Route Constraints & Templates | Advanced |
| 33 | How would you configure Kestrel to be production-ready when running standalone (without IIS or another reverse proxy in front of it), and what risks does this expose you to? ASP.NET Core › Hosting Models: Kestrel, IIS & Reverse Proxies | ASP.NET Core | Hosting Models: Kestrel, IIS & Reverse Proxies | Advanced |
| 34 | How would you configure Kestrel's connection limits and thread pool behavior to handle high-concurrency production traffic without exhausting server resources? ASP.NET Core › Hosting Models: Kestrel, IIS & Reverse Proxies | ASP.NET Core | Hosting Models: Kestrel, IIS & Reverse Proxies | Advanced |
| 35 | How would you use CountDownLatch, CyclicBarrier, and Semaphore for different thread coordination scenarios, and what distinguishes their use cases? Java › Concurrency & Threads | Java | Concurrency & Threads | Advanced |
| 36 | How would you implement retry logic with exponential backoff for HTTP requests made via HttpClient, given the client doesn't provide built-in retry support natively? Java › Java Networking & HTTP Client | Java | Java Networking & HTTP Client | Advanced |