| 1 | When would you choose a message queue/broker (RabbitMQ or Kafka) over simply making direct HTTP calls between Node.js microservices? Node.js › Message Queues (RabbitMQ & Kafka) | Node.js | Message Queues (RabbitMQ & Kafka) | Intermediate |
| 2 | How would you publish and consume messages using RabbitMQ in a Node.js application via the amqplib package? Node.js › Message Queues (RabbitMQ & Kafka) | Node.js | Message Queues (RabbitMQ & Kafka) | Intermediate |
| 3 | What is the difference between message acknowledgment modes (auto-ack vs manual ack) in a message queue, and why does manual ack matter for reliability? Node.js › Message Queues (RabbitMQ & Kafka) | Node.js | Message Queues (RabbitMQ & Kafka) | Intermediate |
| 4 | How would you implement a dead-letter exchange in RabbitMQ to handle messages that repeatedly fail processing? Node.js › Message Queues (RabbitMQ & Kafka) | Node.js | Message Queues (RabbitMQ & Kafka) | Advanced |
| 5 | How does Kafka's architecture (topics, partitions, consumer groups) differ fundamentally from RabbitMQ's queue-based model? Node.js › Message Queues (RabbitMQ & Kafka) | Node.js | Message Queues (RabbitMQ & Kafka) | Advanced |
| 6 | What is the difference between a message queue (like RabbitMQ) and a job queue (like BullMQ), and when would you choose one over the other? Node.js › Background Jobs & Queues | Node.js | Background Jobs & Queues | Advanced |
| 7 | What is the Observer pattern, and how does Node.js's EventEmitter class implement it natively? Node.js › Architecture & Design Patterns | Node.js | Architecture & Design Patterns | Advanced |
| 8 | What is the CQRS (Command Query Responsibility Segregation) pattern, and when is it appropriate to introduce in a Node.js system? Node.js › Architecture & Design Patterns | Node.js | Architecture & Design Patterns | Advanced |
| 9 | What is the Saga pattern, and how does it manage distributed transactions across multiple Node.js microservices? Node.js › Architecture & Design Patterns | Node.js | Architecture & Design Patterns | Advanced |
| 10 | What are the main cache invalidation strategies (TTL, write-through, cache-aside), and when is each appropriate? Node.js › Caching | Node.js | Caching | Advanced |