How to Prepare
Having helped thousands of candidates pass their FAANG interviews, we've learned exactly what works.
Build a Foundation
1. Understand what a system design interview is: Maybe you've never done a system design interview before, you're not alone! Start by reading our intro to system design or watching a video of a mock system design interview.
2. Choose a delivery framework: System design interviews move fast. It's important that you have a clear roadmap to help you think linearly and avoid scope creep. We strongly recommend our Delivery Framework. This is the framework you'll follow to design your system come interview day.
3. Start with the basics: If you're new system design in particular, you'll want to start by learning the basics and mapping out the scope of knowledge required. Start by reading about the Core Concepts, Key Technologies, and Common Patterns used in system design interviews. These write-ups are high-level, but they help you build the mental model necessary to build upon.
Practice Practice Practice
Once you have the foundation in place, it's time to practice. Passively consuming content is good, but you'll retain 10x more information by actually doing.
1. Choose a question: Select a question from the list of common questions below.
2. Read the requirements: Understand the requirements of the system you'll need to design.
3. Try to answer on your own: Either practice with our Guided Practices (below) or on a virtual whiteboard like Excalidraw.
4. Read the answer key: Only after you have tried to answer the question, read the answer key to see how your answer compares.
5. Put your knowledge to the test: Once you've done a few questions and are feeling comfortable, put your knowledge to the test by scheduling a mock interview with an interviewer from your target company.
Interview Question | Difficulty | Write-Up | Mark as Read | Guided Practice | |
---|---|---|---|---|---|
Design Bit.ly | Easy | ||||
Design Yelp | Easy | ||||
Design Leetcode | Easy | ||||
Design Strava | Easy | ||||
Design Dropbox | Easy | ||||
Design Gopuff | Easy | ||||
Design Ticketmaster | Medium | ||||
Design Uber | Medium | ||||
Design Tinder | Medium | ||||
Design a Distributed Job Scheduler | Medium | ||||
Design FB News Feed | Medium | ||||
Design Google Docs | Medium | ||||
Design an Online Auction | Medium | ||||
Design WhatsApp | Medium | ||||
Design YouTube | Medium | ||||
Design FB Post Search | Hard | ||||
Design a Web Crawler | Hard | ||||
Design an Ad Click Aggregator | Hard | ||||
Design FB Live Comments | Hard | ||||
Design Top-K YouTube Videos | Hard | ||||