First even FAANG interview (always thought I would never do well so never really bothered), I have a CS background for my undergrad and then did Biomedical for my masters degree.
Experience: 4-5 Years
Online Assessment: I had three recruiters contact me through LinkedIn on the same day and took this as an omen that I need to do this. I got the online assessment link and told them I wanted 2 weeks to preparing for the interview. I gave my Online assessment with two LeetCode Medium questions and was able to get it working for the most part. I noticed my response passed all cases in one example and 12/24 cases on the other one, but I noticed that with 5 mins to go. Tip: scroll down once you submit an answer and it will show how many cases pass on the left pane. Didnt have time to fix it so I was pretty bumed about that.
Phone Interview: Got a call from the recruiter and was told I passed the online exam and I will be having another virtual online coding question with a dev manager. I scheduled that the next week and gave that exam as well (The question was to design a modal screen and had some specific requirements), thought I aced that and got a call back and was invited to the onsite. I scheduled that in 2 weeks time and spent the first week and a half prepping through leet code.
Virtual Onsite:
Round 1: It was with the hiring manager. Only asked LP questions which I had no problem responding to as I had a vigorous set of examples for each of the principles readied and in my head. The manager suddenly told me I'm done at around the 30 min mark and I thought I had blown it. I couldnt help but think that she absolutely hated me and didnt want to continue the interview.
Round 2: Was a technical round, I was given a problem to develop a front end widget and was asked 2 LP questions. Thought I absolutely aced this round, and the interviewer seemed to really like me, which helped boost my confidence.
Round 3: 2 LP Questions, and then a LeetCode Medium or easy binary tree question. I had practiced similar examples before so I gave them a working response extremely quickly, they asked if I could optimize the time complexity, and I said thats not possible, and that this is the optimal solution. They asked if I could optimize the space complexity, which i said wouldnt be possible either. The interviewer seemed flustered to be honest, he laughed it off and said ok make it un optimized somehow which I laughed at, but he was serious... He asked me to find another way to use more disk space than before, and boost it up a notch... It took me a while to understand what he meant but I ended up doing it by replacing a flag with a queue and he agreed that was what he wanted ¯_(ツ)_/¯
Round 4: Systems Design + 2 LP questions.
Again I think I killed it with the LP questions. The interviewer asked me to design an image service. This was the hardest one for me because I have read almost nothing on front end systems design before and it was hard to know what was exactly expected. I started off with designing a few of the database tables (I have a CS major so i tapped into old knowledge), then I described some of the calls and API's the backend would need. I talked about how I would authorize the page, cookie usage, two way data binding,... all of that. The interviewer seemed to really like me so I was super excited by this point.
Round 5: Another Front End question round
2 LP questions + a really hard question which even the interviewer had a really hard time explaining to me. I kept thinking I knew what he wanted would jump into the implementation and then I noticed it wasnt what he wanted. This round went an extra 10mins than normal but the guy worked with me till I got to the response he wanted. Left this meeting not knowing how to feel.
Results:
I thought I had totally bombed the first interview, did amazingly in the next three and was completely iffy for the last round. Since the first round was the hiring manager I thought I had failed this. Got a call back and was given an offer today. I think getting leetcode premium did me a lot of good, it really helped boost my confidence. That and reading comments on Leetcode all the time. Thanks Leetcode team!