Amazon System Design Experience

Posted
3 Nov 2026
1 reads

Summary

I had a system design interview at Amazon where I was asked to design an Event Management System and discussed the trade‑offs between read‑heavy discovery and consistency‑critical ticket booking.

How it went

Amazon System Design Interview Experience:

Designing an Event Management System Recently, during an Amazon System Design interview, I was asked to design an Event Management System where users can search for events, view details, and book tickets. Here's how I approached the problem.

  1. Understanding Requirements

Functional Requirements:

  • Search events by location, category, date, and popularity.
  • View event details and ticket availability.
  • Book and cancel tickets.
  • Allow organizers to create and manage events.

Non-Functional Requirements:

  • High availability and low latency for event discovery.
  • Strong consistency for ticket booking.
  • Scalability during high-demand events.
  • Prevent double booking and overselling.
  1. Understanding the Read/Write Pattern One important discussion was around the read/write ratio. Users might search and explore hundreds of events, but only a small percentage will actually book tickets. For example:
  • 1M event discovery requests.
  • 100K event detail views.
  • 10K booking attempts. This makes the system predominantly read‑heavy. So, instead of treating both workloads equally, I decided to optimize them separately.
  1. Important Edge Cases Before designing the architecture, I considered:
  • What if 100K users try booking the same event simultaneously?
  • How do we prevent double booking of the last available seat?
  • What if payment succeeds but booking confirmation fails?
  • What if users retry booking due to network timeouts?
  • What if a popular event suddenly experiences 100x traffic?
  • What happens when a user holds a seat but never completes payment?
  1. High-Level Architecture Read Path – Event Discovery
  • Elasticsearch for searching, filtering, and sorting events.
  • Redis for caching popular events and event details.
  • CDN for static content such as event images.
  • Event Service for managing event metadata.

Write Path – Ticket Booking

  • Booking Service handles booking requests.
  • Inventory Service manages ticket availability.
  • PostgreSQL handles transactional inventory updates.
  • Atomic updates prevent overselling.
  • Redis can manage temporary seat holds with expiration.
  • Kafka handles asynchronous workflows like notifications.
  • Idempotency keys ensure that retries don't result in duplicate bookings.

Key Takeaway The biggest architectural decision came from understanding the workload. Event discovery is read‑heavy and latency‑sensitive, whereas ticket booking is consistency‑critical. Separating these workloads allows us to scale them independently and make better architectural trade‑offs.

#SystemDesign #AmazonInterview #BackendEngineering #DistributedSystems #SoftwareEngineering

Questions asked (1)

  1. 01

    Design an Event Management System

    System Design

    Design a system that allows users to:

    • Search events by location, category, date, and popularity.
    • View event details and ticket availability.
    • Book and cancel tickets.
    • Enable organizers to create and manage events.

    Non‑functional requirements include high availability and low latency for event discovery, strong consistency for ticket booking, scalability for traffic spikes, and prevention of double booking or overselling. Consider read/write patterns (e.g., 1M discovery requests, 100K detail views, 10K bookings) and edge cases such as simultaneous bookings, payment failures, retries, and massive traffic spikes.

Know someone preparing? Send it to them:WhatsAppLinkedInX

Interviewed at Amazon recently?

Write up your rounds while you still remember the questions. It helps the next person more than you would think.

Share your experience
Discussion 0

Questions for the author, or how your own interview compared.

Join the discussion

Sign in with Google to comment or ask the author a question.

No comments yet

Be the first to share your thoughts and start the discussion!