Giving back to the leetcode community since this is the only one platform that I have been thoroughly using for so long. A brief introduction about myself, I am a 2020 graduate who is currently working in an Indian Internet-based company. I like my work there and once just saw a post regarding referrals. I sent the mail just for fun thinking that I can never be selected. Never expected to be referred and that's where my journey started.
Timeline
26 March: Email Sent
28 March: Referral given
9 April: OA Submitted
20 April: First two rounds
4 May: Second two rounds
7 May: Confirmation Mail
I don't remember OA much but I just remember clearly using priority queues in both the questions. I think OA questions are pretty much available on Leetcode. Just need to search them well :)
Amount of Leetcode questions done: 587/1857 Solved - Easy 190 Medium 333 Hard 64
Onsites(Virtual)
Interview 1: Tech
- The interviewer was very friendly. We started off by introducing ourselves. He then told me that he will be dividing this interview into 4 parts namely: Coding, Fundamentals (optional-mainly depending on the time), Behavioral and then if I want to ask something.
- I won't be explicitly telling you the question but the question asked was leetcode hard and again on priority queues with further follow up for optimisations.
- After that since code discussion already took so long we directly skipped into behavioural questions. Standard Amazon LP questions. Do prepare them as they deep dive into it.
- Last was my time to ask him and I just asked some questions regarding role etc and then we closed the session off.
Interview 2: Tech
- My next interview started just after ten minutes of my first interview. Barely got much time to rest.
- This round I had two interviewers where one was shadowing. So basically one person was only asking and taking part in the interview, the other one was just quietly listening.
- Here also we started off my introduction and then we went forward with coding.
- In this round I was asked 2 coding questions. The first one was a leetcode medium trees which was then further optimised. The second question was not exactly on leetcode but could be fairly implemented using stacks. I took some time to get it but was able to. Quickly optimised the code to its best.
- Since the coding took most of the time, this round didn't have that many LP questions asked. We just had a discussion on one of my college projects which used AWS and the interviewer was interested in knowing about it.
After both of the rounds ended I felt satisfied by the way I performed. I thought I did whatever I could do in my scope. After a week and a half, I got a call from my recruiter telling me that I'll be having my next two rounds on Tuesday.
Interview 3: Bar Raiser
- The interviewer I got this time was a pretty experienced guy. I think all the bar raisers are people who are experienced.
- We had our introduction and then we moved to LP round.
- Since he himself was from Backend and the team I'm in my current company also happens to be the same, he started discussing my work. Honestly, for me, it was one of the tough cause of being a fresher there are a lot of terms that I don't know which ended up making me feel embarrassed.
- He did ask some LPs which I answered to my best.
- After that we moved to the coding round. He asked me a leetcode hard based on topological sort. I first did it using DFS topsort but realised that I was missing a huge case in it. Removed the entire code and redid it all over again using BFS Topsort. Maybe the anxiousness from LP questions never went away leading to a blunder like this.
- This was the worst round that I had out of all.
Interview 4: Hiring Manager
- We finally reached the last round the hiring manager.
- The interviewer looked pretty strict to me and was very straightforward.
- After the introductions, we moved to the coding where he asked me a leetcode medium question on arrays. I gave him brute force and then optimised it to O(n) space O(1). Super proud of doing that.
- He also asked me some fundamental questions regarding OOPS and DBMS.
- Then we had the usuals LP questions and post that I asked some regarding the work etc.
After all the rounds were done and I was free. Now I just had to wait for the results to come out. On the 7th I received a confirmation mail regarding my acceptance and now I am waiting for the CTC and remaining details which I'll update the post once I get it.
Preparation & Learning
- My relationship with leetcode is pretty on and off. Somedays I just hustle and some weeks I never even touch it.
- I never exclusively practiced for amazon. Even when I received the call I just calmly looked into my notes and didn't even code much in those weeks.
- For LP-based questions, do remember to use STAR strategy. Prepare a couple of scenarios cause they tend to ask LPs directly ex: when did you show customer obesession? etc.
- Do study your entire resume word by word. You should know each and everything you have written in it.
- If you are not able to answer don't make up answers, just be honest. Interviewers have interviewed several candidates, they can tell when a candidate is lying. Especially seniors interviewers so don't make up scenarios especially for LP.
- You can always buy leetcode premium. But that's totally subjective and your call to make. It does open up Company-specific questions. That helps!
- Read a lot of experiences from discussion tabs. It gives you an insight into what you need to prepare for the interviews.
All The Best to anyone who is preparing. Hope This Helps.
To anyone who is working in or worked in Amazon, how is it? Some reviews can be helpful :)