The resources I used to prepare for FAANG interviews

Sunny Beatteay
5 min readJul 2, 2022

--

Coding Resources

Below is a list of the resources I used to prepare for coding interviews. I have them listed as either free or the price I paid for them.

Grind 75 (free)

This is a curated list of LeetCode questions that cover all the different concepts you may get in an interview (LinkedLists, Trees, Sliding Window, BFS/DFS, etc). This list is a great place to start for coding prep if haven’t done LeetCode style questions in a long time.

NeetCode 150 (free)

Once I finished Grind/Blind 75, I still felt like I needed more practice. There’s another list that builds off of Blind 75 called the NeetCode 150. This provides additional questions that helps give you a good breadth of questions that you may experience in the interviews.

I didn’t end up finishing the NeetCode 150, but it’s a good resource for additional practice.

Algo Monster ($99)

One of the things I wish LeetCode was better about was explaining algorithm concepts and the problem solving approaches to different algorithm types (DP, graphs, sliding window, etc). It’s true that LeetCode Premium does allow you to access the “Solutions” tab, but that’s only on a problem-by-problem basis.

Algo Monster is good about explaining high level algorithm concepts and giving a curated list questions to try out. It’s $99 for a lifetime subscription, which I thought was a decent deal, especially if it helped out even a little bit.

For me, I think it was worth it. But if you’re short on money, you can probably skip this one.

LeetCode Discussions (free)

One thing I would highly recommend is going through the top posts on LeetCode from 2020. There are some really good guides and other tutorial type posts.

LeetCode Premium ($35/mo)

Leetcode Premium is a great value because you can pay for it month-to-month and cancel when you get a job. Additionally, you can access the Solutions to questions and can see which companies ask which questions.

The latter one is very useful. Many companies, even large tech companies, pull questions directly from LeetCode for their interviews. So if you practice the most frequently asked questions from that given company, there’s a good chance you’ll be very prepared for the tech screen and onsite.

Mock Interviews ($100–200/interview)

I’d always heard about doing paid mock interviews with actual FAANG engineers, but I was never sure if they were worth it. It wasn’t until I read Will’s post about his job search that I decided to try them out. And I definitely think they are worth it.

I ended up using the “Pay Later” program through interviewing.io where they give you credit up front to do the mock interviews and you don’t pay until after you get a job. I ended up doing upwards of 7 mock coding interviews and I believe they helped a lot.

They were better at simulating a high-pressure FAANG interview than free mock interviews with strangers. Additionally, the interviewers give very detailed feedback at the end on ways to improve in order to get a “Strong Hire”.

After each interview, I wrote down the interview feedback suggestions as bullet points on an Anki card that I would regularly review.

System Design Resources

Below is a list of the resources I used to prepare for system design interviews. I have them listed as either free or the price I paid for them.

Launch School Capstone Case Studies (Free)

I’m not sure how many other people read these besides me, but Launch School Capstone case studies are a gold mine for system design interviews. They’re very in-depth, easy to read with visuals and diagrams, and cover a very wide range of topics. There have been multiple times when I was asked a system design question that was covered by a Capstone case study.

Gaurav Sen Youtube Channel (Free)

I’ve run across this guy before on Youtube, but since I don’t usually watch system design videos in my free time, I didn’t really pay much attention to him. But when I started my job hunt, I decided to look into his material and it’s a gold mine.

He has a long backlog of example system design questions and his solutions and explanations. He explains them very well and I would highly recommend them. I’ve linked to a playlist of his videos that start from basics to move complicated systems.

System Design Interview Youtube Channel (Free)

In a similar vein as Gaurav Sen, the System Design Interview Youtube channel is another great resource I used. There aren’t as many videos, but each video is very in-depth and goes into many edge cases. I was recommended this channel by one of the mock interviewers I interviewed with for system design.

Since each video is quite long, you may not be able to go through each one. I would highly recommend these two:

The System Design Primer (Free)

This is a curated list of Anki cards that cover a lot of different system design concepts and case studies. It’s rather simplistic, but a great free resource.

Grokking the System Design Interview ($80)

This was one of the resources recommended to us during Capstone and I revisited it for this most recent job hunt. They’ve since added most case studies since Capstone and it’s a very good resource for brushing up on system design interviews.

The authors of this course also created a more advanced version. I think it’s a bit overkill for typical senior level system design interviews, but it goes go over interesting topics, such as split brain failures and vector clocks.

The System Design Interview Book ($35)

This is a book written by Alex Xu and it’s very good. Not only does it have case studies, it also gives a good framework for approaching system design interviews.

It doesn’t have as many case studies as Grokking the System Design Interview, but it goes very in-depth into each case study and it follows the system design interview format pretty well.

There’s also a Volume 2 that I didn’t end up buying, but looking from the description, It would’ve been very beneficial to get. I’ll probably end up getting it.

Mock Interviews ($100–200/interview)

Similar to mock coding interviews, I also did mock system design interviews. And in my case, they helped quite a bit because I bombed 2 out of the 3 mock interviews — so I knew what areas I needed to work on.

System design interviews are tough in that they’re typically vague and you need to drive the discussion while also working with your interviewer to clarify the requirements. The framework that one of the mock interviews gave me is:

  • Determine functional requirements (2–3 mins)
  • Determine non-functional requirements (2–3 mins)
  • Create API (4–5 mins)
  • Come up with data models and storage estimates, if needed (4–5 mins)
  • High level design (10–15 mins)
  • Diving into more advanced features and failure scenarios (5–10 mins)

--

--