Amazon Software Engineer Interview Experience — One Virtual Onsite Round with BQ Drill-downs and a Checkout Price Engine OOD

Amazon·Software Engineer·Sep 2026
Onsitemedium

Three BQ questions:

Q1: Can you tell me about a time when you pushed back against a decision that negatively impacted your team? What was the issue? How did it turn out?

Q2: Can you tell me about a time when a system was failing intermittently, and the very obvious metrics were all looking good? How did you find the root cause, and how long did it take?

Q3: Can you tell me about a problem you had to solve that required in-depth thought and analysis? How did you know you were focusing on the right things, and what was the outcome?

OOD question: Checkout Price Engine

Build the checkout price engine for an e-commerce platform. Given a cart, compute the final price by applying discounts.

  • Cart has line items: productId, unitPrice, quantity
  • Customer has a tier: standard / premium
  • Three discount kinds: PERCENT_OFF, FIXED_OFF, BUY_X_GET_Y
  • Compute the total and return the final total

Follow-ups, in order

BQ follow-ups:

Q1 got five follow-ups in a row: What did the process actually look like before the change? Did anything go wrong after the team adopted it? Was there still manual code review? Did the change speed up or slow down feature delivery? If you did it again today, what would you do differently?

Q2: the interviewer rephrased it and asked again.

Q3 got followed up on the LLM's token size, what the impact of adding fields would be, what exactly "completeness" means, what this agent's responsibility is, and what I would do differently if I redid it now.

OOD follow-ups:

How do these classes fit together?

How is isEligible used?

Where exactly is the discount applied? Which function?

What does isEligible look like for the percentage discount? Give an example.

Write out the apply for percentage-off.

Then go on to buy-X-get-Y.

What it tests

The BQ follow-ups dig down layer by layer, and every question gets chased down to "what would you do differently if you redid it now." The OOD tests designing a family of pluggable discounts plus an engine that orchestrates them; buy-X-get-Y is the only discount type that does not take money off directly. What the interviewer cares about is how the classes are wired together, and before building any classes you should first explain the main flow of computing the total in one sentence.

Approach

For the OOD: make an abstract Discount base class. isEligible decides whether an item qualifies for the discount, and apply returns the discount amount. The three discount types each implement it. Once PriceEngine gets the cart, it iterates over the line items, checks every discount against each item in turn, accumulates the total discount, and subtracts it from the original price.

BUY_X_GET_Y is special because it does not subtract money directly. Instead it computes the reduction as the number of free items times the unit price.

Published

Curated and edited by PracHub

Practice the questions from this interview

Discussion

Sign in to join the discussion. The author is notified of every comment.

Loading comments…

Interview at a glance

Company
Amazon
Role
Software Engineer
Rounds
Onsite
Difficulty
medium
Interview date
Sep 2026
Questions from this interview
4 questions

Real Amazon interview experiences

First-hand reports from Amazon candidates — the rounds, the questions they were asked, and how it went.

All 152 Amazon interview experiences