Scheduling - I was first reached out to by an Amazon recruiter and after the initial conversation I was asked to take the online assessment.
Online assessment - Two coding questions, one based on hashmaps and another medium level problem involving strings from leetcode. And there were some behavioral personality based questions. The recruiter emailed me the next day that my assessment was really good and they want to invite me to their virtual onsite interview.
Virtual Onsite - My virtual onsite had 4 rounds with each having an Amazon LP section and a coding/system design section. Most LP questions were scenario based and I had to provide a lot of examples from my previous work experience to answer those questions. As for the coding questions I would rate them as medium level questions from leetcode. They were basically improvised implementation of the existing data structures like hashmap, array, stack, list. In the system design interview I had to design one of the features in amazon's website. I cannot go into specific details because of the NDA. But I was able to solve all the coding questions in the given time but the interviewer wanted to see if the solution can be optimized as they were looking for the MOST efficient solution(even if you can reduce 2N space to N). The optimization part was more of a discussion than implementation and it was a follow up after every coding section. I was also asked to suggest testing methodologies to test my code. For the system design I had to come up with desiging the basic components and then make them scalable to handle billion users. It was more of a discussion led by me and followed up by questions from the interviewer. The interviewer also introduced scenarios and negative conditions to find out how my design will handle them. I will highly recommend youtube posts by Tushar Roy to get a better understanding about the system design interviews.
Experience - Well this was the first virtual interview in my life so the process was pretty new to me. But overall the experience was good. The interview interface was pretty good other than some minor technical difficulties. And most importantly the interviewers were really friendly so that made the process even smoother.
Post Virtual Onsite - I was reached out to by my recruiter couple of days after my virtual onsite and he mentioned that the feedback was positive and they will be moving ahead with an offer.
Preparation and takeway - For the coding section I mainly used leetcode as the interface is perfect for interview preparation and the collection of questions is really good. I have read some posts here where people have mentioned that they did pause their life and spent 10-12 hours a day to prepare for interviews. Well in my case I did not do any of that. My current job is highly demanding so I could only spend a few hours during the weekdays for preparation. Although I solved a reasonable number questions in leetcode in about 3-4 weeks and that definitely helped me boost my confidence. I do want to stress on this fact that these interviews are stressful so practice is absolutely necessary to crack them. But then again we need to strike the balance and not get demotivated when things dont work out in our way. Like I interviewed with FB two weeks back and there were a total of 10 coding questions asked between my phone and onsite interviews. And I was not offered the job because I could not provide an O(N) solution for one of the ten questions (recruiter told me that one of my coding rounds did not go as expected). I kinda felt bad with that outcome because I practiced really hard and was hoping for a positive outcome. But yeah things did not work the way I wanted but again it was not the end of the world so I kept my heads up. As for prep, like I said before if you have to face a totally new question in an interview it can be tricky to come up with the most efficient solution in 15 minutes. So the more you practice the better are your chances to see something similar (atleast the concept) in your interview. Good luck to everyone and hope this post helps you to get your dream job.