Saturday, June 6, 2020

FAANG : The Journey | Post 2 - Interview Experience

Note: This is not my personal experience, i just shared it out, because i liked it.. Enjoy   :) This is sort of the guide to prepare for the interview.


Recruiter reached out to me on LinkedIn. Spoke to the recruiter over the phone and scheduled a phone interview after 2 weeks.

Phone

LP(20 mins)
Technical (20 mins) - One of the most "freKuently" asked questions. Can be easily found in the top Amazon questions - Implementation was very easy, but took about 20 minutes to finish this as the interviewer and I were just discussing the different approaches and I asked a lot of clarifying questions before I started the implementation.
Technical (15 minutes) - A math-based question. Unfortunately, I can't give more information about this question as it is a very direct math question. It is a medium question in leetcode. But the expectation was to come up with the brute force approach and we just discussed the optimal approach.
Reverse Interview (5 minutes)
I Got an email in an hour from the recruiter, inviting me for a virtual onsite interview. The interview was scheduled after a month. Had a total of 5 rounds.

#1 - This was my worst round. There was the main interviewer and a shadow interviewer. Both of these interviewers were experienced interviewers. Only after all my interviews, I realized that this was the bar raiser.

LP(30 minutes)
Technical (25 mins) - A very simple "puzzle" question(not there in leetcode). Easily solvable using binary search. But I was so tensed throughout the interview that I could not solve this simple binary search problem without taking a zillion hints.
Reverse Interview (5 minutes) - At this point, after giving me all the hints in the world, the interviewer knew that I was not the right fit for the role. Most of his answers were one word.
#2 - System design round. This went fair. There was a main interviewer and a shadow interviewer again. Could discuss only the high-level design of the system due to time constraints. The interviewer had a lot of questions like NoSql vs Sql, load balancing, authentication and authorization, etc

LP(30 minutes)
System design (25 mins) - The system asked to design was something similar to what the team does.
Reverse Interview (5 minutes)
break

#3 - This went very well. There was just one interviewer.

LP(30 minutes)
Technical (25 mins) - One of the most commonly asked Hard Tree questions. (hint: the same question can be asked for a binary tree as well as a BST - and it is not LCA)
Reverse Interview (5 minutes)
#4 - This went very well. There was just one interviewer. Had a lot of time in the end as I finished this problem with a lot of time in hand.

LP(20 minutes)
Technical (25 mins) - This was one of those "Design a data structure which can..." type of questions
Reverse Interview (5 minutes)
#5 - Hiring Manager. Here again, there was the main interviewer and a shadow interviewer.

LP(60 minutes)
Interview tips:

LP prep

DO NOT IGNORE LEADERSHIP PRINCIPLES. If you see my experience above, I had ~3 hours of just LP questions. Based on my experience, for Amazon, LP >>>> technical skills(70-30). For anyone struggling with LP, this is what I did,

I started preparing for LP on the day I got the LinkedIn message from my recruiter. This is very important. This is not something you can do the previous night. Make sure you distribute your time equally for LP and tech.
To start with, I did not look at the leadership principles. I made a list of my past experiences(about 30-35 points). Just noted down the keywords. It was very hard for me to come up with 30-35 points. I did not worry about how big or small these experiences were. Just listed them first. For example:
Changed our DB from X to Y
Created tech documents for my team.
Came up with an idea...
After the above step, I went through the amazon leadership principles. I did not understand a lot of these principles and I had to read this interviewgenie blog to understand the principles thoroughly. It not only explains the LPs, but also gives examples of the LP questions asked in an Amazon interview.
At this point, I filtered out 20 of my past experiences that I thought were my best experiences and came up with a story for each of these experiences. No logic behind the number- "20", just a random number. But make sure that you have at least 14 experiences. Once I had a base story for these experiences, I tagged them with more than one LP. Finally, I started answering the sample questions in the interviewGenie blog based on these base stories(tip: write/type these stories in your favorite note app. You will not remember the same points every time you think about the same question. Having it written down will help you not forget any important points that you wanted to mention). Also make sure that each experience can be used for different questions, but worded in a different way for each question. This will allow you to have more than one experience for a question and you can just talk about the experience that comes to your mind during the interview. Reusing the same experience is a NO, try to avoid that.
Also, I made sure that the experiences that I had were experiences that helps my interviewers understand how I could be a good fit for the role. This is also very important. You might have had a lot of good experiences in the past, but if they mean nothing to the work you will be doing in whichever team you are interviewing for, you are just wasting time. So make sure that your past experience is said in a way that the interviewer feels that this experience of yours will benefit the team.
I spent about 1-2 hours every day just preparing for LP.

Tech prep

There's not a lot that I did differently. Started with Cracking the coding interview, understood all the basic algorithms that everyone should know before a FAANG interview, made sure I was thorough with all the datastructure and the syntaxes. I would strongly recommend starting your prep by watching this - https://www.youtube.com/channel/UCZCFT11CWBi3MHNlGf019nw - for algorithms. Those videos are very helpful.
Solved about 20-30 easy questions for all the tags on leetcode(Trees, HashMap, Strings, DP, DFS, BFS, etc)
Sorted all the Amazon questions asked in the last 2 years based on their frequency and started with all the easy problems, then medium and finally hard problems. One point to note here is that I solved about 450 questions on leetcode and I hardly came up with the right solutions(brute force or optimal) for about 150-175 problems. The remaining ~300 questions were solved by looking at the solutions of other people. This helped me a lot. If you are doing this, make sure to understand the solution and type it on your own. There were times when I just copied the solutions to a few complex problems and submitted them assuming that I have understood those. I wouldn't have got the job if I was asked those questions, because there will be a lot of follow up questions. You need to have a reason behind every line of code that you type in your interview. So make sure that you call your preparation complete when you can say that "I have understood the thought process for coming up with a solution of x problems" rather than "I have solved x problems"(this only means that you achieved the task of submitting answers online.
*** the System design [gnikkorG the system design interview]was the go-to guide for system design. This is totally worth it. But there a tons of youtube videos that can also help you. One tip for this round, do not talk about something that you have just heard about and you have no idea about this tech in detail.
FAQ asked in other posts
YOE - 3
Total time for preparation - About 3 months. I had started preparing 2 months before I applied to Amazon.
Salary - Still negotiating
After my phone interview - HR got back to me in an hour
After the virtual onsite interview - HR got back to me on the third business day
IDE - just like a regular editor, but a little fancy
Syntax help - Did not need any help with syntax, so not sure if interviewers are okay with us googling the syntaxes


Overall I am very thankful to leetcode and it's members as I have got to learn a lot from this platform in the last 3 months. So thank you to each one of you and good luck with your interview preparation.


Ref : https://leetcode.com/discuss/interview-experience/670320/nda-amazon-aws-sde2-seattle-may-2020-offer

No comments:

Post a Comment