← Amazon Interview Insights

Amazon·Software Engineer·Onsite - System Design / Architecture·Senior

SeniorPrefer not to say
Jun 2026

Summary

Amazon SWE onsite round that split evenly between an object-oriented design problem for a pizza ordering system and a leadership principles story. The OOD half had more depth than I expected, and the LP half felt like it mattered just as much, which I wasn't fully prepared for.

Questions Asked (6)

Q1

Design a pizza ordering and fulfillment system end-to-end, covering the menu, order placement, kitchen workflow, and delivery handoff.

System DesignData ModelingTechnical Trade-offs
Author's notes

I jumped straight into classes and forgot to map out the full flow first.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying functional and non-functional requirements, then sketch a high-level architecture with core components and data flow. Dive into data modeling for menu, orders, and kitchen workflow, and discuss trade-offs in consistency, scalability, and fault tolerance. Finally, address delivery handoff and integration points, ensuring end-to-end coverage.

Pro tip: Emphasize idempotency and exactly-once processing for order placement and payment, as duplicate orders are a common real-world issue. Also, discuss how to handle peak loads (e.g., Friday dinner rush) with auto-scaling and queue-based load leveling.

1. Clarify Requirements

Ask questions to understand scope: user types (customer, kitchen staff, delivery driver), core features (menu browsing, order customization, payment, tracking), and non-functional needs (latency, availability, consistency).

2. High-Level Design

Outline main components: API gateway, menu service, order service, kitchen service, delivery service, and databases. Describe data flow from order placement to delivery.

3. Data Modeling

Define schemas for menu items, orders, order items, kitchen tickets, and delivery assignments. Discuss relationships and storage choices (SQL vs NoSQL) based on access patterns.

4. Deep Dive into Key Flows

Detail order placement (validation, payment, idempotency), kitchen workflow (order queue, status updates, notifications), and delivery handoff (driver assignment, tracking, proof of delivery).

5. Trade-offs and Scalability

Discuss consistency vs availability, partitioning strategies, caching, and handling failures (e.g., payment failures, kitchen overload). Mention monitoring and metrics.

Key Points to Mention

  • Idempotency and exactly-once processing for order placement and payment
  • Data consistency models (e.g., eventual consistency for menu updates, strong consistency for orders)
  • Scalability strategies: horizontal scaling, sharding, caching, and queue-based load leveling
  • Fault tolerance: retries, dead-letter queues, circuit breakers, and graceful degradation
  • Real-time tracking and notifications (WebSockets, push notifications)
  • Security and privacy: PCI compliance for payments, authentication/authorization

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.

Q2

Walk through the full order state machine, including every transition and what event triggers each one.

System DesignTechnical Trade-offs
Author's notes

This is where I lost points.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying the scope (e.g., e-commerce order lifecycle) and then walk through the states in a logical sequence, highlighting the events that trigger each transition. Emphasize how the state machine ensures consistency and handles edge cases like cancellations and failures. Use a diagram or verbal map to make it easy to follow.

Pro tip: Tie the state machine to business impact—explain how each transition affects inventory, payment, and customer experience, and mention how you'd handle idempotency and compensating actions for failures.

1. Clarify scope and assumptions

Confirm the domain (e.g., Amazon retail orders) and any constraints like payment authorization timing or inventory reservation. State that you'll focus on the core order lifecycle from creation to fulfillment.

2. Enumerate states

List all possible states: e.g., Pending, PaymentAuthorized, PaymentCaptured, InventoryReserved, Shipped, Delivered, Cancelled, Refunded. Explain what each state represents.

3. Define transitions and triggers

For each state, describe the valid transitions and the events that cause them (e.g., user clicks 'Place Order' → Pending → PaymentAuthorized; payment success → PaymentCaptured; warehouse picks item → Shipped).

4. Discuss edge cases and failure handling

Cover scenarios like payment failure, inventory shortage, cancellation after shipment, and returns. Explain how the state machine prevents invalid transitions and how compensating actions (e.g., refunds) are triggered.

5. Summarize with trade-offs and scalability

Highlight design choices: using a state machine for clarity vs. flexibility, handling concurrency with optimistic locking, and ensuring idempotency. Mention how this scales with event-driven architecture.

Key Points to Mention

  • Idempotency of transitions to handle duplicate events
  • Compensating transactions for rollback (e.g., refund on cancellation)
  • Concurrency control (e.g., optimistic locking) to prevent race conditions
  • Event-driven architecture with message queues for asynchronous transitions
  • Monitoring and logging for state changes to aid debugging and auditing
  • Business metrics impacted by state transitions (e.g., order conversion rate)

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.

Q3

How would you model the kitchen station as a throughput bottleneck, and how does it handle concurrent orders?

System DesignTechnical Trade-offs
Author's notes

Worker pool with a bounded queue was the right answer and I got there, but I spent too long on the class diagram before addressing concurrency.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by framing the kitchen station as a queueing system with limited service capacity, then identify the bottleneck as the station with the lowest throughput relative to demand. Discuss concurrency by explaining how orders are queued, prioritized, and processed in parallel where possible, and how the system handles backpressure and load shedding.

Pro tip: Quantify the bottleneck using Little's Law (L = λW) to show how queue length grows with arrival rate, and mention that in real systems, the bottleneck can shift dynamically, so monitoring and adaptive routing are key.

1. Define the system and metrics

Describe the kitchen as a set of stations (e.g., grill, fryer, salad) with arrival rates (orders) and service rates (dishes per minute). Identify throughput, latency, and utilization as key metrics.

2. Identify the bottleneck

Determine the station with the highest utilization or lowest capacity relative to demand. Explain that this station limits overall system throughput and causes queue buildup.

3. Model concurrency and queueing

Use a queueing model (e.g., M/M/c) to represent concurrent orders. Explain how orders are queued, how many can be processed in parallel, and how prioritization (e.g., FIFO, priority) affects wait times.

4. Handle concurrency and backpressure

Discuss strategies like batching, parallel processing, load shedding, and dynamic routing to other stations. Mention how to handle bursts and avoid overwhelming the bottleneck.

5. Trade-offs and optimizations

Evaluate trade-offs between throughput, latency, and cost. Suggest optimizations like adding capacity, improving service rate, or rebalancing load across stations.

Key Points to Mention

  • Little's Law and its application to queueing systems
  • Utilization and its relationship to wait times (e.g., Kingman's formula)
  • Concurrency models: thread pools, async processing, and parallelism
  • Backpressure mechanisms: queue limits, rate limiting, and load shedding
  • Dynamic bottleneck shifting and adaptive routing
  • Trade-offs between latency, throughput, and resource utilization

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.

Q4

How would you extend this design to support multiple store locations with geo-based order routing?

System DesignData Modeling
Author's notes

Classic follow-up that turns the OOD into a mini system design.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying the requirements: how many locations, expected scale, latency needs, and consistency requirements. Then propose a geo-based routing layer that maps orders to the nearest store using location data, and discuss data modeling changes to support multiple stores, such as adding store_id to inventory and orders. Finally, address trade-offs like consistency, failover, and cost.

Pro tip: Emphasize that geo-routing must handle edge cases like store closures, inventory imbalances, and network partitions, and propose a fallback mechanism to route to the next best store. This shows you think beyond the happy path.

1. Clarify Requirements and Assumptions

Ask about scale (number of stores, orders per second), latency requirements, consistency needs (e.g., can inventory be eventually consistent?), and whether routing should consider store capacity or inventory levels.

2. Design Geo-Based Routing Service

Propose a routing service that uses the customer's location (e.g., from address or GPS) to find nearby stores, possibly using a geospatial index like geohash or Quadtree. Discuss how to select the best store based on distance, inventory, and load.

3. Extend Data Model for Multi-Store

Modify the data model to include store_id in inventory, orders, and possibly user profiles. Consider partitioning data by store or region for scalability, and discuss how to handle inventory synchronization across stores.

4. Address Consistency and Failover

Discuss trade-offs between strong and eventual consistency for inventory and order routing. Propose failover strategies if a store is unavailable or the routing service fails, such as fallback to a central service or nearby store.

5. Discuss Scalability and Monitoring

Explain how the design scales with more stores and orders, including sharding, caching, and load balancing. Mention the need for monitoring routing latency, store load, and inventory accuracy.

Key Points to Mention

  • Geospatial indexing (e.g., geohash, Quadtree, or PostGIS) for efficient nearest-store lookup
  • Data partitioning strategies (e.g., by region or store) to handle scale
  • Consistency models: eventual consistency for inventory vs. strong consistency for order placement
  • Fallback and failover mechanisms for store unavailability or routing service failure
  • Load balancing and capacity considerations to avoid overloading a single store
  • Monitoring and metrics to track routing effectiveness and store performance

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.

Q5

Where should pricing logic live in your design, and how would you support promo codes or loyalty discounts without modifying the core menu classes?

System DesignPricing & MonetizationTechnical Trade-offs
Author's notes

I put pricing on the Pizza object initially and the interviewer's face said everything.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by separating pricing from menu representation, placing pricing logic in a dedicated service or strategy layer that composes menu items with pricing rules. Then explain how decorators, strategies, or rule engines can apply promotions and loyalty discounts without touching core menu classes, emphasizing extensibility and testability.

Pro tip: At Amazon, pricing is a high-stakes, frequently changing domain—highlight how your design supports A/B testing, dynamic pricing, and auditability while keeping the core menu immutable and simple.

1. Separate concerns

Explain that menu classes should only represent item data (name, base price, attributes), while pricing logic belongs in a separate service or domain layer.

2. Choose an extensible pattern

Propose using the Strategy pattern for different pricing algorithms (e.g., regular, promo, loyalty) and the Decorator pattern to wrap menu items with discounts dynamically.

3. Integrate promotions via rules

Describe how promo codes and loyalty discounts can be modeled as rules or policies evaluated by a pricing engine, which composes the final price without altering menu classes.

4. Address cross-cutting concerns

Mention how to handle concerns like caching, concurrency, and audit logging in the pricing layer, ensuring performance and traceability.

5. Discuss trade-offs and testing

Compare approaches (e.g., decorators vs. rule engines) in terms of complexity, performance, and maintainability, and emphasize unit testing of pricing rules in isolation.

Key Points to Mention

  • Single Responsibility Principle: menu classes should not contain pricing logic.
  • Strategy pattern for interchangeable pricing algorithms.
  • Decorator pattern to dynamically add discounts to menu items.
  • Rule engine or specification pattern for complex promotions and loyalty tiers.
  • Open/Closed Principle: extend pricing behavior without modifying core classes.
  • Testability and separation of concerns enable easier A/B testing and auditing.

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.

Q6

Tell me about a time you delivered a project under a tight deadline, especially one that required coordinating across teams.

Cross-functional AlignmentStakeholder Management
Author's notes

The round is literally half LP and I underprepared this half.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Use the STAR method to structure your answer, focusing on a specific project with a tight deadline and cross-team coordination. Highlight your actions to manage dependencies, communicate effectively, and make trade-offs to deliver on time. Emphasize the results and learnings, aligning with Amazon's Leadership Principles like Deliver Results and Customer Obsession.

Pro tip: Quantify the impact of your delivery (e.g., 'reduced latency by 30%' or 'enabled $1M in revenue') and show how you balanced speed with quality by making data-driven decisions. Mention how you kept stakeholders aligned through regular updates and addressed risks proactively.

1. Set the Context

Briefly describe the project, the tight deadline, and why cross-team coordination was necessary. Mention the teams involved and the business impact at stake.

2. Explain Your Role and Actions

Detail your specific responsibilities in coordinating across teams. Focus on how you facilitated communication, resolved conflicts, and managed dependencies to keep the project on track.

3. Highlight Challenges and Solutions

Describe a key challenge (e.g., conflicting priorities, technical blockers) and how you overcame it. Show your problem-solving and decision-making skills, especially under time pressure.

4. Share the Outcome

State the results: did you meet the deadline? What was the impact? Include metrics if possible, and mention any positive feedback from stakeholders.

5. Reflect and Learn

Summarize what you learned and how it improved your ability to deliver under pressure. Connect it to Amazon's Leadership Principles, such as Deliver Results or Earn Trust.

Key Points to Mention

  • Specific tight deadline (e.g., 2 weeks instead of 6 weeks) and its business justification
  • Cross-team coordination: how you aligned multiple teams (e.g., daily stand-ups, shared docs, clear ownership)
  • Trade-off decisions: what you prioritized and what you cut to meet the deadline, with data to support
  • Communication: how you kept stakeholders informed and managed expectations
  • Quantifiable results: metrics like time saved, revenue impact, or customer satisfaction improvement
  • Alignment with Amazon Leadership Principles: e.g., Customer Obsession, Deliver Results, Insist on the Highest Standards

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.