Tech IndustryMay 31, 2022
MicrosoftTSLA@401k

[Giving back] My L4 SWE Interview Study Guide

Long time lurker here. I want to give back to the community and share some resources that I found extremely useful when preparing for technical interviews. I started applying on LinkedIn in mid-April and received a response from the following companies: Facebook, Google, Amazon, Uber, Lyft, Square, VMWare, Oracle, etc. *Coding/Leetcode* To be fair, I have been doing leetcode on and off for 5 years to prepare for internship and full-time interviews. I have memorized solutions for some popular questions but every time, I start a new LC session to keep track of how many questions I have solved. (FYI I did 426 questions (146/241/21) in 37 days). Here is what I did (in this particular order): 1. Choose a programming language you are comfortable with. I used Python and I read "Elements of Programming Interviews in Python: The Insiders' Guide" twice to familiarize myself with the most common DS&A you will see in coding interviews. I would not suggest jumping into LC right away. I think having a solid foundation and understanding of DS&A is more important than the number of LC you solved. 2. The LC grind began once I finished EPI. Instead of solving the most commonly asked questions, I found it extremely useful to follow a curated list of questions. Remember, quality > quantity. The list I used is Blind 75, Neetcode 150 (Blind 75 + 75 additional great questions), and Sean Prashad's Leetcode Patterns. You can notice that only 5% of the questions I solved were hard. Unless you are a competitive programmer, I found it hard to solve an LC hard within 45 minutes with no guidance. I didn't want to waste time getting stuck on hard questions so I decided to only focus on the most common hard questions. 3. I did not allow myself to be stuck on a question for more than 15-20 minutes. It's because, in a normal coding interview, you only have 45 minutes max to solve 1-2 LC medium. You will not get extra points if you solve an LC hard after being stuck on it for 4 hours. Some LC questions offer tips so make sure to use them. If there is an official solution available, I will skim through it, understand the optimal strategy and code it from my memory. No interviewer expects a flawless candidate so it's okay to ask for help when you are stuck. 4. Once I finished the curated list of questions, I started doing LC assessments. I also found them extremely useful for three reasons: - There are FAANG-specific assessments available on LC so I got a sense of how hard the questions are going to be. - I was able to regurgitate solutions for questions I have seen, further strengthening my long-term memory. - If I haven't seen the questions before, it serves an interview-like environment, where I was solving questions within time constraints and under stress. After I was comfortable with LC assessments, I finally started doing company-tagged questions. *System Design* This was my first time preparing for system design interviews. I found it very intimidating at first because my work at MSFT does not involve designing a scalable distributed system at all. With lots of reading and YouTube videos though, I was able to get comfortable with it. Here is a list of material I used to study for system design interviews (in this particular order): 1. Grokking the system design interview - I found this very beginner-friendly. It's a good starting point for beginners like myself. 2. System Design Primer - I also found this very informative and beginner-friendly. It's a must-read and it's free. 3. https://www.youtube.com/watch?v=kKjm4ehYiMs&t=1s&ab_channel=AWSEvents - great video on how you can scale your system with different cloud technology. 4. https://drive.google.com/file/d/1m6UgeWa0ttIdAIJ5Y1NljGE3_nOPlSe9/view - I stumbled upon this on Blind and I found it very useful. It contains a battle-tested format for system design interviews (the author claimed to have passed Amazon L6 and several FAANG system designs with it). 5. https://www.youtube.com/watch?v=Z-0g_aJL5Fw - I found this very realistic. The questions that the interviewer asked are pretty much what's going to be asked in real interviews. 6. https://www.youtube.com/c/SystemDesignInterview - very technical and detailed *Behavioral* Since I had an Amazon onsite, I was forced to read their 16 leadership principles (LP). I had 1-2 stories in STAR formats for each LP so I have around 25-30 unique stories in total. I was also able to reuse a lot of the stories I prepared for Amazon on behavioral rounds for Google and other companies. IMPORTANT: make sure to have at least 1-2 stories for the following topics: 1. Failures/mistakes 2. Tight deadline/didn't meet deadlines 3. Confrontation with co-workers 4. Criticisms from managers/co-workers All the behavioral questions I got were variants of https://leetcode.com/discuss/interview-question/437082/Amazon-Behavioral-questions-or-Leadership-Principles-or-LP. *Sleep* The key is to have a balanced schedule between your 9-5 work, study, and rest, as well as having the determination to stick with the schedule no matter what. For example, I spent at least 2-3 hours after work every day for the past 1.5 months doing LC, system design, and writing down good stories for behavioral. I also tried my best to get a good sleep every night after studying. Sleeping is like hitting a save button on your brain and having a good sleep also prepares you to absorb new information the next day. Blind tax: L62, YOE 3 years TC at MSFT: 190k (150/30/10). Cliff in March 2023, will be earning significantly less due to peanut refreshers. New TC (AMZN L5): 300k ish (180k base, 200k signing for 2 years, 200k stocks for 4 years)

System Design Interview
System Design Interview
YouTube
System Design Interview Guide rev3.pdf
System Design Interview Guide rev3.pdf
Google Docs
System Design Mock Interview: Design TikTok ft. Google TPM
System Design Mock Interview: Design TikTok ft. Google TPM
YouTube
Loading...
Loading...
LeetCode
AWS re:Invent 2019: [REPEAT] Scaling up to your first 10 million users (ARC211-R)
AWS re:Invent 2019: [REPEAT] Scaling up to your first 10 million users (ARC211-R)
YouTube
New
refplease May 31, 2022

Got my first ever FAANG offer for lowest level. One resource I had difficulty finding was OOD. My team doesn't really stress certain patterns (as long as it works), so I had virtually no knowledge. This site and the accompanying ebook really helped demystify what good OOP code looks like https://refactoring.guru/

Microsoft TSLA@401k OP May 31, 2022

Congrats!

New
refplease May 31, 2022

Thanks! It was thanks to people like you that post resources that worked for you. Honestly would've had to spend twice the time prepping without it. I'm rooting for everyone on this app to get that bag :)

Better.com 546Y314 May 31, 2022

Best first sentence ever. Also, great write up 👍

JPMorgan Chase RLem86 May 31, 2022

Very useful thanks

Amazon rwdV70 May 31, 2022

Can you share your offers and different interviews you had?

Microsoft TSLA@401k OP Jun 1, 2022

Feel free to DM

Meta E 5 Jun 1, 2022

How many leetcode did you do this time around? You said you did 426 in 37 days but that sounds impossible

Microsoft TSLA@401k OP Jun 1, 2022

I kinda inflated the number by completing a lot of easy and medium. As I mentioned in the post, I have been doing LC on and off for 5 years so I memorized some of the most commonly asked questions.

Microsoft TSLA@401k OP Jun 1, 2022

Cruise LBAD21 Jun 1, 2022

The best feeling jump is from L3/L4 to L4 at a new company.

LinkedIn tune[in] Jun 3, 2022

Are you in hcol, mcol, or lcol?

Microsoft TSLA@401k OP Jun 3, 2022

seattle so hcol i guess

Microsoft ⌨️💰 Jun 20, 2022

Thanks OP it is very inspiring and useful

Microsoft 🥜tella Oct 18, 2023

Thanks OP!