I wanted to provide my experience about interviewing with Amazon. I thought it might help people preparing for their interviews in the upcoming days.
Phase 1
It all started back in the month of May. I was first contacted by recruiter and then was sent a link to the Online Assesment by the recruiter. The questions were from
https://leetcode.com/discuss/interview-question/344650/amazon-online-assessment-questions/425394
There were 2 problems as per the standard and you would get 90 minutes to solve it.
I got
Phase 2
I got a call from a recruiter that I moved on to the next round and had a call with him for 15-20 minutes. We talked about my past work history. Nothing technical here.
Phase 3
On-Site Interview process (All were virtual)
There were totally 4 rounds of 1 hour each. There were 3 technical (Algo and Data Structure) and 1 OOD Design question. Typical format was 20-25 minutes of LP and 30 minuts of coding and last 5 minutes for asking questions.
All the behavioral questions for every round was almost from here
https://leetcode.com/discuss/interview-question/437082/Amazon-Behavioral-questions-or-Leadership-Principles-or-LP
Note: To prepare for behavioral round try to make at least 2 experiences of LP. You can use those experiences to tackle the questions, and be prepared for a lot of follow-ups.
Round 1
Technical Question : Similar to word search https://leetcode.com/problems/word-search/ . But the catch was instead of searching for the word, you had to find out the valid words from the given 2D letter input. The way he asked the question was quite vague, so I had to keep asking him some questions. Finally, did DFS and backtracking to send each and every word to determine whether it is a valid word or not. I was told to assume that ther would be a isWord function which can let me know whether it is a word or not. I was asked what would you use to implement the isWord function ? I told him that I would use Trie. Overall, this round was ok.
Round 2
OOD question round. 4-5 behavioral questions and then the
Question:
Design a online restaurant order system.
Was already given the use cases by the interviewer. What he wanted from me was, how would I go about designing the system? I was really communicative about my design and made all the necessary classes and functions to do the work. Overall, it was a high-level design and the interviewer was happy with that.
Round 3
30 minutes of behavioral round and 25 minutes of Technical question. This might be the Bar Raiser Round, as the interviewer told me he was from a different team than the team for which my hiring was done. All the other interviewers were from the team I was interviewing for. There were 2 interviewers. One was the main interviewer and the other one was his shadow.
Behavioral for this round
I was totally destroyed by the behavioral section of this round. My answers were not to the point and was really vague. Overall, I was grilled in the behavioral section of this round. So, for all the upcoming candidates, be very serious about the LPs and give enough time for preparation for that.
Technical Question
Given a list of 2 time stamps and the word associated with it. Return the words of the matching timestamps.
Example:
Input1
[TS1 Ant, TS2 Banana , TS4 Boy]
Input2
[TS1 Ball, TS3 Cat, TS5, Dog]
Output: [AntBall], as the Timestamps matched
I gave the Hashmap approach first. Discussed the solution, and was told to code. I immediately wrote the code and he asked me a follow-up to come up with a different solution, as he thoght it is taking extra memory.
So, I told him I can solve it using One pass. He asked me how can I do that and told me to write the pseudo code for it. Wrote the pseudo code and he was satisfied. Finally, the last 5 minutes I asked question to him.
Round 4
This was my worst round. I really messed this round. 3 behavioral questions followed by the Technical question.
Technical Question:
https://leetcode.com/discuss/interview-question/369272/Amazon-or-Onsite-or-Linux-Find-Command
I just had to implement a getName() and getFile() function. I did not practice with these sort of questions. So, this was a very bad round for me. I tried to come up with some approach. It was back and forth, asked lot of hints and suggestions. The interviewer was really good and he gave me a lot of hints, I could just come up with the simple solution. I think that was not what the interviewer wanted.
Overall, it was a very good experience. All the interviewers were really good. I would definitely try again. Meanwhile, looking for other opportunities.
I got the email after 3 days, stating that I have not been selected.
Thank you. Let me know if you have any questions.