I'd like to thank Leetcode and the entire community; helped me a lot in this process, learn and get my head in the right direction.
YOE: 3 (2 FT + 1 Intern)
Background: Never really did competitive coding / Leetcode in school or for my internship / full-time interviews.
Amazon recruiter reached out on Linkedin and I decided to go for it. This is when I started Leetcode for the first time seriously. I did a few questions here and there when I was in school looking for internships, but only a handful. Anytime I would think of Leetcode or doing coding questions, I would think it's not for me and is beyond my capacity.
The first week I was pretty discouraged to see I could not solve easy problems on Leetcode. Not very easy to juggle between a full-time job and interview prep. I stayed true to the course and decided to give my best for the interview. Once I passed the online test, I asked the recruiter for 2 months before onsite. Studied before and after work every weekday, all day entire weekends.
Due to the current situation, it was a virtual interview.
Online Test: Both questions from Leetcode thread for Amazon OA. 1) Top K & 2) Zombie in Matrix
Virtual Onsite, 4 one hour interviews with 10 mins break between each:
1 - Interviewer was very friendly, I felt welcome and lost my nervousness. LP 20-25 mins. For coding, I was asked a Leetcode Medium question but I had not seen/solved it. Took a first pass at it and could do a happy path. The code did not cover some cases and with the interviewer's hints, I could move further. Explaining your approach while coding helps because I could not finish the code and we ran out of time but I made sure to tell the interviewer what I was going for.
2 - Probably the best round. 2 interviewers (1 shadow). LP 15-20 mins. Asked Leetcode Medium and I had solved it earlier. I could have coded this in 5 mins but I took my time to explain the solution and my logic, did a dry run of a few test cases. Was expecting the interviewer to ask follow-up and build upon the question but they did not. Got a lot of time to ask them my questions.
3 - Again 2 interviewers (1 shadow). LP 20-30 mins. System Design. Asked to design Amazon dot com's one service. While preparing for SD, I read all the time that we should ask questions and not jump right in the design. But when the actual time came, I just jumped right in, I regret that. Once I started designing I was asking questions. After every step in my design, the interviewer would ask me a follow-up on the decision and some failure scenario. Could answer all of the questions.
4 - LP 20 mins. Similar question to Parking Lot. Started well, but towards the end, I think I had a burn-out and could not answer some easy questions.
Don't take LP lightly, read and prepare your answers and keep recent projects, situations in mind.
Result: Interview was for SDE2, got offered SDE1.
I think most of us use these sources, let me point out what I used:
System Design -> Gr^^^^ing, Donne Martin Github Primer, YouTube (Gaurav Sen, Tech Dummies, System Design Interview)
Leetcode premium definitely helps if you are targeting specific companies. While trying to solve a question, my order of sources would be:
Try to do it myself
Leetcode official solution
Leetcode Discuss
Youtube
Some Blog
So many people have such informative and cool youtube channels. To name a few: Tushar Roy, Back To Back SWE, TECH DOSE, happygirlzt, Nick White, Kevin Naughton Jr
Kudos to the entire community. I never thought I'd be able to crack any FANG interview, just keep coding, practicing, and you'll get to it. Good luck!