You have just been called for an interview with AWS for Software Development Engineer role. You will receive an email from our interview scheduling team asking you to provide your availability. Kindly reply back to that email with a minimum of 5 time slots in next 1-2 weeks. Once the interviewers confirm their availability, the scheduling team will share the final interview date and schedule with you. In advance of your interview I wanted to provide you with this the following interview preparation material. 

Interview Preparation Sessions: 

We are holding live Phone Interview Group Preparation Sessions every Tuesday for your benefit in order to give you a further in depth insight for your upcoming interview. We strongly recommend that you join the Phone Interview Preparation sessions below which are led by our EMEA Recruiters where they go through the tools you will use during the interview, top tips, things to avoid and common mistakes.

Preparation Session registration Link: https://app.brazenconnect.com/a/aws-ta/s/aogbK/next

Date & Time: Every Tuesday at 3:00 pm (United Kingdom Time) except for public holidays

We highly encourage you to join the group preparation call, however, feel free to reach out to me directly if you cannot attend this session and we can discuss in advance. 

Post Interview:

We will email you the results of your interview within 2-5 business days.

Phone Interview Overview:

The phone interview is a 60 minute collaborative conversation with an engineer. It will consist of coding, system design basics and behavioural questions surrounding the Amazon Leadership Principles. The interview will be broken down into 3 parts (the order of these parts may vary, depending on the interviewer):

Technical Interview (Pair programming) 

The first part of the interview will be solving a problem to evaluate your knowledge of Computer Science Fundamentals.  You will be given a small algorithmic problem to solve in any language of your choice. The second part is an open-ended question to assess your system design knowledge. It is a collaborative interview where you will approach the task with your interviewer. Your interviewer will be judging your approach, so please think out loud and share your thought process as you go. Please also ensure that you ask clarifying questions before you start trying to solve the problem. Please watch the following video which is an overview of how to approach the Amazon coding interview : https://www.youtube.com/watch?v=mjZpZ_wcYFg

Here are some practice questions: https://www.educative.io/blog/crack-amazon-coding-interview-questions

Preparation:

i) Data Structures & Algorithms  & Problem solving 

One of your technical interview will involve solving a small algorithmic problem in a language of your choice. Ensure to ask clarifying questions before tackling it.

live code link will be provided to you in your interview schedule email. You are expected to find a solution for all cases. You can discuss a brute force solution but only to get familiar with this problem. It would be expected you would discuss the solution, time and space complexity. It’s important to explain why the data structures is being used and think out loud when approaching the solution. We’re assessing your approach, so it’s very important to think out loud so the interviewer can understand your thought process. 

We recommend brushing up on your Data Structures, there is some great practice material further down this page. Part of solving the problem should involve making trade-offs between data structures, implicitly or explicitly, and part of the problem should involve using the data structure to implement an algorithm. You should also be able to justify your choice of data structure by demonstrating your knowledge of the underlying workings of the data structure. They will be looking at which data structures you choose? For example Sets, Lists, Arrays, Classes,  big-O, design patterns, Queues, Stacks, Hash Tables, and Binary Trees. They are looking at whether you are demonstrating the ability to learn and effectively use a new data structure outside of this list that is considered bar raising.

Part of solving the problem should involve making trade-offs between data structures, implicitly or explicitly, and part of the problem should involve using the data structure

to implement an algorithm.

Make sure you are always communicating the ‘why’ behind every decision so your method is easy to follow. Check out this official Amazon YouTube link for an example on how to approach this problem. https://www.youtube.com/watch?v=aOu7BaKgnMc 

We recommend you check out some online material such as Hash TablesAlgorithmsData Structures.

Here are some tutorials to help you practice your skills in Data Structures. (You don’t need to prep the “Advanced Data Structure”  section though, unless you really want to)

ii) Logical and Maintainable code

This is another topic you will be evaluated against. You will be asked to look at an ambiguous situation , ask questions and write live code to attempt to solve the problem. 

iii) System Design

This an ambiguous question where you will be given a situation where you need to improve the performance of a service/application. You will need to ask clarifying questions to understand what is being asked and then it will up to you to describe how to make it highly, available, scalable and performant.

The questions are left open ended so you can describe what areas you are familiar with. You will be asked question around performance and scalability. Any knowledge of dealing with caches or adding hardware would be beneficial.

System Design: https://www.youtube.com/watch?v=t5M3ttm9c8Y

Information about the Amazon interview experience can be found HERE as well as tips on how to prepare for Technical Interviews, including videos with insights into preparing for the System Design Interview and the Amazon Coding Sample

  1. Behavioural Questions & the Amazon Leadership Principles

To assess what other companies might call “cultural fit” at Amazon, we evaluate all candidates against the 16 Leadership Principles. They are our values, such as: Deliver Results, Dive Deep, Insist on High Standards and so forth. These aren’t values that we put on the wall and ignore, they are the way we run the business, how we make decisions, and how we assess our candidates and employees consistently. They are a blueprint of the culture of Amazon.

Our interviews are rooted in behavioural-based questions which ask about past situations or challenges you’ve faced and how you handled them, using Leadership Principles to guide the discussion. You will be asked 1 - 3 leadership principles style of questions in your phone screen interview. In order to assess you on this fit, your interviewer will ask you questions surrounding each principle.

For example, for ‘Deliver Results’ you may get a question like: “Tell me about a time when you delivered a project whilst working to a tight deadline”. We’ would encourage you to take some time to look through the Leadership Principles. After you have familiarised yourself with them, try to think about a time in your career where you’ve demonstrated each principle, as well as a time when you did not. Remember, we have a vocally self-critical culture and we don’t mind failure at Amazon so don’t be afraid to talk about your mistakes!

We are looking for Data Driven Decision making in your answers so providing numbers/metrics to back up the actions and outcomes in your example are crucial for a successful answer. Without data to back up your answers it will be very difficult for the interviews to assess the measurable successes in your story. 

Please try to answer these questions using the STAR format – Situation, Task, Action, Result and include as much metrics and data points to show the outcome. We are looking for an example that has scale, scope and complexity. For example: How did you impact customers and your team? What exactly did you drive and contribute towards and what was the metric before the situation and after your impact. N.B. make sure that every story has a concrete result, e.g. time to market was reduced by 2 weeks, sprint cycle was reduced by 2 hours, £5000 cost saving etc. We are looking for an example where you went above and beyond the norm in order to calibrate the effectiveness for this Leadership Principle. Include data point to show the successes. Visit this video link for more practice: https://www.youtube.com/watch?v=CpcxVE5JIX4

Although you won’t be asked about all of Leadership Principles during your phone interview, we will go into more depth during the onsite interview, so any preparation you do now won’t go to waste. 

  1. Questions (around 5 minutes)

The last section will be an opportunity for you to ask questions. Your interviewer will be an engineer from the AWS team, so you can be fairly specific with these questions. I would prepare at least 3 or 4.

There are some really good articles online, so I suggest exploring some blogs and forums from past candidates too. This is an article from a respected tech interviewer at Amazon which could be helpful: https://www.linkedin.com/pulse/20141120061048-6976444-ace-the-coding-interview-every-time

Other Resources

SDE Interviewing at Amazon:

https://www.amazon.jobs/en/landing_pages/phone-interview

Amazon Leadership Principleshttps://www.youtube.com/watch?v=CpcxVE5JIX4
SDE Interview Coding Example:https://www.youtube.com/watch?v=yKz2kPip4sg
Amazon Coding  Example:https://www.youtube.com/watch?v=mjZpZ_wcYFg
Data Structures and  Algorithms Video:https://www.youtube.com/watch?v=aOu7BaKgnMc
Data Structures and Algorithms overview:https://www.amazon.jobs/en/landing_pages/p-software-development-topics
Amazon  System Design Prep:https://www.youtube.com/watch?v=gf8R7sgme6o
Full breakdown of SDE onsite prep:https://www.amazon.jobs/en/software-development-interview-prep?cmpid=ECOTOT700005B#/
Additional resources for algorithms and data structures:Our Engineers recommend some reading: The Algorithm  Design Manual (Steven Skiena) and Cracking the  Coding Interview. We recommend you check out some online material such as Algorithms, Data Structures

Please let me know if you have any questions I will available via email  or if you’d like we can set-up individual call - if not, best of luck!