Amazon interview prep · updated Oct 2026

Amazon Software Engineer Interview Questions

Software Engineer 8 questions

Software engineers at Amazon work on problems that join code with the physical world: which warehouse ships an order, what delivery date to promise, how reviews are counted. The company also makes devices such as Kindle and Alexa. Prepare to explain designs in simple words, to reason about trade-offs aloud, and to tell stories where you made a decision with partial facts and owned the result. What to show here: clear reasoning about trade-offs and ownership of results. Each question below has what the interviewer is checking, an answer frame and a sample spoken answer to adapt.

System Design

1. Design the system that works out the delivery date shown on a product page, before the shopper has even added the item to the cart.

What they are checking
Checks whether you can break a fuzzy promise into inputs, handle speed needs, and think about the cost of being wrong.
Answer frame
  1. Clarify inputs: shopper location, stock location, cut-off times, carrier speed.
  2. Sketch how an estimate is computed and what is precomputed.
  3. Make it fast enough for a page load.
  4. Discuss accuracy, feedback from real deliveries and safe defaults.
Sample spoken answer

“The estimate depends on where the shopper is, which warehouses hold the item, the packing cut-off time and how long carriers take on that route. Working this out fresh for every page view would be slow, so I would precompute travel times between warehouse areas and delivery areas, and keep stock by warehouse in a fast store. At page load, the service picks the best warehouse with stock and adds the times. When a lookup fails, I would show a later, safer date, since a broken promise hurts more than a modest one. Real delivery results feed back to correct the travel times.”

Red flag to avoid

Weak answers treat it as a simple lookup and never discuss what happens when the estimate is wrong.

Technical

2. An order has three items held in different warehouses. How would you decide whether to send one parcel or several, and from where?

What they are checking
Checks whether you can frame an optimisation problem, name what you are trading, and choose a practical approach over a perfect one.
Answer frame
  1. Name the goals: promised date, shipping cost, fewer parcels.
  2. Describe the options as combinations of warehouses.
  3. Propose a simple scoring approach and limits on the search.
  4. Note edge cases like stock changing mid-decision.
Sample spoken answer

“I would first agree what we are optimising. The promised date is a hard limit, and within it we want lower shipping cost and fewer parcels. Each option is a way of assigning items to warehouses. With few items I can score every option. For large orders I would use a greedy approach: start with the warehouse that covers the most items, then fill the rest from the nearest ones. I would give each option a cost that includes distance and number of parcels. Stock can change while I decide, so the choice must reserve stock, and fall back to the next option if that fails.”

Red flag to avoid

Weak answers pick the nearest warehouse for each item one by one and ignore the cost of many parcels.

Technical

3. A popular product has a very large number of reviews. How would you store and show its average star rating without recalculating it on every page view?

What they are checking
Checks whether you know how to maintain a derived value, and think about edits, deletions and consistency.
Answer frame
  1. Store a running count and sum per product, or a count per star level.
  2. Update it when a review is added, edited or removed.
  3. Decide if updates happen in the same transaction or later.
  4. Plan a periodic rebuild to correct drift.
Sample spoken answer

“I would keep a small summary per product: how many reviews at each star level. The average and the bar chart both come from those five counts. When a review is added, I increase one count. When it is edited, I lower the old level and raise the new one. When a review is removed, for example as fake, I lower its count. I would do these updates through a queue, since a delay of a few seconds is fine for a rating. Because counters can drift after failures, a scheduled job would rebuild them from the reviews table and report any difference.”

Red flag to avoid

Weak answers compute the average from all reviews each time, or forget edited and removed reviews.

Technical

4. You need to change how a discount is applied and rounded in the cart. How do you test it before any shopper sees it?

What they are checking
Checks the depth of your testing habits for code that handles money, including comparing old and new behaviour on real data.
Answer frame
  1. Write down the rules with examples agreed by the business owner.
  2. Add unit tests for edge cases such as tiny amounts and stacked offers.
  3. Run old and new code side by side on real carts and compare.
  4. Release to a small share and watch.
Sample spoken answer

“With money, I want the rules agreed in writing first, with worked examples, because rounding per item and rounding on the total give different answers. I would turn those examples into unit tests, and add edge cases like very small amounts, several offers together and different currencies. Then I would run the new code in shadow next to the old one on real carts, record both answers and study every difference. Only when the differences are all expected would I release to a small share of shoppers behind a flag, with an alarm on any cart whose total differs from the order total.”

Red flag to avoid

Weak answers test a few happy cases by hand, or never compare the new results with the old ones.

Behavioral

5. Tell me about a time you fixed a problem that was hurting customers even though it sat in another team's code.

What they are checking
Checks whether you act when customers are affected rather than saying it is not your area, while still respecting the owners.
Answer frame
  1. Describe the problem and who it hurt.
  2. Explain why it was outside your area.
  3. Show how you worked with the owning team.
  4. Share the result.
Sample spoken answer

“While working on your project, I noticed customers were getting tracking links that opened an error page. The links were built by another team's service. I could have logged a ticket and moved on, but support was getting complaints daily. I reproduced it, found that addresses with certain characters were not encoded, and sent the owning team the details with a suggested fix. They were busy with a release, so I offered to make the change myself for them to review. They agreed, and it shipped within the week. Afterwards, your result. I also added a check in our own service.”

Red flag to avoid

Weak answers either ignore the problem as someone else's, or change another team's code without telling them.

Behavioral

6. Describe a time you had to decide quickly without all the facts, and how you judged whether the decision could be undone later.

What they are checking
Checks your judgment about speed against certainty, and whether you separate reversible choices from risky ones.
Answer frame
  1. Describe the decision and the time pressure.
  2. Explain what you knew and did not know.
  3. Say how you judged if it could be reversed.
  4. Share the outcome and what you would repeat.
Sample spoken answer

“On your project we had to choose how to store delivery events before a partner integration began. I did not yet know the final volume. I asked myself what would be hard to undo. The storage engine could be swapped later with some effort, but the event format would be copied by every consumer. So I chose the storage quickly, using what the team already knew, and spent my limited time on the format, reviewing it with two consumers. Later the volume was higher than expected and we did change the storage, which took your result. The format never needed to change.”

Red flag to avoid

Weak answers either wait for full information on every choice or rush everything without asking what can be reversed.

Scenario

7. Many shoppers receive the same order confirmation email twice, and some now think they were charged twice. What do you do?

What they are checking
Checks whether you separate the real harm from the visible symptom, communicate early and then fix the cause.
Answer frame
  1. Check whether orders or charges were truly duplicated.
  2. Stop further duplicate sends.
  3. Tell support and affected shoppers the facts.
  4. Find the cause and make sending safe to repeat.
Sample spoken answer

“The first question is whether anything besides the email was duplicated. I would check the orders and charges for a sample of those shoppers. If only the email repeated, the harm is worry, not money, and that changes the message. I would pause the email sender or the job that is resending, then give support a short factual note, and ask for a message to affected shoppers saying they have one order and one charge. Then I would look for the cause, often a worker that retried after a time-out. The fix is to record each sent message and skip repeats.”

Red flag to avoid

Weak answers start fixing the email code before checking whether any shopper was really charged twice.

Why this company

8. Amazon's engineering work spans a store, a delivery network, devices like Kindle and Alexa, and cloud services. Which part would you want to work on, and why?

What they are checking
Checks whether you have thought about the range of work here and can give a specific, honest reason for your choice.
Answer frame
  1. Pick one area and say why it interests you.
  2. Link it to your experience.
  3. Show you understand what is hard about it.
  4. Say how you want to grow.
Sample spoken answer

“I would choose the delivery side. I like problems where the software has to respect the real world: a van has limited space, a road is closed, a parcel is late. In your project I worked on scheduling and enjoyed how each rule from the real world changed the design. What is hard here is that plans must be made quickly with imperfect data, and then changed when reality differs. I find that more interesting than pure software problems. I would like to grow into someone who can design such a system and also run it when things go wrong.”

Red flag to avoid

Weak answers say any team is fine, or choose an area without being able to say what is hard about it.

Salary questions come last

No figures on this page: pay depends on the level, the city and the offer in front of you. When the offer comes, the free salary negotiation script helps with that part.

For the call itself

The questions above are the prep. On the real call, ClapAssist helps with the ones you did not practice.

ClapAssist is an AI interview assistant for Mac and Windows. It listens to the interview on your computer and shows you what to say, in short lines you can read while you talk. Your live interview audio and screen are never stored. Your resume and notes are saved to your account so the app fills them in on any computer. It is hidden from screen share on every plan, including Free; only you can see it.

Download with 10 free minutes
Mac and Windows · Stays out of screen share · No card