Amazon Interview Experiences

Recruiter Approached through LinkedIn
The recruiter reached out to me on LinkedIn and let me know about the available positions with the team. After a brief call with the recruiter I was sent a 90 min coding test of 2 questions. 
Coding Round & Preparation:
I find timed coding tests pretty intimidating and I think they are also not the best way to screen people, too many ways for false positives and false negatives, would have preferred a phone interview. But after a month long of practicing at least 2 questions a day on leetcode helped me be ready for any coding challenges. Hackerrank is also another great resource for this.

But there is also a trick here which I found out of sheer luck. I went through dozens of reviews on glassdoor and I found another Chinese website where people post reviews/interview questions (thanks a lot google translate!). Apparently Amazon has a set of questions (I believe 5) which they use every month. 

Anyone who takes the coding test would get 2 of those 5 questions. I didnt want to take any chances so I found out those 5 questions that were asked previously in that month and practiced and wrote solutions for all of them. And on the day when I decided to take the test, I was gladly surprised to see 2 very familiar questions. I wrote code for both of them in about 30 mins but to my dismay one of the problem passed only 1 of the 5 test cases.

I spent next hour trying to debug but I ended up passing only 2 of the 5 before the test got automatically submitted. I was disappointed and didnt have much hopes. 

Teliphonic Round
After couple of days the recruiter sent an email asking for 15 min technical screen. It was the same recruiter who called me earlier and this time was asking data structure questions as a technical screen. The questions were pretty basic though like HashMap vs HashTable etc.

And after the call I was sent an invitation for the onsite interviews. I had previously received Amazon offer which I declined and I think because of that I had only 4 technical rounds this time (Or maybe they changed the process and made it shorter now?)

First Round:
On the day of the onsite the recruiter received me at the lobby and took me into a small conference room. The first round was with a hiring manager and he asked me many behavioral questions for almost 15 mins. 

All the questions were in a way related to the Amazon leadership principles so be sure to write stories for each of them and prepared before onsite. And then he asked me one dynamic programming question which was a variant of max subarray problem but he had put many conditions to get the subsequence so the question is not exactly the same. 

Although I did end up solving the problem and writing the code but I took way too many hints and I thought I messed up. 

Second Round:
The second round was also by an engineering manager who asked me behavioral questions for first 10 mins and then another dynamic programming question. I was able to solve it fast and thankfully he was very impressed. Since we had another 10-15 mins time he asked me to write object oriented design of a parking lot. I had just studied that problem on CTCI book so I was about to write the same class design but then he gave me extra conditions like electric chargeable parking space etc so I ended up doing a very different solution from that of CTCI book. Nevertheless he was clearly happy with my class design.



Third Round:
The third round was with a senior engineer who asked me to design an ArrayDeque data structure. I wasn't familiar with it so she first explained the requirements and I had to write 4 functions for that data structure like get(index) etc.

Fourth Round:
The fourth round was with a principal engineer who also asked me to design a conceptual datastructure for a stack of plates. This question seemed to be developed by him on his own so I won’t reveal the details but it involved multiple stacks. I had to write similar functions of a stack like pop(), push(), peek() etc for this datastructure.

Head Recruiter:
All the interviewers were very friendly and gave hints whenever I seemed stuck.
I received a phone call the next morning from a (different) head recruiter and told me of the decision. 

Next Day:
The next day I was given a verbal offer on the phone with total compensation more than I asked for. They gave me a base pay more than my other offer I received the same week. Over the weekend I wrote a succinct email negotiating for better signing on bonus (I gave a number I wanted) and they not only gave me the bonus I asked for, they even increased my base pay (Always negotiate! And that single email could be the most worthy email you would write that year)

Advise
Before you start the interview process I would advise you to finish off the CTCI book first (For Amazon concentrate on 
1. Arrays, 
2. LinkedLists, 
3. Trees and 
4. Graphs, 
5. Dynamic Programming chapters)

Before onsite write down the stories from your previous experiences (school or professional) about each of the Amazon's leadership principles. These are very important. And keep practicing coding on leetcode or other online sites. Good luck!

Questions Asken in Interview:
1. max subarray problem
2. HashMap vs HashTable
3. Behavioral Questions
4. design of a parking lot
5. design an ArrayDeque data structure
6. design a conceptual datastructure for a stack of plates

Comments