Do you know that only about 2% of those who apply at Amazon get through? The tech giant has a pretty rigorous hiring process. The recruiters carefully select all the Amazon coding interview questions to test the overall abilities of the applicants.
To face the Amazon coding challenge questions, you’ll need a lot of practice, guidance, and the correct strategy. As the company receives thousands of resumes every year, you’ll need to ace your tech interview to get through.
If you intend to acing Amazon’s coding interview, you must adopt the right strategy. Without that, beating the stiff competition is an uphill climb.
In this article, we’ll look at the type of Amazon coding interview questions you can expect. These are the things we will discuss:
- The Complete Amazon Interview Process
- Different Levels at Amazon
- Amazon Coding Interview Questions
- Scoring and Evaluating System at Amazon Interviews
- FAQs on Amazon Coding Interview Questions
The Complete Amazon Interview Process
Before we get to Amazon coding interview questions, we’ll begin with everything you need to know about how Amazon conducts its interviews and what they’re looking for. Let’s jump right in!
How are the Profiles Shortlisted at Amazon?
The process of profile shortlisting at Amazon is as follows:
- First, the applications come from websites/job boards, and recruiters search profiles from social media and references.
- Then, L4/L5 initial automated filtering happens based on skills.
- Next, for all levels, the recruiters do manual shortlisting.
- Finally, before the initial conversation, the recruiter forwards the shortlisted candidates to the Hiring Manager (HM). They provide about 20-30 profiles per week to HM, and currently, 30% of sourcing is done by the HM. Amazon also makes use of the LinkedIn commons project.
Did you know?
At Amazon, a Hiring Manager creates a job opening based on new needs or for attrition replacement. Annual planning starts in July at Amazon and ends in October. In this plan, the increased headcount is approved based on business growth. In fact, each job opening is approved by the finance and recruiting team, boss, and super boss. There is also a system to track all open positions and their state.
What Is Unique About Amazon’s Interview Process?
For the most part, the Amazon interview process is similar to other FAANG companies. However, they have a couple of key rounds and certain Amazon coding challenge questions that make the interview process unique.
The Loop is centered around Amazon’s 14 leadership principles:
Unlike most other companies, in the Amazon on-site interview, the Loop is heavily centered around the company’s 14 leadership principles. Recruiters evaluate you against these leadership principles directly or indirectly at any on-site interview stage.
The presence of a Bar Raiser:
Amazon also has a special “Bar Raiser” round, where specially trained employees (known as Bar Raisers) gauge if you’re the right fit. The primary function of the Bar Raisers is to maintain the hiring bar high by seeking out only the best talent. They have a decisive say in the interview’s outcome, so if you ace the core technical rounds and Amazon coding challenge questions, you must pass the bar raiser round to lock an offer.
To become a bar raiser, an interviewer should have done 100+ interviews. The bar raiser has to undergo special training and shadow other bar raisers. The bar raiser may not be from the team you’d be joining, but they may be under the same VP org. The bar raisers evaluate if the candidate is better than 50% of the existing employees.
With the two major unique factors discussed, let us now look at the Amazon interview process in more detail.
Various Rounds at the Amazon Interview Process
While Amazon coding interview questions are a crucial part of the process, there are other two important stages. The Amazon technical interview has these three main stages:
- The initial phone screen
- The Amazon coding assignment
- The Loop
Before these stages, recruiters have the first round of conversations to check your communication skills, interest in Amazon, immigration, relocation, salary requirement, etc. Let’s now look at what happens in each of these rounds:
1. The Initial Phone Screen
This round happens with a recruiter from Amazon who will get in touch with you after your profile gets provisionally shortlisted for the role. The recruiter will ask you questions about your experience, core skills, and expectations from the role.
- A phone screen is done by someone mostly from the same team. For ICs, an L7 does it, and for managers, a manager does it.
- Position fit, leadership skills, and functional skills like design, coding, and people skills are checked here.
- In this round’s coding questions, an automated tool is used to evaluate.
You can also expect a couple of behavior-related questions in this round. At the end of the interview, the recruiter will set a date for you to take up some Amazon coding challenge questions.
For more details on Amazon phone questions and how to answer them, check out the “Amazon Phone Interview Questions” article.
2. The Amazon Coding Assignment
Depending on the role you’re applying to, the coding assignment happens either remotely or in person. For most developer positions, the coding assignment happens remotely. Considering the pandemic situation, Amazon decided that it would hold remote assignments monitored in real-time.
- The Amazon coding challenge questions involve solving 1-2 coding problems within a stipulated time. It usually happens on a coding interview platform or a Google Doc.
- The hiring manager evaluates your approach to solving the problems and how you go about arriving at the solution.
- At the end of the assignment, expect a few questions about the concepts you employed to solve the problem(s).
If your performance in the Amazon coding interview questions is satisfactory, a recruiter will get in touch with you to fix a date for the on-site interview.
3. The Loop
Amazon’s on-site interview, known as the Loop, is the final phase in the hiring process. Getting through this stage is significantly challenging as recruiters assess you on many aspects before making a hiring decision.
- For the interview, the Hiring Manager creates a panel of 4-6 interviewers, and each interviewer is assigned one functional area and 1-2 leadership principles. One of them is a bar raiser, who is nominated by the recruiter, and this interviewer is outside the hiring team.
- The panel consists of SDM, Sr. Eng. Manager, principal engineers. For SDMs, program managers/product managers are also there. Each panel member is at least the same level as the interviewing level.
Landing a software engineer job at Amazon is hard, given its rigorous interview process. Nailing it requires the right strategy and direction. Our “FAANG Interview Tips” is a good place to start your Amazon technical interview prep.
Amazon Interview Process for ICs Vs. EMs
For the on-site rounds, there are some differences between interviews of ICs and EMs:
Interview Process for ICs
For ICs, in each round, they’d likely ask you Amazon coding challenge questions and behavioral questions in any of the following combinations:
- Two behavior and one coding/DSA question
- One behavior and one system design question
- Three behavioral questions
In terms of questions asked to ICs at different levels,
- L4 doesn’t get system design questions, and for them, there’s very little focus on behavior. For L4, the focus is on the basics like conflict, adversity, etc.
- Starting L5, you get at least one system design question.
- The system design and behavior bar is high L6 onwards.
- For domain-specific positions like DE, DSc, and Embedded, coding is half DSA and half domain.
Interview Process for EMs
For EMs, the phone screen mostly involves experience and behavior. For each round, one behavioral and one system design or three behavioral questions are asked. The bar for system design and behavior is high from L6 onwards, and coding becomes less important.
The loop typically consists of the following rounds:
- Coding round: This round involves solving 1-2 Amazon coding interview questions around algorithms and data structures. The extent of your problem-solving skills is assessed in this round.
- Design round: Hiring managers evaluate your engineering design skills in this round. Your ability to design and work with scalable systems with low latency is assessed.
- Behavioral round: Behavioral interviews at Amazon are based on the company’s 14 leadership principles. The behavioral round is essentially built to test if your attitude and personality traits align with the company’s vision and goals.
- The bar-raiser round: Bar raisers are a group of handpicked employees trained to maintain the hiring bar at Amazon. Their primary role is to find the best candidates by assessing them against a set of predefined parameters. Bar raisers have a veto when recruiters make a hiring decision. If they deem you unfit for the role, you don’t get offered.
Note: Amazon tends to focus more on behavioral and design interviews for senior positions and coding interviews for junior positions. Additionally, coding interviews don’t have a veto while hiring for senior positions but design interviews have a veto for junior positions.
Different Levels at Amazon
Here’s a look at the levels at Amazon in Engineering and Tech PGM/Product Management, along with the job titles they stand for:
Amazon Coding Interview Questions
Amazon coding interview questions are focused on algorithms and data structures. Amazon doesn’t provide a question bank to interviewers, just guidelines. The interviewer asks questions about their experience. In the sections below, we look at Amazon coding interview questions from topics that feature in Amazon’s tech interview.
Amazon Coding Interview Questions on Arrays
Arrays are a popular data structure around which questions are asked in technical interviews. Below are some common Amazon coding interview questions on arrays:
- Given: Array A of size N
Task: Perform operations such as searching an element, inserting an element, and deleting an element by completing the functions. Also, all functions should return a boolean value. - Given: Array A of size N
Task: Print elements of A in an alternate order (starting from index 0) - Task: Write a code to find the minimum and maximum element in an array
- Given: Array Arr of size N
Task: Print the second largest element from the array - Given: Array A of size N of integers.
Task: Find the minimum and maximum elements in array - Given: An unsorted array arr[] of size N
Task: Rotate it by D elements (clockwise) - Given: A sorted array A of size N
Task: Delete all duplicate elements from A - Given: An unsorted array arr[] of n positive integers
Task: Find the number of triangles that can be formed with three different arrays elements if the elements were lengths of the three sides of the triangle. - Given: An array A of positive integers
Task: Find the leaders in the array (an element is a leader if it is greater than or equal to all the elements to its right) - Given: An array A of N elements
Task: Find the minimum index-based distance between two elements, x, and y - Given: An array A of N integers
Task: Find any 3 elements in it such that A[i] < A[j] < A[k] and i < j < k - Given: An array A of N elements
Task: Find the majority element in the array (a majority element in an array A of size N is an element that appears more than N/2 times in the array) - Given: A sorted array arr[] of distinct integers
Task: Sort the array into a wave-like array and return it — arrange the elements into a sequence such that a1 >= a2 <= a3 >= a4 <= a5 ... - Given: An array A[] of N positive integers
Task: Write a code to find the maximum of j - i, subject to the constraint A[i] <= A[j] - Given: An array nums[] of size N
Task: Construct a Product Array P (of the same size N) such that P[i] is equal to the product of all the elements of nums except nums[i] - Given: An array of size N and a range [a, b]
Task: Partition the array around the range such that the array is divided into three parts: All elements smaller than a come first; all elements in range a to b come next; all elements greater than b appear in the end - Given: An array A of size N (the elements of the array are distinct and are sorted)
Task: Find all pairs in the array that add up to a number K - Given: An array arr[] of N non-negative integers representing the height of blocks
Task: If the width of each block is 1, write a code to calculate how much water can be trapped between the blocks during the rainy season - Given: An array of integers
Task: Find the inversion count in the array (the inversion count determines how far away the array is from being sorted) - Given: An array arr[] of N integers
Task: Calculate the median
Amazon Coding Interview Questions on Strings
Strings are a popular data type used to represent text characters. Below are some Amazon coding interview questions on Strings to help you prepare for your Amazon tech interview:
- Given: String S
Task: Check if it is palindrome or not - Given: Two strings a and b consisting of lowercase characters
Task: Write a code to check whether the two strings are anagrams of each other - Given: String S
Task: Check if characters of the given string can be rearranged to form a palindrome - Given: String str
Task: Convert the first letter of each word in the string to uppercase - Given: String str containing only lower case alphabets
Task: Sort it in lexicographically-descending order - Given: Two strings, S1 and S2
Task: Write a program to merge them alternatively — the first character of S1 with the first character of S2, and so on — till the end of the string - Given: String S containing alphanumeric characters
Task: Find out whether the string is a palindrome or not - Given: String S
Task: Reverse the string without reversing its individual words - Task: Write a code to implement the function strstr. The function essentially takes two strings as arguments (s,x) and locates the occurrence of the string X in the string S
- Given: Two strings A and B
Task: Find if A is a subsequence of B - Given: Two strings s1 and s2
Task: Write a code to check if s2 is a rotated version of the string s1 - Given: Two strings of lowercase alphabets and a value K
Task: Write a program function that tells if the two strings are K-anagrams of each other - Given: Two strings A and B
Task: Find the characters that are not common in the two strings - Given: A string S consisting of lowercase Latin letters
Task: Find the first non-repeating character in S - Given: A string S
Task: Find the length of the longest substring with all distinct characters - Given: A string,
Task: Find the longest substring that is a palindrome in linear time O(N). - Given: A decimal number m
Task: Convert it into a binary string and apply n iterations. In each iteration, 0 becomes 01, and 1 becomes 10. Find the kth (1-indexing) character in the string after nth iteration - Given: Two binary strings A and B consisting of only 0s and 1s
Task: Find the resultant string after adding the two strings - Given: Two numbers as strings s1 and s2
Task: Calculate their product - Given: Two binary strings A and B
Task: Find the product of two strings in decimal value
Amazon Coding Interview Questions on Sorting
Sorting is a crucial topic for coding interviews. Below are some Amazon coding interview questions on sorting algorithms.
- Given: An array arr[] of size N
Task: Check if it is sorted in non-decreasing order - Given: A binary array A[] of size N
Task: Arrange the array in increasing order - Given: An array of size N containing only 0s, 1s, and 2s
Task: Sort the array in ascending order - Given: an integer N and a list arr
Task: Sort the array using the bubble sort algorithm - Given: An unsorted array of size N
Task: Use selection sort to sort arr[] in increasing order - Given: An array arr[], its starting position “low,” and its ending position “high.”
Task: Implement the partition() and quickSort() functions to sort the array - Given: An array arr[], its starting position l, and its ending position r
Task: Sort the array using the merge sort algorithm - Given: Two integer arrays A1[ ] and A2[ ] of size N and M, respectively
Task: Sort the first array A1[ ] such that all the relative positions of the elements are the same as the elements in the second array A2[ ] - Given: An integer array of which both the first half and second half are sorted
Task: Write a code to merge the two sorted halves of the array into a single sorted array - Given: An array arr of size n and an integer X
Task: Find if there's a triplet in the array which adds up to an integer X - Given: An array of n distinct elements
Task: Find the minimum number of swaps required to sort the array in increasing order - Given: An array A of integers
Task: Find three numbers such that the sum of two elements equals the third element — return the triplet in a container result
Amazon Coding Interview Questions on Hashing
Amazon coding interview questions quite regularly include problems that employ hashing. Here are some sample Amazon coding interview questions on hashing:
- Given: An NxN matrix M
Task: Write a program to find the count of all the distinct elements common to all rows of matrix - Given: Two arrays a1[0..n-1] of size n and a2[0..m-1] of size m
Task: Write a code to check whether a2[] is a subset of a1[] or not - Given: A set of N nuts of different sizes and N bolts of different sizes — there is a one-one mapping between nuts and bolts
Task: Write a code to match the nuts and bolts - Given: An array A[] of N positive integers, which can contain integers from 1 to P, where elements can be repeated or can be absent from the array
Task: Write a code to count the frequency of all elements from 1 to N - Given: Two arrays A and B of equal size N
Task: Find if the given arrays are equal or not - Given: An array of N integers
Task: Find the first element that occurs K number of times - Given: Two arrays A and B containing integers of size N and M
Task: Write a program to find numbers that are present in the first array but not present in the second array - Given: An array arr of N integers
Task: Find the first non-repeating element - Given: An array of strings
Task: Write a code to return all groups of strings that are anagrams - Given: An array N with positive numbers
Task: Write a code to find the largest subsequence from an array that contains elements that are Fibonacci numbers - Given: An array of N integers, and an integer K
Task: Find the number of pairs of elements in the array whose sum is equal to K - Given: An integer array and a non-negative integer k
Task: Count all distinct pairs with the difference equal to k — A[ i ] - A[ j ] = k
Amazon Coding Interview Questions on Recursion
Recursion is an important concept in technical interviews and can be a tricky area to master. Here are some practice Amazon coding interview questions on recursion for your upcoming interview.
- Task: Write a code to print a sequence of numbers starting with N, where A[0] = N, without using a loop, in which A[i+1] = A[i] - 5, until A[i] > 0. After that A[i+1] = A[i] + 5. Repeat it until A[i] = N
- Given: A round table of n persons
Task: Write a code to find out in how many ways they can shake hands such that no two handshakes cross each other - Given: n number of people in a circle and a number k, such that k-1 persons are skipped, and the kth person is eliminated
Task: Write a code to figure out the safest place in the circle - Given: A string s
Task: Remove all its adjacent duplicate characters recursively - Given: An image of size n*m, location of a pixel in the screen(sr, cc), and color nColor.
Task: Write a code to replace the color of a given pixel and all adjacent same-colored pixels with a new color, “nColor.”
Amazon Coding Interview Questions on Graphs and Greedy Algorithms
Graphs and Greedy Algorithms are extremely important concepts that you must master if you wish to ace Amazon’s technical interview. Here are some sample Amazon coding interview questions on Graphs.
- Given: Adjacency list of a bidirectional graph
Task: Write a code to return the adjacency list for each vertex - Given: A directed graph
Task: Write a code to perform breadth-first traversal of this graph starting from 0 - Given: A connected undirected graph
Task: Write a program to perform depth-first traversal of the graph - Given: A grid of size n*n filled with 0, 1, 2, 3
Task: Check whether there is a path possible from the source to destination (you can traverse left, right, up, or down) - Given: A square chessboard, the initial position of the Knight, and the position of a target
Task: Write a code to find the minimum steps required by the knight to reach the target position - Given: An adjacency list of a graph adj with V number of vertices and having 0-based index
Task: Write a code to find whether the graph is bipartite or not - Given: A 2D binary matrix A(0-based index) of dimensions NxM
Task: Find the minimum number of steps required to reach from (0,0) to (X, Y) - Given: A directed graph with V vertices (numbered from 0 to V-1) and E edges
Task: Find the number of strongly connected components in the graph - Given: A directed graph
Task: Find if a vertex j is reachable from another vertex i for all vertex pairs (i, j) in the given graph - Given: A weighted, undirected, and connected graph of V vertices and E edges
Task: Write a code
FAQs About Amazon Coding Interview Questions
Q 1. How long is the Amazon coding round?
The coding round consists of three questions that must be answered in three hours. The Amazon coding round is an essential component of the interview process. It evaluates a candidate's problem-solving abilities as well as their ability to tackle coding challenges using data structures and algorithms.
Q 2. How Long Does the Amazon Hiring Process Take?
The hiring procedure at Amazon takes roughly two weeks. It can, however, differ based on what role you've applied for and the number of interview candidates.
Q 3. Can I give Amazon interview on the phone?
The phone interview is the primary phase of your Amazon interviews. Over the phone, Amazon interviewers will ask you questions about your experience and skills. Amazon phone interviews typically last 30 to 60 minutes. Have an extra copy of your resume, paper, a pen, a laptop, and a working email account ready.
Q 4. Which language is used in the Amazon interview?
When applying for a tech job with Amazon, you are not required to know any particular programming language. However, proficiency in a major language is usually required for effectiveness. You must be acquainted with the syntax of programming languages, including Java, Python, C#, C/C++, and Ruby.
Q 5. How to answer Amazon interview questions?
Practice with the STAR technique. Consider how your examples relate to the Leadership Principles. Make certain that every response has a start, a middle, and an end. Discuss the challenge or problem, your actions, and the result.