THE AMAZON INTERVIEW.
TECHNICAL INTERVIEW PROCESS
Looking to land a job at Amazon but don’t know what the process looks like? Well, you’ve come to the right place. Detailed in this post is a look at the timeline of the interview process, preparation guidelines, and what’s different or unique about Amazon’s hiring process as opposed to other tech companies.
(Keep scrolling FOR A FULL WRITEUP with DETAILS)
THE AMAZON INTERVIEW.
The workforce at Amazon is more than half a million strong and they’re hiring at a rapid rate, so if you’re looking to join the tech behemoth, Amazon, then now is the time.
Amazon has a unique hiring process that is unlike most major tech companies. It’s efficient (4-6 weeks), and It places a heavy emphasis on culture (leadership principles) and in particular the Bar Raiser (mentioned below).
Amazon also uses a “Level system” for hiring new talent. There are 12 levels that are based on seniority, salary, and experience, where levels 1-3 are hourly wages and levels 4 and up are salary. For software engineers coming right out of college, you’ll most likely start at level 4 and these candidates are only hired through university recruiting. If you have a little more experience you may fall under level 5 or 6 which are generally mid-level managers and are hired directly.
Now for the interview process and a deeper dive into what makes Amazon’s hiring process unique.
BEFORE THE INTERVIEW
Make sure you’ve updated your resume and in particular your LinkedIn profile; use deliverables and metrics when you can as they are concrete examples of what you’ve accomplished. It’s extremely common for an Amazon recruiter to reach out over LinkedIn. It doesn’t hurt to submit your resume to Amazon’s job site, but typically recruiters are browsing LinkedIn for a candidate.
Do your LinkedIn homework as well. See who the recruiters are, send them a connection request, and express an interest in a particular role.
If an Amazon recruiter believes that you are a good match they will reach out to you (via email or LinkedIn) to set up a time to chat.
Here is our guide on how to prepare for the actual coding interview with a 12-week plan.
CHOOSING YOUR LANGUAGE
Amazon does not require that you know any specific programming language before interviewing for a tech position. However, you should be familiar with the syntax of your preferred language such as Java, Python, C#, C/C++, or Ruby. You should also know some of the languages’ nuances, such as how memory management works, or the most commonly used collections, libraries, etc. It’s best to choose one you’re most comfortable with and stick to it.
Phone screening with a recruiter
This will be a light 15-30 minute call where the recruiter will gauge your interest level and determine if you’re a good fit. In some cases, the recruiter will touch on a few technical aspects, but it won’t be a deep dive as it’s not their profession — they basically want to get an idea of your skills in relation to the position.
Typical questions might include your past work experiences, your knowledge of the company/position, salary, and other logistical questions such as:
Can you walk me through your work history?
What has been your most challenging project? (expect a probing question after)
What salary do you expect in this position?
Make sure you have around 7-10 questions ready that you can ask the interviewer as you’ll most likely only have time to ask a few. Sample questions you can ask are:
What teams or individuals would I be collaborating with on a daily basis?
What does my day-to-day look like?
How big is the team I will be on and/or managing?
One last note: Don’t be shy about applying to a couple roles. Recruiters will often consider you for multiple roles as they see fit, so keep an open mind and browse through a few that are interesting to you and that align with your career path.
THE ONLINE ASSESSMENT
Once your interview with the recruiter is finished they’ll administer you an online coding test as well as a debugging test and an aptitude test. The debugging section will have around 6-7 questions (around 30 minutes to solve) and the aptitude section will have around 14 multiple choice questions which focus on concepts like basic permutation combination and probabilities.
The coding test will consist of two questions and you’ll have about 1.5 hours to complete it; the test may be through Codility, HackerRank, or another site. You can expect some easy to medium questions which will typically be algorithm related. Sample questions you can expect:
Reverse the second half of a linked list
Find all anagrams in a string
Given a sorted circular linked list of Nodes that store integers and a new Node, insert the new Node into the correct position.
MORE PHONE INTERVIEWS
Once you’ve made it past the first interview, the recruiter will schedule your next round, either with a hiring manager or a manager from the team you’re looking to join. At this stage in the process there will be one to three more interviews.
This is where they’ll ask you questions directly related to your resume, as well as data structures, algorithms, and other various coding questions that apply to the position. Expect to either write or review code, or demonstrate other technical knowledge.
Regardless of how you thought the interview went, you must always ask what the next steps are.
If you have successfully made it through the series of phone interviews, you’ll be invited for an on-site visit. At Amazon, this full day of on-site interviews is referred to as the “The Loop”.
When you arrive, you’ll meet with 4-6 people (your future teammates) throughout the day. You can expect half of these interviews to be technical and the other half to assess your soft skills.
Be prepared to work through questions on a whiteboard and discuss your thought process, as your interviewer will look at how you approach problems, what questions you ask, and other approaches you may be able to take. In many cases, your interviewer is not so much concerned with whether or not you solved the problem (which is important) but rather how you think about the problem. It’s important to articulate your thought process throughout.
Concepts that Amazon loves to test on are data structures and algorithms. For candidates with five years of experience you may have a few systems design questions which you'll have to work out on a whiteboard.
For data structures, you will be expected to know the runtimes for common operations as well as how they use memory.
For algorithms, it’s best to be familiar with traversals, divide and conquer, breadth-first search vs. depth-first search and understand the tradeoffs for each. Knowing the runtimes, theoretical limitations, and basic implementation strategies of different classes of algorithms is more important than memorizing the specific details of any given algorithm.
Data structures you should know:
Algorithms you should know:
- Graph Algorithms
Breadth first search
Depth first search
Searching and sorting algorithms
Divide and conquer
THE OFFER / NO offer
Generally, you’ll hear back from a recruiter within a week after your interviews.
If you didn’t get an offer, Amazon will give you a quick call to let you know, but don’t expect any feedback. You’ll most likely have to wait another six months to re-apply, but if the recruiter thinks you’d be a good fit on another team then they’ll try and get you another round of interviews.
Avoid waiting another 6 months to apply by checking out our 12-week guide on preparing for the coding interview.
On the other hand, judging that your on-site interviews went well, they’ll reach out to you, at which point they’ll make you an offer, send you some paperwork, discuss details and any further questions you have.
HIRING FOR TEAMS
Amazon hires for teams and as such you will be interviewed for the team you’re looking to join, as opposed to being managed centrally. What this means for you is that if you’re rejected by one team, it doesn’t mean you won’t be brought on by another. Keep your options open; it’s a good idea to have a few potential positions in mind so if one doesn’t go your way, then you have the opportunity to join a different team.
Amazon’s interview process is deeply rooted in their leadership principles and you will be evaluated on them by the team and an individual known as the “Bar Raiser”. There are 14 leadership principles that you should be aware of and try to embody throughout your loop and they are:
Invent and simplify
Are right, a lot
Learn and be curious
Hire and develop the best
Insist on the highest standards
Bias for action
Have backbone; disagree and commit
Typically the hiring manager will assign a few leadership principles to each interviewer on which they evaluate the candidates which will look like this:
Design interview: Think big and insist on the highest standards
Hiring manager: Earn trust and have backbone; disagree and commit
Coding interview: Bias for action
THE BAR RAISER
A Bar Raiser is an interviewer at Amazon who is brought into the loop to be an objective 3rd party — they’re essentially experts in evaluating you against the leadership principles mentioned above. Because they’re not directly associated with the team you’re looking to join, they see aspects of a candidate that the direct hiring team might miss. It’s important to mention that the Bar Raiser has complete veto power over whether or not you will be hired.
Bar Raiser’s ensure that they hire someone who is in the top 50th percentile of candidates for that level. That's how the bar increases with each new hire and hence the name "Bar Raiser".
Every interviewer evaluates the candidate on leadership principles and technical skills and gives you the rating on the following criteria
1. Raises the bar
2. Meets the bar
3. Lowers the bar
What does this mean for you?
You may be going into a technical interview, but culture is just as important to Amazon. So, be yourself and take every part of the interview seriously.
How can I tell who the Bar Raiser is?
In short, there isn’t really a surefire way to tell. However, Bar Raisers typically won’t have the domain knowledge that a software engineer would have. Bar Raisers will typically ask about your work experience and dive deep into the topic to gauge your leadership skills, decision-making abilities, etc.
SAMPLE AMAZON interview questions
Over the phone:
Given an array of integers (+ve and -ve), give a contiguous set of numbers that add to 1
Check if a given tree is a BST or not
Print all the cycles in a directed graph
Convert a Binary tree into another binary tree whose in-order traversal gives a sorted list
Boundary traversal of a binary tree
Program for n’th node from the end of a Linked List
Invent and simplify: Tell me about a time when you created an innovative product.
Bias for action: Describe how you would handle a busy situation where three people are waiting for help from you.
Deliver results: Tell me about a time you overcame an obstacle and delivered results.
HOW TO BEST PREPARE FOR YOUR INTERVIEW
In our experience, it’s best not to try to memorize specific questions. There are no silver bullets.
The questions that companies ask are always changing, because companies of this size are always trying to stay ahead of the curve and try new things. The questions you face will also depend on the team and the hiring manager.
Instead, it’s best to work your way through the fundamentals so you understand the underlying concepts and can answer even new types of interview questions with confidence.
Need help preparing for the interview?
Check out the Definitive Interview Prep Roadmap,
written and reviewed by real hiring managers.