Just wanted to share my thoughts on successfully completing a Meta Interview for E5 (YOE: 5 Years).
I had plenty of failed interviews for one reason or the other: I started the interview grind in around Apil: I cleared the entire interview loop of Tik Tok (before being told I was "overqualified" for the role and asked to apply to a higher level), failed by one bad round in several companies.
There were other companies : Grammarly, Pinterest: where either the interview was unnecessarily difficult (in my opinion) or I just had a bad day. Then there was Etsy, who spent days deciding between me and another candidate after I had cleared the interviews and ended up rejecting me (for an E4 no less)
Why I am mentioning this is, there will be plenty of dark days. But the key is to keep grinding and focus on what's next.
Coming to Meta,
phone screen was very straightforward: kth largest element in an array and a standard BFS. I then decided to prep for 3 weeks for my onsite. Did around 7 Medium/Hard problems a day for 3 weeks.
Onsite (due to NDA, I wont go into specifics but will talk about my general experience and lessons I learned)
First, they wanted to schedule 5 rounds: 3 coding + 1 Behavioral + 1 system design. I pushed back on having 3 coding rounds on the same day and the recruiter went back and came back with just 4 rounds (I would kinda pay for this later).
First round was an absolute disaster. The first question was way too easy and I should have known it was a trap. The second question was pretty hard. The interviewer used a word "subgroup" to describe a "subsequence" and I went down the wrong path and though I solved the problem in the end, the damage was done.
It took me a lot to compose myself that my interview had ended before it began but on I went.
Second round was fairly straightforward. Both questions were medium (one on the easier side and one slightly tricky). Solved them.
My system design the next day got rescheduled to later in the week and the tension I had built up to study for coding had dissipated . I had to compose myself and regain the intensity. Andrew Ng has a great system design course on youtube. That one really helped. But what really helped was Facebook blog has a ML system design video series. That is more than sufficient. I crammed those in for a day or two after my coding interview. System design was a straightforward and standard question that's from sample interviews and I felt I nailed it.
4 days later, recruiter mentioned that I needed to do a follow up coding interview. This devastated me as I had let all my coding rhythm go in the 4 days after the interview (happens when you build up tension towards a high stakes event). Following this , I scheduled the follow up 9 days later. Gathered the will power and studied again. Was asked a very tricky first question (that I had to realize was solvable in logn time) and the second one was a standard top 50 FB question that I happened to glance at 2 hrs before the interview.
Got the positive feedback for L5 hire and was asked to team match. Finished team match today.
Lessons I learned (TL/DR)
Focus on array and string questions: they're way more improtant than stuff like 3-d DP or game theory.
Focus on writing clean code: when practising LC, stop hitting "run" and then correcting syntax error and edge cases. Try to hit run and submit back to back and for the code to run in one go
Speed matters. You need to incrementally increase the speed at which you solve.
Finally, practice hard questions of arrays and spend time during practice. You will not be asked hard in the interview but what hard questions of arrays and strings do is make you very good at ideas. So if you're asked an unfamiliar medium question, you will be able to figure it out (this is what people fail to mention).
Also , on a human note, you will fail a lot of times but you have to keep going. Following the meta interview, I had two more: I passed one more (a competing offer so that I can negotiate with Meta) and failed one (because it was the day after I got my Meta offer and I couldnt muster up the intensity).
If you practice and practice consistently, it will become muscle memory and save you at some point
edit: just adding an important thing that i forgot .