| 1 | What is the UI thread and why must UI updates happen on it? .NET MAUI › Concurrency & Threading | .NET MAUI | Concurrency & Threading | Beginner |
| 2 | What is the UI thread and why must UI updates happen on it? .NET MAUI › Concurrency & Threading | .NET MAUI | Concurrency & Threading | Beginner |
| 3 | How do you run CPU-bound work without blocking the UI? .NET MAUI › Concurrency & Threading | .NET MAUI | Concurrency & Threading | Intermediate |
| 4 | What are common async/await pitfalls in MAUI? .NET MAUI › Concurrency & Threading | .NET MAUI | Concurrency & Threading | Intermediate |
| 5 | How do you run CPU-bound work without blocking the UI? .NET MAUI › Concurrency & Threading | .NET MAUI | Concurrency & Threading | Intermediate |
| 6 | What are common async/await pitfalls in MAUI? .NET MAUI › Concurrency & Threading | .NET MAUI | Concurrency & Threading | Intermediate |
| 7 | How do you cancel long-running operations in MAUI? .NET MAUI › Concurrency & Threading | .NET MAUI | Concurrency & Threading | Advanced |
| 8 | How do you safely update collections bound to the UI from background threads? .NET MAUI › Concurrency & Threading | .NET MAUI | Concurrency & Threading | Advanced |
| 9 | How do you cancel long-running operations in MAUI? .NET MAUI › Concurrency & Threading | .NET MAUI | Concurrency & Threading | Advanced |
| 10 | How do you safely update collections bound to the UI from background threads? .NET MAUI › Concurrency & Threading | .NET MAUI | Concurrency & Threading | Advanced |
| 11 | What is the fundamental difference between concurrency and parallelism, and how does this map to Python's threading versus multiprocessing modules? Python › Concurrency (asyncio/threading/multiprocessing) | Python | Concurrency (asyncio/threading/multiprocessing) | Beginner |
| 12 | How do you create and run a basic thread using the threading module? Python › Concurrency (asyncio/threading/multiprocessing) | Python | Concurrency (asyncio/threading/multiprocessing) | Beginner |
| 13 | How do you protect shared mutable state from race conditions when using multiple threads, using threading.Lock? Python › Concurrency (asyncio/threading/multiprocessing) | Python | Concurrency (asyncio/threading/multiprocessing) | Intermediate |
| 14 | What is the basic pattern for running an async function using asyncio.run()? Python › Concurrency (asyncio/threading/multiprocessing) | Python | Concurrency (asyncio/threading/multiprocessing) | Beginner |
| 15 | How does the Global Interpreter Lock (GIL) affect CPU-bound versus I/O-bound multithreaded programs differently? Python › Concurrency (asyncio/threading/multiprocessing) | Python | Concurrency (asyncio/threading/multiprocessing) | Intermediate |
| 16 | How do you run multiple coroutines concurrently using asyncio.gather()? Python › Concurrency (asyncio/threading/multiprocessing) | Python | Concurrency (asyncio/threading/multiprocessing) | Intermediate |
| 17 | How does multiprocessing.Pool let you parallelize a CPU-bound function across multiple worker processes? Python › Concurrency (asyncio/threading/multiprocessing) | Python | Concurrency (asyncio/threading/multiprocessing) | Intermediate |
| 18 | What is a race condition, and how does it differ from a deadlock? Python › Concurrency (asyncio/threading/multiprocessing) | Python | Concurrency (asyncio/threading/multiprocessing) | Intermediate |
| 19 | How does asyncio's event loop schedule and switch between multiple coroutines, and what makes this cooperative rather than preemptive? Python › Concurrency (asyncio/threading/multiprocessing) | Python | Concurrency (asyncio/threading/multiprocessing) | Advanced |
| 20 | How do you safely run a blocking, synchronous function from within an asyncio coroutine without freezing the event loop? Python › Concurrency (asyncio/threading/multiprocessing) | Python | Concurrency (asyncio/threading/multiprocessing) | Advanced |
| 21 | How do you share data between processes using multiprocessing, given that separate processes don't share memory the way threads do? Python › Concurrency (asyncio/threading/multiprocessing) | Python | Concurrency (asyncio/threading/multiprocessing) | Advanced |
| 22 | How would you implement a producer-consumer pattern combining a thread-safe queue.Queue with multiple worker threads? Python › Concurrency (asyncio/threading/multiprocessing) | Python | Concurrency (asyncio/threading/multiprocessing) | Advanced |
| 23 | How do you correctly cancel a running asyncio task, and how should the task itself handle the resulting CancelledError? Python › Concurrency (asyncio/threading/multiprocessing) | Python | Concurrency (asyncio/threading/multiprocessing) | Advanced |
| 24 | How would you use concurrent.futures.ProcessPoolExecutor together with asyncio to run CPU-bound work without blocking the event loop? Python › Concurrency (asyncio/threading/multiprocessing) | Python | Concurrency (asyncio/threading/multiprocessing) | Advanced |
| 25 | How would you design a robust worker pool that handles both graceful shutdown (finishing in-flight work) and immediate cancellation (dropping everything), using asyncio? Python › Concurrency (asyncio/threading/multiprocessing) | Python | Concurrency (asyncio/threading/multiprocessing) | Advanced |
| 26 | Is JavaScript single-threaded, and what does that mean in practice? JavaScript › Event Loop & Concurrency | JavaScript | Event Loop & Concurrency | Beginner |
| 27 | How would you implement a context manager for managing a lock (like threading.Lock) while ALSO adding a timeout, raising an error if the lock can't be acquired quickly enough? Python › File I/O & Context Managers | Python | File I/O & Context Managers | Advanced |
| 28 | 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 |
| 29 | What is an async generator, and how does it differ from a regular generator? Python › Async Generators & Async Context Managers | Python | Async Generators & Async Context Managers | Beginner |
| 30 | How do you consume an async generator using 'async for'? Python › Async Generators & Async Context Managers | Python | Async Generators & Async Context Managers | Beginner |
| 31 | What is an async context manager, and which two dunder methods does it require? Python › Async Generators & Async Context Managers | Python | Async Generators & Async Context Managers | Beginner |
| 32 | What does it mean that Python has 'automatic' memory management, and what's the trade-off compared to manual memory management in languages like C? Python › Memory Management & Garbage Collection | Python | Memory Management & Garbage Collection | Beginner |
| 33 | What is a DbContext, and why should it generally not be shared across multiple concurrent operations? .NET › Entity Framework Core & Data Access | .NET | Entity Framework Core & Data Access | Beginner |
| 34 | 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 |
| 35 | How do you include structured context (like a request ID) in every log message using LoggerAdapter or extra? Python › Logging | Python | Logging | Intermediate |
| 36 | How does Python's generational garbage collector work, and why generations? Python › Memory Management & Garbage Collection | Python | Memory Management & Garbage Collection | Intermediate |
| 37 | What is the difference between SaveChanges() and SaveChangesAsync(), and why does it matter for a web application's scalability? .NET › Entity Framework Core & Data Access | .NET | Entity Framework Core & Data Access | Intermediate |
| 38 | How do you implement server-streaming gRPC using C#'s IAsyncEnumerable<T> or IServerStreamWriter<T>? .NET › gRPC Services | .NET | gRPC Services | Intermediate |
| 39 | How do you handle backpressure when an async generator produces items faster than the consumer can process them? Python › Async Generators & Async Context Managers | Python | Async Generators & Async Context Managers | Advanced |
| 40 | How do async generators interact with asyncio.Queue to implement a producer-consumer pattern across separate tasks? Python › Async Generators & Async Context Managers | Python | Async Generators & Async Context Managers | Advanced |
| 41 | How would you implement a 'fan-out, fan-in' pattern using multiple async generators consumed concurrently and merged into one stream? Python › Async Generators & Async Context Managers | Python | Async Generators & Async Context Managers | Advanced |
| 42 | How would you implement a coroutine-style generator-based pipeline (the classic pre-async/await pattern) using multiple chained 'send()'-driven generators? Python › Comprehensions & Generators | Python | Comprehensions & Generators | Advanced |
| 43 | How would you implement a thread-safe caching decorator that correctly handles concurrent calls from multiple threads? Python › Decorators | Python | Decorators | Advanced |
| 44 | How does Python 3.11's exception groups (ExceptionGroup) and the 'except*' syntax let you handle MULTIPLE unrelated exceptions raised together? Python › Exception Handling | Python | Exception Handling | Advanced |
| 45 | How would you implement a circuit breaker pattern using exception handling, to stop repeatedly calling a service that's consistently failing? Python › Exception Handling | Python | Exception Handling | Advanced |
| 46 | How would you implement a lazy, chainable iterator pipeline (like filter-then-map) from scratch? Python › Iterators & the Iterator Protocol | Python | Iterators & the Iterator Protocol | Advanced |
| 47 | Why is logging generally considered thread-safe, and what should you still be careful about in multiprocessing? Python › Logging | Python | Logging | Advanced |
| 48 | What are common patterns for implementing a producer-consumer background processing pipeline using Channel<T> with a BackgroundService? .NET › Background Services | .NET | Background Services | Advanced |
| 49 | What is the 'cache stampede' (thundering herd) problem, and how can you mitigate it? .NET › Caching (In-Memory, Distributed & Redis) | .NET | Caching (In-Memory, Distributed & Redis) | Advanced |
| 50 | How would you diagnose a thread pool starvation issue in a production ASP.NET Core application? .NET › Diagnostics & Performance | .NET | Diagnostics & Performance | Advanced |
| 51 | How does async/await performance compare to synchronous code, and what overhead does the async state machine introduce? .NET › Diagnostics & Performance | .NET | Diagnostics & Performance | Advanced |
| 52 | 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 |
| 53 | How would you implement a background task queue accepting ad-hoc work items dynamically at runtime, rather than a fixed polling loop? ASP.NET Core › Background Tasks & Hosted Services | ASP.NET Core | Background Tasks & Hosted Services | Advanced |
| 54 | What is the 'cache stampede' (thundering herd) problem, and how would you mitigate it in an ASP.NET Core application? ASP.NET Core › Caching | ASP.NET Core | Caching | Advanced |
| 55 | How does an IAsyncActionFilter differ from the synchronous IActionFilter, and why is the async version generally preferred for filters doing I/O work? ASP.NET Core › Filters | ASP.NET Core | Filters | Advanced |