Amazon software engineer interview: the only post you'll need to read

Practice 1-on-1 with ex-interviewers from Amazon. Learn more.

Amazon coding interviews are really challenging. The questions are difficult, specific to Amazon, and cover a wide range of topics.

The good news is that the right preparation can make a big difference and can help you land a job as a software engineer at Amazon. To help you get there, we have put together the ultimate guide below. 

Here's an overview of what we'll cover:

Want to be an interview coach?

If you're an ex-FAANG interviewer who likes helping people and making new connections, then consider applying to be an interview coach on IGotAnOffer. Coaching can also be a great way to make some extra income on the side. Submit your application here.

1. Interview process and timeline

Amazon SDE interview process and timeline

What's the Amazon software development engineer (SDE) interview process and timeline? It takes four to eight weeks on average and follows these steps:

  1. Resume, cover letter, and referrals
  2. HR recruiter email or call
  3. Online assessment (in some cases)
  4. Phone screens: one to two interviews
  5. Onsite: four to six interviews
  6. Debrief: interviewers make a decision
  7. You get an offer!

1.1 What interviews to expect

First, it's important that you understand the different stages of your software engineer interview process with Amazon. Here’s what you can expect:

  • HR recruiter email or call
  • Online assessment (in some cases)
  • Phone screens: one to two interviews
  • Onsite: four to six interviews

In most cases, the interview process starts with an HR recruiter call to discuss your interests and to see what group or team would be best for you. Your recruiter will also use this conversation to confirm that you've got a chance of getting the job at all. You should be prepared to explain your background and why you’re a good fit for Amazon. If things go well the recruiter will then send you an online assessment or schedule your technical screen depending on the role you're applying for.

1.1.1 Amazon online assessments

Amazon primarily uses online assessments (OAs) for internship and new graduate positions, but also sometimes for experienced positions. You might have to solve up to three different online assessments before progressing to the technical phone screen stage.

OA1: Debugging (7 questions, 20mins)

The first online assessment (OA1), is a set of seven debugging questions you have to work through in 20mins. You're presented with a problem and a snippet of code which is supposed to solve the problem but isn't because of a bug. Each of the seven questions is alloted a certain amount of time (e.g. 3mins). And, you need to fix the code before the time expires. There are only three coding languages available for this online assessment: Java, C, and C++.

Important note: as far as we know, this online assessment is only used for internship and new graduate positions.

OA2: Coding questions (2 questions, 70mins)

The second online assessment (OA2), is a set of two data structure and algorithm questions. Each question needs to be solved within a certain amount of time (e.g. 30mins). And your code must compile for the two questions in order to move forward in the interview process.

You'll be able to compile your code as many times as you like before submitting a solution and you can use any one of the following eight languages: C#, C++, Java, C, Python, Ruby, Swift, and JavaScript. It's important to note that efficiency and optimization, as opposed to brute force solutions, earn more points. Finally, Leetcode maintains a helpful thread of questions asked in this second online assessment.

Important note: this online assessment is used for internship, new graduate and also sometimes experienced positions. The more senior you are, the harder the questions you'll get will be.

OA3: Work simulation (~2h) and logical reasoning (24 questions, 35mins)

The third online assessment (OA3) is composed of two parts.

Part 1 is an interactive video simulation of a day in the life of a software development engineer (SDE) at Amazon. You will be presented with various scenarios and select options for how you would respond. This part takes about 2h to complete.

Part 2 is a set of 24 logical reasoning multiple choice questions which you need to work through in 35 minutes. These questions test your problem-solving skills. Speed of completion for each question is not a factor in your score. Complete as many as you can during the time allotted.

Important note: as far as we know, this online assessment is only used for internship and new graduate positions.

1.1.2 Technical phone screens

If you've passed the online assessments, or if you weren't asked to take them, you'll be invited to one or two technical phone screens. This step is called the "phone screen", but most of the time it takes place over video chat using Amazon Chime which is the company's video conferencing product. Each interview will last 45 to 60 minutes. You'll speak to a peer or a potential manager and they'll ask you a mix of technical and behavioral questions.

Technical questions

For the technical part of the interview, you can expect typical data structure and algorithm questions which you'll have to solve in an online collaborative text editor such as collabedit. The editor won't have syntax highlighting or autocomplete features which you'll need to get used to during your interview preparation.

Your recruiter will share a list of software development topics that Amazon asks about in interviews. As a note, it's very unlikely that you'll be asked system design questions during your phone screen.

Behavioral questions

For the behavioral part, you can expect questions like "Tell me about yourself," "Why Amazon?", or "Tell me about a feature you developed from start to finish." When answering even the most common interview questions, be sure to express your understanding of Amazon’s Leadership Principles (more on that below).

1.1.3 Onsite interviews

If you crack the phone screen, the next step is to spend a full day at one of Amazon’s offices and participate in four to six interviews. These interviews will last about 60mins and be a one-on-one with a mix of people from the team you’re applying to join, including peers, the hiring manager, and a senior executive.

Question types

Three or four of your interviews will include coding questions (i.e. data structure and algorithm questions) which you'll need to solve on a whiteboard. The other one or two interviews will cover system design questions. You'll be asked behavioral questions in all your interviews.

All candidates are expected to do extremely well in coding and behavioral questions. If you're relatively junior (SDE II or below) then the bar will be lower in your system design interviews than for mid-level or senior engineers (e.g. SDE III or above).

One common mistake candidates make is to underprepare for behavioral questions. Each interviewer is usually assigned two or three leadership principles to focus on during your interview. These questions are much more important at Amazon than they are at other big tech companies like Google or Facebook.

Bar raiser

Finally, one of your last interviews will be with what Amazon calls a “Bar Raiser”. These interviewers are not associated with the team you’re applying for, and focus more on overall candidate quality than specific team needs. They get special training to make sure Amazon’s hiring standards stay high and don’t degrade over time, so they are a big barrier between you and the job offer.

1.2 What exactly is Amazon looking for

At the end of each interview your interviewer will grade your performance using a standardized feedback form that summarizes the attributes Amazon looks for in a candidate. That form is constantly evolving, but we have listed some of its main components below.

A) Notes

The interviewer will file the notes they took during the interview. This usually includes: the questions they asked, a summary of your answers and any additional impressions they had (e.g. communicated ABC well, weak knowledge of XYZ, etc).

B) Technical competencies

Your interviewer will then grade you on technical competencies. They will be trying to determine whether you are "raising the bar" or not for each competency they have tested. In other words, you'll need to convince them that you are at least as good as or better than the average current Amazon SDE at the level you're applying for (e.g. SDE III).

The exact technical competencies you'll be evaluated against vary by role. But here are some common ones for SDE roles:

  • Problem solving
  • Coding
  • Object oriented design
  • Data structures
  • Etc.

C) Leadership principles

Your interviewer will also grade you on Amazon's 14 leadership principles and assess whether you're "raising the bar" for those too. As mentioned above each interviewer is given two or three leadership principles to grill you on. Here are some of the most commonly tested principles for SDE roles:

  • Customer Obsession
  • Ownership
  • Bias for Action
  • Have Backbone; Disagree and Commit
  • Etc.

D) Overall recommendation

Finally, each interviewer will file an overall recommendation into the system. The different options are along the lines of: "Strong hire", "Hire", "No hire", "Strong no hire".

1.3 What happens behind the scenes

Your recruiter is leading the process and taking you from one stage to the next. Here's what happens at each of the stages described above:

  • After the phone screens, your recruiter decides to move you to the onsite or not, depending on how well you've done up to that point
  • After the onsite, each interviewer files their notes into the internal system, grades you and makes a hiring recommendation (i.e. "Strong hire", "Hire", "No hire", "Strong no hire")
  • The "Debrief" brings all your interviewers together and is led by the Bar Raiser, who is usually the most experienced interviewer and is also not part of the hiring team. The Bar Raiser will try to guide the group towards a hiring decision. It's rare, but they can also veto hiring even if all other interviewers want to hire you.
  • You get an offer. If everything goes well, the recruiter will then give you an offer, usually within a week of the onsite but it can sometimes take longer

It's also important to note that recruiters and people who refer you have little influence on the overall process. They can help you get an interview at the beginning, but that's about it.

2. Example questions

Here at IGotAnOffer, we believe in data-driven interview preparation and have used Glassdoor data to identify the types of questions that are most frequently asked at Amazon.

For coding interviews, we've broken down the questions you'll be asked into subcategories (e.g. Arrays / Strings, Graphs / Trees, etc.), so that you can prioritize the most common ones in your preparation. In addition, we've also listed 10 system design and 40+ behavioral questions asked at Amazon.

2.1 Coding questions

Amazon coding interview questions

Amazon software development engineers solve some of the most difficult problems the company faces with code. It's therefore essential that they have strong problem-solving skills. This is the part of the interview where you want to show that you think in a structured way and write code that's accurate, bug-free, and fast.

Here are the most common question types asked in Amazon coding interviews and their frequency. Please note the list below excludes system design and behavioral questions which we cover later in this article.

  1. Graphs / Trees (46% of questions, most frequent)
  2. Arrays / Strings (38%)
  3. Linked lists (10%)
  4. Search / Sort (2%)
  5. Stacks / Queues (2%)
  6. Hash tables (2% of questions, least frequent)

We've also listed common examples used at Amazon for these different question types below. For each example, we've modified the phrasing of the question to match the closest Leetcode problem and we've linked to a free solution on Leetcode.

Finally, we recommend watching this video (which was put together by Amazon) to understand more about the step-by-step approach you should use to solve coding questions (more on that later in this article).

Example coding questions asked by Amazon

1. Graphs / Trees (46% of questions, most frequent)

  • Given preorder and inorder traversal of a tree, construct the binary tree. (Solution)
  • Given a non-empty binary tree, find the maximum path sum. For this problem, a path is defined as any sequence of nodes from some starting node to any node in the tree along the parent-child connections. The path must contain at least one node and does not need to go through the root. (Solution)
  • Design an algorithm to serialize and deserialize a binary tree. There is no restriction on how your serialization/deserialization algorithm should work. You just need to ensure that a binary tree can be serialized to a string and this string can be deserialized to the original tree structure. (Solution)
  • Given n nodes labeled from 0 to n-1 and a list of undirected edges (each edge is a pair of nodes), write a function to check whether these edges make up a valid tree. (Solution)
  • Given a list of airline tickets represented by pairs of departure and arrival airports [from, to], reconstruct the itinerary in order. All of the tickets belong to a man who departs from JFK. Thus, the itinerary must begin with JFK. (Solution)
  • Given a matrix of integers A with R rows and C columns, find the maximum score of a path starting at [0,0] and ending at [R-1,C-1]. (Solution)
  • There are a total of n courses you have to take, labeled from 0 to n-1. Some courses may have prerequisites, for example to take course 0 you have to first take course 1, which is expressed as a pair: [0,1]. Given the total number of courses and a list of prerequisite pairs, return the ordering of courses you should take to finish all courses. (Solution)

2. Arrays / Strings (38%)

  • Given an array of integers, return indices of the two numbers such that they add up to a specific target. You may assume that each input would have exactly one solution, and you may not use the same element twice. (Solution)
  • Given an array nums of n integers, are there elements a, b, c in nums such that a + b + c = 0? Find all unique triplets in the array which gives the sum of zero. (Solution)
  • Say you have an array for which the ith element is the price of a given stock on day i. If you were only permitted to complete at most one transaction (i.e., buy one and sell one share of the stock), design an algorithm to find the maximum profit. Note that you cannot sell a stock before you buy one. (Solution)
  • Given a string s, find the longest palindromic substring in s. You may assume that the maximum length of s is 1000. (Solution)
  • Convert a non-negative integer to its english words representation. Given input is guaranteed to be less than 231 - 1. (Solution)
  • Given an array of strings products and a string searchWord. We want to design a system that suggests at most three product names from products after each character of searchWord is typed. Suggested products should have common prefix with the searchWord. If there are more than three products with a common prefix return the three lexicographically minimums products. Return list of lists of the suggested products after each character of searchWord is typed. (Solution)
  • Given a paragraph and a list of banned words, return the most frequent word that is not in the list of banned words.  It is guaranteed there is at least one word that isn't banned, and that the answer is unique. Words in the list of banned words are given in lowercase, and free of punctuation.  Words in the paragraph are not case sensitive.  The answer is in lowercase. (Solution)

3. Linked lists (10%)

  • Given a linked list, reverse the nodes of a linked list k at a time and return its modified list. k is a positive integer and is less than or equal to the length of the linked list. If the number of nodes is not a multiple of k then left-out nodes in the end should remain as it is. (Solution)
  • Merge two sorted linked lists and return it as a new sorted list. The new list should be made by splicing together the nodes of the first two lists. (Solution)
  • Merge k sorted linked lists and return it as one sorted list. Analyze and describe its complexity. (Solution)
  • A linked list is given such that each node contains an additional random pointer which could point to any node in the list or null. Return a deep copy of the list. (Solution)
  • Given a node from a Circular Linked List which is sorted in ascending order, write a function to insert a value insertVal into the list such that it remains a sorted circular list. The given node can be a reference to any single node in the list, and may not be necessarily the smallest value in the circular list. (Solution)

4. Search / Sort (2%)

  • Given an array of integers nums, sort the array in ascending order. (Solution)
  • Given a 2d grid map of '1's (land) and '0's (water), count the number of islands. An island is surrounded by water and is formed by connecting adjacent lands horizontally or vertically. You may assume all four edges of the grid are all surrounded by water. (Solution)
  • Given an array of meeting time intervals consisting of start and end times [[s1,e1],[s2,e2],...] (si < ei), find the minimum number of conference rooms required. (Solution)
  • Write an efficient algorithm that searches for a value in an m x n matrix. This matrix has the following properties: a) Integers in each row are sorted in ascending from left to right. b) Integers in each column are sorted in ascending from top to bottom. (Solution)

5. Stacks / Queues (2%)

  • Design a stack that supports push, pop, top, and retrieving the minimum element in constant time. (Solution)
  • Given n non-negative integers representing an elevation map where the width of each bar is 1, compute how much water it is able to trap after raining. (Solution)

6. Hash tables (2% of questions, least frequent)

  • Given a non-empty 2D array grid of 0's and 1's, an island is a group of 1's (representing land) connected 4-directionally (horizontal or vertical.) You may assume all four edges of the grid are surrounded by water. Count the number of distinct islands. An island is considered to be the same as another if and only if one island can be translated (and not rotated or reflected) to equal the other. (Solution)
  • Given a non-empty list of words, return the k most frequent elements. Your answer should be sorted by frequency from highest to lowest. If two words have the same frequency, then the word with the lower alphabetical order comes first. (Solution)

2.2 System design questions

Amazon products have millions of monthly active users. Amazon's engineers therefore need to be able to design systems that are highly scalable. The coding questions we've covered above usually have a single optimal solution. But the system design questions you'll be asked are typically more open-ended and feel more like a discussion.

This is the part of the interview where you want to show that you can both be creative and structured at the same time. In most cases, your interviewer will adapt the question to your background. For instance, if you've worked on an API product they'll ask you to design an API. But that won't always be the case so you should be ready to design any type of product or system at a high level.

As mentioned previously, if you're a junior developer the expectations will be lower for you than if you're mid-level or senior. In addition, for certain roles (e.g. infrastructure, security, etc.) you will likely have several system design interviews instead of just one.

Below are the most common system design questions according to the Amazon interview reports which can be found on Glassdoor. For more information, we recommend watching the following Amazon video guide on how to answer system design questions and we also recommend practicing system design questions using this course.

Example system design questions asked at Amazon

  • How would you design a warehouse system for Amazon.com
  • How would you design Amazon.com so it can handle 10x more traffic than today
  • How would you design Amazon.com's database (customers, orders, products, etc.)
  • How would you design TinyURL
  • How would you design Google's search autocomplete
  • How would you design Dropbox
  • How would you design a real time ranking system for Fortnite
  • How would you design a parking payment system
  • How would you design an electronic voting system
  • How would you design a distributed cache system

2.3 Behavioral questions

Amazon’s SDE interview process heavily focuses on assessing if you live and breathe the company’s 14 Leadership Principles. The main way Amazon tests this is with behavioral questions which you'll be asked in every interview.

Summary of SDE interview questions on Amazon leadership principles

SDE interviews tend to primarily focus on the first four principles we have highlighted below, according to the Amazon ex-interviewers on our coaching team. The other ten topics also come up but less frequently.

Amazon's Leadership Principles:

  • Customer Obsession
  • Ownership
  • Bias for Action
  • Have Backbone; Disagree and Commit
  • Invent and Simplify
  • Dive Deep
  • Are Right, A Lot
  • Deliver Results
  • Think Big
  • Hire and Develop the Best
  • Frugality
  • Learn and Be Curious
  • Insist on the Highest Standards
  • Earn Trust

Below is a breakdown of each leadership principle and how you’ll be asked about them during your interview process with Amazon.

2.3.1 "Customer obsession" interview questions

Customer obsession — "Leaders start with the customer and work backwards. They work vigorously to earn and keep customer trust. Although leaders pay attention to competitors, they obsess over customers.”

Customer obsession is about empathy. Interviewers want to see that you understand the consequences that every decision has on customer experience. You need to know who the customer is and their underlying needs, not just the tasks they want done.

This is by far the most important leadership principle used at Amazon. Therefore, it is the most critical one to prepare for.

Example "customer obsession" questions asked by Amazon

  • Tell me about a time you had to deal with a difficult customer
  • Tell me about a time you made something much simpler for customers
  • Which company has the best customer service and why?
  • Tell me about a time you said no to a customer request and why

2.3.2 "Ownership" interview questions

Ownership — "Leaders are owners. They think long term and don’t sacrifice long-term value for short-term results. They act on behalf of the entire company, beyond just their own team. They never say “that’s not my job.”

Interviewers at Amazon want to avoid hiring people who think, “That’s not my job!” When answering ownership questions, you’ll want to prove that you take initiative, can make tough decisions, and take responsibility for your mistakes.

Example "ownership" questions asked by Amazon

  • Tell me about a time you did something at work that wasn't your responsibility / in your job description
  • Describe an instance where you had to make an important decision without approval from your boss
  • Tell me about a time you took ownership of a problem that was not the focus of your organization
  • When was the last time that you sacrificed a long term value to complete a short term task?

2.3.3 "Bias for action" interview questions

Bias for action — "Speed matters in business. Many decisions and actions are reversible and do not need extensive study. We value calculated risk taking.”

Since Amazon likes to ship quickly, they also prefer to learn from doing (while also measuring results) vs. performing user research and making projections. They want to see that you can take calculated risks and move things forward.

Example "bias for action" questions asked by Amazon

  • Tell me about a time you had to change your approach because you were going to miss a deadline
  • Tell me about a time you had to make a decision with incomplete information. How did you make it and what was the outcome?
  • Tell me about a time when you launched a feature with known risks
  • Tell me about a time you broke a complex problem into simple sub-parts

2.3.4 "Have backbone; disagree and commit" interview questions

Have backbone; disagree and commit — "Leaders are obligated to respectfully challenge decisions when they disagree, even when doing so is uncomfortable or exhausting. Leaders have conviction and are tenacious. They do not compromise for the sake of social cohesion. Once a decision is determined, they commit wholly.”

Any group of smart leaders will disagree at some point. Amazon wants to see that you know when to challenge ideas and escalate problems to senior leadership. At the same time, they want to know you can sense the right time to move forward regardless of your disagreement.

Example "have backbone; disagree and commit" questions asked by Amazon

  • Tell me about a time you had a conflict with a coworker or manager and how you approached it
  • Tell me about a time you disagreed with your team and convinced them to change their position
  • Tell me about a time you had a conflict with your team but decided to go ahead with their proposal
  • Tell me about a time your work was criticized

2.3.5 "Invent and simplify" interview questions

Invent and simplify — "Leaders expect and require innovation and invention from their teams and always find ways to simplify. They are externally aware, look for new ideas from everywhere, and are not limited by “not invented here." Because we do new things, we accept that we may be misunderstood for long periods of time.”

Amazon relies on a culture of innovation. Answering invent and simplify questions is an opportunity to show your ability to create solutions when there is no obvious answer. You’ll also want to show that you know how to execute big ideas as simply and cheaply as possible.

Example "invent and simplify" questions asked by Amazon

  • Tell me about a time you suggested a new approach
  • What is the most innovative idea you've ever had?
  • Tell me how you built a feature in an innovative way, give specific details

2.3.6 "Dive deep" interview questions

Dive deep — "Leaders operate at all levels, stay connected to the details, audit frequently, and are skeptical when metrics and anecdote differ. No task is beneath them.”

When something isn’t working, SDEs need to quickly find a solution. Interviewers want to see that you are excited to dive deep when problems arise.

Example "dive deep" questions asked by Amazon

  • Tell me about a project in which you had to deep dive into analysis
  • Tell me about the most complex problem you have worked on
  • Describe an instance when you used a lot of data in a short period of time

2.3.7 "Are right, a lot" interview questions

Are right, a lot — "Leaders are right a lot. They have strong judgement and good instincts. They seek diverse perspectives and work to disconfirm their beliefs.”

Amazon expects its Software Development Engineers to produce solutions as quickly as possible and to make a lot of decisions with little information. You’ll want to demonstrate skill in taking calculated risks and show that you're comfortable disproving your own opinions before moving ahead.

Example "are right, a lot" questions asked by Amazon

  • Describe a time you made a mistake
  • Tell me about a time you applied judgment to a decision when data was not available
  • Tell me about a time you had very little information about a project but still had to move forward

2.3.8 "Deliver results" interview questions

Deliver results — "Leaders focus on the key inputs for their business and deliver them with the right quality and in a timely fashion. Despite setbacks, they rise to the occasion and never settle.”

Amazon values action over perfection. When answering questions related to delivering results, you’ll want to indicate that you dislike slipped deadlines and failed goals.

Example "deliver results" questions asked by Amazon

  • Tell me about the most challenging project you ever worked on
  • How do you prioritize in your current role?
  • What do you think are the most difficult parts of software engineering?

2.3.9 "Think big" interview questions

Think big — "Thinking small is a self-fulfilling prophecy. Leaders create and communicate a bold direction that inspires results. They think differently and look around corners for ways to serve customers.”

Amazon is huge and its SDEs need to build products that reach significant scale to make a difference for the business. As a result, interviewers will want to see that you can develop and articulate a bold vision.

Example "think big" questions asked by Amazon

  • Describe a time you proposed a non-intuitive solution to a problem and how you identified that it required a different way of thinking
  • Give a specific example where you drove adoption for your vision and explain how you knew it had been adopted by others
  • Tell me about your most significant accomplishment. Why was it significant?

2.3.10 "Hire and develop the best" interview questions

Hire and develop the best — "Leaders raise the performance bar with every hire and promotion. They recognize exceptional talent, and willingly move them throughout the organization. Leaders develop leaders and take seriously their role in coaching others. We work on behalf of our people to invent mechanisms for development like Career Choice.”

As mentioned above, Amazon wants new hires to “raise the bar.” Interviewers will want to see that you are not afraid of working with and hiring people smarter than you. You should also show you enjoy coaching younger colleagues and know how to get the most out of top performers. You’ll notice the examples listed here are general interview questions, but they provide a perfect opportunity for you to address this principle.

This leadership principle is typically discussed in interviews for very senior engineering positions that involve people management or building a team (e.g. Software Development Manager, Director, etc.).

Example "hire and develop the best" questions asked by Amazon

  • Describe a time you stepped in to help a struggling teammate
  • Tell me about a time you helped boost your team morale
  • Tell me about a time you hired or worked with people smarter than you are
  • Why do you want to work at Amazon?

2.3.11 "Frugality" interview questions

Frugality — "Accomplish more with less. Constraints breed resourcefulness, self-sufficiency, and invention. There are no extra points for growing headcount, budget size, or fixed expense.”

At every touchpoint, Amazon tries to provide customers with as much value for as little cost as possible. Interviewers will be looking for how you can support this idea while maintaining a constant drive for innovation.

Example "frugality" questions asked by Amazon

  • Tell me about a time you successfully delivered a project without a budget or resources
  • Describe the last time you figured out a way to keep an approach simple or to save on expenses

2.3.12 "Learn and be curious" interview questions

Learn and be curious — "Leaders are never done learning and always seek to improve themselves. They are curious about new possibilities and act to explore them.”

Amazon demands constant improvement in every part of their business. You’ll want to show that you are interested in learning new things and exploring new ideas. Some examples listed here are general interview questions, but they provide a perfect opportunity for you to address this principle.

Example "learn and be curious" questions asked by Amazon

  • Explain something interesting you’ve learned recently
  • Tell me about a time you taught yourself a skill
  • Why Software Engineering?

2.3.13 "Insist on the highest standards" interview questions

Insist on the highest standards — "Leaders have relentlessly high standards — many people may think these standards are unreasonably high. Leaders are continually raising the bar and drive their teams to deliver high quality products, services, and processes. Leaders ensure that defects do not get sent down the line and that problems are fixed so they stay fixed.”

Amazon takes the view that nothing is ever “good enough.” They’d like to see that you push for standards that are difficult to meet.

Example "insist on the highest standards" questions asked by Amazon

  • Describe a project that you wish you had done better and how you would do it differently today
  • Tell me about the most successful project you've done
  • How do you ensure standards are met when delivering projects?

2.3.14 "Earn trust" interview questions

Earn trust — "Leaders listen attentively, speak candidly, and treat others respectfully. They are vocally self-critical, even when doing so is awkward or embarrassing. Leaders do not believe their or their team’s body odour smells of perfume. They benchmark themselves and their teams against the best.”

The key part of that principle candidates often miss is the “vocally self-critical.” Amazon wants SDEs who focus on fixing mistakes instead of figuring out who to blame. You’ll want to show that you take action when something is wrong and acknowledge your own faults before blaming other people and teams.

Example "earn trust" questions asked by Amazon

  • How do you earn trust with a team?
  • Tell me a piece of difficult feedback you received and how you handled it
  • A co-worker constantly arrives late to a recurring meeting. What would you do?

3. How to prepare

Now that you know what questions to expect, let's focus on how to prepare. Here are the four most important things you can do to prepare for your Amazon software development engineer interviews.

3.1 Learn about Amazon's culture

Most candidates fail to do this. But before investing tens of hours preparing for an interview at Amazon, you should take some time to make sure it's actually the right company for you.

Amazon is prestigious and it's tempting to assume that you should apply, without considering things more carefully. But, it's important to remember that the prestige of a job (by itself) won't make you happy in your day-to-day work. It's the type of work and the people you work with that will.

If you know engineers who work at Amazon or used to work there, talk to them to understand what the culture is like. The leadership principles we discussed above can give you a sense of what to expect, but there's no replacement for a conversation with an insider. Finally, we would also recommend reading the following resources:

3.2 Practice by yourself

As mentioned above, you'll have to answer three types of questions at Amazon: coding, system design, and behavioral. The first step of your preparation should be to brush up on these different types of questions and to practice answering them by yourself.

3.2.1 Coding interview preparation

For coding interviews, we recommend getting used to the step-by-step approach hinted at by Amazon in the video below.

Here is a summary of the approach:

  • Step 1: Clarify
    • Ask clarification questions to remove ambiguity about the problem
    • Explore the edges of the problem
  • Step 2: Plan
    • Discuss potential approaches you could take
    • Pick an approach and lay out the high level steps
  • Step 3: Implement
    • Write clean code, not pseudocode
    • Comment on your code as you go
  • Step 4: Test
    • Start by testing with a simple example
    • Try breaking your code with edge and corner cases
  • Step 5: Optimize
    • Calculate time complexity
    • Discuss how you can optimize your solution

To practice solving questions we recommend using Leetcode where you can get a lot done with the free tier. If you want to take things a step further, you can also access Amazon-specific questions using Leetcode's premium tier. Don't forget to practice questions on a whiteboard or simple text editor instead of an IDE.

3.2.2 System design interview preparation

For system design interviews, we recommend getting used to the step-by-step approach hinted at by Amazon in the video below.

Here is a summary of the approach:

  • Step 1: Ask clarification questions
    • Understand the goal of the system (e.g. sell ebooks)
    • Establish the scope of the exercise (e.g. end-to-end experience, or just API?)
    • Gather scale and performance requirements (e.g. 500 transactions per second)
    • Mention any assumptions you're making out loud
  • Step 2: Design at a high level then drill down
    • Lay out the high level components (e.g. front-end, web servers, database)
    • Drill down and design each component (e.g. front-end first)
    • Start with the components you're most comfortable with (e.g. front-end if you're a front-end engineer)
    • Work with your interviewer to provide the right level of detail
  • Step 3: Bring it all together
    • Refer back to the requirements to make sure your approach meets them
    • Discuss any tradeoffs in the decisions you've made
    • Summarize how the system would work end-to-end

To practice system design interviews, we recommend using Grokking the System Design Interview. You can both study system design basics and practice interview questions using that course.

3.2.3 Behavioral interview preparation

For behavioral interviews, we recommend learning our step-by-step method. For Amazon, it's particularly important that you are able to demonstrate some of Amazon's Leadership Principles as you answer behavioral questions.

Finally, a great way to practice coding, system design, and behavioral questions, is to interview yourself out loud. This may sound strange, but it will significantly improve the way you communicate your answers during an interview.

Play the role of both the candidate and the interviewer, asking questions and answering them, just like two people would in an interview.

3.3 Practice with peers

Practicing by yourself will only take you so far. One of the main challenges of coding interviews is that you have to communicate what you are doing as you are doing it. To get used to this kind of "thinking out loud" we strongly recommend practicing live coding interviews with a peer interviewing you.

A great place to start is to practice with friends. If you don't have anyone in your network who can interview you, then you can also find peers to practice with on platforms such as Pramp.

3.4 Practice with ex-interviewers

Practicing with peers can be a great help, and it's usually free. But at some point, you'll start noticing that the feedback you are getting from peers isn't helping you that much anymore. Once you reach that stage, we recommend practicing with ex-interviewers from top tech companies.

If you know a software engineer who has experience running interviews at Amazon or another big tech company, then that's fantastic. But for most of us, it's tough to find the right connections to make this happen. And it might also be difficult to practice multiple hours with that person unless you know them really well.

Here's the good news. We've already made the connections for you. We’ve created a coaching service where you can practice 1-on-1 with ex-interviewers from leading tech companies like Amazon. Learn more and start scheduling sessions today

SWE Interview Coaching

Any questions about Amazon Software Development Engineer interviews?

If you have any questions about Amazon coding interviews, do not hesitate to ask them below and we will be more than happy to answer them. All questions are good questions, so go ahead!

Applying for other companies? Check out our other guides for Facebook, GoogleMicrosoftLinkedIn, and Airbnb software engineer interviews.