Amazon SQS and SNS are foundational building blocks for decoupled, scalable cloud architectures. Understanding the difference between Standard and FIFO queues, visibility timeouts, DLQ patterns, and SNS fanout is essential for designing resilient distributed systems on AWS.
0 / 5 completed
1 / 5
What is the key functional difference between an SQS Standard queue and an SQS FIFO queue?
Standard queues prioritise throughput (nearly unlimited TPS) with at-least-once delivery and best-effort ordering. FIFO queues cap at 300 TPS (3,000 with batching) but guarantee exactly-once processing and strict order within each MessageGroupId.
2 / 5
A message is received from an SQS queue but processing fails. The visibility timeout expires without a delete call. What happens?
The visibility timeout hides a message from other consumers while one consumer processes it. If the consumer does not delete the message before the timeout expires, the message becomes visible again — enabling automatic retry by another consumer without data loss.
3 / 5
What is a Dead-Letter Queue (DLQ) in Amazon SQS and when does a message end up there?
A DLQ is an ordinary SQS queue set as the redrive destination for a source queue. When a message's receive count exceeds the configured maxReceiveCount, SQS automatically moves it to the DLQ, isolating problematic messages for inspection without blocking the main queue.
4 / 5
In an SNS fanout pattern, an SNS topic has three SQS queues subscribed to it. A message is published to the topic. How many SQS queues receive the message?
SNS fanout publishes a copy of each message to every subscribed endpoint concurrently. Three SQS subscribers all receive the message independently, enabling parallel processing pipelines, audit logging, and notifications without the publisher knowing about each consumer.
5 / 5
What problem does SQS long polling solve compared to short polling?
Long polling (setting WaitTimeSeconds up to 20) keeps the ReceiveMessage request open until a message arrives or the wait expires. This eliminates the continuous empty responses of short polling, reducing API call volume, latency to first message, and cost.