How to Prepare for an Amazon Interview? My Amazon Interview Experience


algorithm How to Prepare for an Amazon Interview? My Amazon Interview Experience amazon interviews

algorithm

Amazon is one of the top IT/technology company in the world. It is huge. Many excellent software engineers want to work for Amazon and so do I. I applied to Amazon three times in total. THe first two times were not successful and at amazon.jobs it says “was not selected”.

My Amazon Interview Experience

I found the Amazon jobs advertisements on LinkedIn, and the first two were based in Cambridge. The third time, I applied an Amazon jobs in London, which is a fixed-term contract.

Luckily the third time, Amazon emailed me Saturday midnight (it was from Amazon.com USA technical recruitment team), in the email, I was asked to do an online coding exercise within 7 days.

There were two puzzles/problems to solve. Once started, you can’t pause it, so be prepared to find a 2 hour slot that you are free from disturb so that you can focus on solving them.

These two problems are real world problems i.e. you don’t expect straight text-book questions e.g how to do a quick sort. Instead, you need to read and understand the problem and solve them using proper algorithms.

For each problem, two sample inputs and corresponding outputs are given. You can choose any programming language as you wish. You type in your solution in the browser (coding editor). You will need to compile your code and submit your solution once you are happy with. However, once compiled and run in the browser, your solution will be submitted for a complete set of test cases around 30. And you will be notified if your solution passes all of them or fail at one of them.

I finished two questions within 1 hours (you are given maximum of 1.5 hours to solve them). You then can take a break of 10 minutes if you wish, and then followed by a few questions asking you the approach to solve the puzzles (time complexity). The last part is the survey. The online coding interview is conducted by third party that do not belong to Amazon.

I was contacted on LinkedIn by one of the Amazon technical recruiters. She asked me if I am interested in Amazon ACSC (Amazon Catlog Selection Control?) job in London. I told her that I just finished the coding exercise that morning and later she invited for a interview in London because ACSC would come to London for 3 day event. However, I would need to withdraw the application from amazon.job and she said the ASCS job would be permanent, which is better.

The technical recruiter sent me a few interview tips and advised which Computer Science knowledge to review. This includes data structures, algorithms, design pattern, cloud computing etc.

uk-IT-interview How to Prepare for an Amazon Interview? My Amazon Interview Experience amazon interviews

uk-IT-interview

I prepared for two weeks and went to London for the Amazon interview which took place from 2PM to 7PM (they also had morning sessions from 8 to 1PM).

On the day, I was invited to a small meeting room and on the door, it says “Welcome, [My Name]”. One of the interviewer says “you are going to stay in this room for the rest of the day and you are free to get a drink or food/fruits in the kitchen…”. Amazon has provided free food/fruit/drinks but I didn’t take a chance I guess I was a bit nervous.

Each interview took around 40 minutes followed by 10 minutes question time and 10 minutes break. The first around, there were two interviewers one of them was like getting familiar with the interviewing process. The last round was the manager you might work with if you are successful. The second round, it was basically all the behaviour questions where the interviewer asked you all the stories to see if you are a culture fit e.g. describe a time that you don’t agree with your manager and how did you cope with that. There are no right/wrong answers but you have to prepare at least 10 stories beforehand – you don’t want to tell a same story to all interviewers (I guess they will meet later and share the answers).

I was asked to write the code on the paper and the interviewers will meantime type on their laptop. And they took away your answer sheets at the end of the interview.

Before you arrive at Interview, you need to print out and sign a NDA agreement. But I think it would be OK if you don’t because they will give you a copy to sign onsite.

Each interview will ask you behaviour questions apart from technical questions but each will focus on different aspects. In general, you need to be very familiar with data structures e.g. trees, hash tables, queue etc. You also need to design some prototypes that can be scalable (Amazon deals with huge amount of data every day and being scalable is something they are very interested in).

I finished my interview almost exactly at 7:00PM when I was almost exhausted. Three days later, I was called by the technical recruiter and unfortnately Amazon would not give any feedbacks due to legal issues.

How often can you re-apply to Amazon if your job interview was not successful?

I was told that I could apply again in 12 months.

Does Amazon Reimburse Your Interview Expenses?

Big companies will reimburse your expenses – and Amazon did reimburse my trips to London including means ($60 maximum) very quickly after I completed and sent back the form.

How to prepare for Amazon Interview? My Amazon interview tips

  • Refresh your programming skills – trees, binary trees, hash set, hash tables, priority queues, stacks, BFS, DFS ..
  • Write your code on paper or whiteboard: Writing code on whiteboard is different than writing code on computer with the IDE help.
  • Prepare at least 10 stories for behaviour questions. You don’t want to fail your interview because you are considered not a culture fit.

Amazon Interview Tips

The phone interview and onsite interviews are comprised of the following components:

  • Intro
  • Behavioral Q’s
  • Problem solving coding exercise – Bulk of Interview
  • System Design
  • Q&A

Competency Assignment:

  • Functional Competencies {Coding, Problem Solving}; LPs {Dive Deep, Delivers Results}
  • Functional Competencies {Coding, Data Structures & Algorithms}; LPs {Insists on Highest Standards}
  • Functional Competencies {Component Design, Design patterns}; LPs {Invent & Simplify, Customer Obsession}
  • Functional Competencies {Sub-system Design, Architecture}; LPs {Are Right a Lot, Think Big}
  • Functional Competencies {Technical Leadership & Influence}; LPs {Ownership, Bias for Action, Disagree and Commit}

Assessing for:

  • Data structures (at least a few – deep understanding and can apply)
  • SDE foundations: CS fundamentals, coding & problem solving – candidate can translate solutions to working code
  • Design (scale & complexity – System design fundamentals)
  • Overall ability to influence technically & through others
  • Leadership Principles

Things to remember when answering problem solving/Coding Q’s

When given a question:

  • Clarify requirements, state assumptions
  • Take direction/hints well
  • Solve the problem
  • Take a reasonable amount of time

When coding:

  • Find your bugs
  • Talk about edge cases
  • Test your code
  • Use language idioms correctly
  • Keep it simple considering time constraints
  • Is it correct? Does it Work? Is it Efficient?

System Design

  • They will likely ask you about your experience – What is the most innovative system you have built and why? What was your level of ownership?
  • Then there will be a real world problem to solve where they want you to think big but narrow down to provide solution in 30 minutes. Think of the following:
    • Availability, performance, reliability, scalability, manageability, cost
    • Ambiguity, Features, Component Architecture (design) high level
    • Component details (dive deep) what data base do you use – non-relational? Relational? Why would you chose? Do you really understand?
    • UI customer facing, API/ Interface/ contract, Compute/ data store

Analysis

Where are bottlenecks – scalability Q’s – How to make it more scalable and handle 10x amount of the traffic? How to support fail-over?

These questions will test your ability to solve a technical problem. If you are rusty, you should study up on:

  • Trees (binary/N-ary trees, tree symmetric (inverse image), tree traversal, sorting trees, prefix tree, radix tree)
  • hash maps, stacks/queues/heap/priority queue
  • link lists/reverse link lists (space vs time)
  • recursion/recursive strings
  • binary search
  • Arrays – 2d/3d
  • graphs/graph traversal
  • Big O notation

Some tools you might find useful to study up for the coding portion include:

Things to remember when answering our behavioral questions using our Leadership Principals

For the behavioral questions, you’ll want to read through the leadership principals to become familiar with them (you don’t need to memorize them). Have a few specific examples prepared that you can potentially use to address questions like the examples listed below. Be prepare to provide examples of complex projects you’ve worked on recently or in the past. You will need to be prepared to speak to projects that went really well and that you were able to deliver results, BUT you will also want to be able to speak to examples where maybe you failed or something went wrong, and what did you do?

amazon-interview-star How to Prepare for an Amazon Interview? My Amazon Interview Experience amazon interviews

amazon-interview-star

Here are some example Q’s that tie into our Leadership Principles:

Insists on Highest Standards

Tell me about a time when you have worked to improve the quality of a product / service / solution that was already getting good customer feedback?
Tell me about a time when you have been unsatisfied with the status quo. What did you do to change it? Were you successful?

Deliver Results

Tell me about a goal that you set that took a long time to achieve or that you are still working towards.
Give me an example where you were not able to deliver on time.

Customer Obsession

Let’s talk about a situation where you looked at requirements, and data to decide on a design/implementation. (They want you to be customer data focused)

Dive Deep

Tell me about a problem you had to solve that required in-depth thought and analysis? How did you know you were focusing on the right things? (Most in-depth relate to architecture, exploring different use cases)

Invent & Simplify

Tell me about a time you took a big risk – what was the risk, how did you decide to do it and what was the outcome?

Are Right A lot

Tell me about time when you were faced with a challenge where the best-way-forward was not “clear cut”. How did you decide the best-path-forward?

Think Big

Tell me about a technical innovation you came-up with that helped to move your team faster. What was the problem and what did you do?

Ownership

Example to a new feature that you drove?

Bias for action

Describe a situation where you made an important business decision without consulting your manager. What was the situation and how did it turn out?
Can you tell me about a time you had to work against a tight deadline and did not have time to consider all the options?

Disagree and commit

Give me an example where you pushed back to higher management?

Amazon Interview Little Tips

  • Be prepared to discuss technologies listed on your resume.
  • Please ask clarifying questions before you start to solve. If that information isn’t available, focus on how you would attempt to solve the problem given the limited information you have. Often times at Amazon, we have to make quick decisions in the absence of all of the relevant data.
  • “Why Amazon?” Please reflect on what motivated you to pursue a career with Amazon and be prepared to speak to it.
  • Ask Q’s – It’s also appreciated when a candidate has put thought into a few questions for the interviewer. It goes a long way when you’ve taken the initiative to research the company prior to your interview.
  • Avoid rambling and be concise. If you are unsure or don’t know, be honest with the interviewer but let them know you’ll give it your best try. Ask if you are on track or going in the right direction. Take hints/direction well.
  • Take ownership in your work by talking about YOUR accomplishments – speak in terms of “I did this” vs “We did this”. If you need to share an example of your team’s work, be sure to clarify your contribution.
  • At Amazon, we love data. Use specific number/data points as often as possible (% growth or $X cost savings, etc.)
  • Review Amazon Leadership principles. There is no need to memorize the principals verbatim or mention then but we recommend making sure you are familiar with the leadership principals and how they relate to the Amazon corporate culture.

How to Answer the Behaviour Questions in Amazon Interview?

The templates for answering the Amazon behaviour questions are:

  • S – Situation: Here was the situations that I was facing…
  • T – Tasks: Here were the tasks (or problems) that I was given….
  • A – Actions: Here were the actions that I took …
  • R – Results: Here were the results…

You may also like: 我的AMAZON面试经历与经验之谈

–EOF (The Ultimate Computing & Technology Blog) —

GD Star Rating
loading...
2746 words
Last Post: Hunting Down The Mythical High-Quality Code
Next Post: How to Solve Adsense Ads Showing Blank Yellow Block - by Adding the Site to the Verified List

The Permanent URL is: How to Prepare for an Amazon Interview? My Amazon Interview Experience

Leave a Reply