System Design Interview Questions & Tips for Senior Engineers

About System Design Interviews

If you’re a mid-level or senior-level software engineer, regardless of where you interview, you will get asked at least a few system design questions. Most companies will ask system design questions during the onsite, but some may include a system design component in their technical phone screen (more likely if they’re a startup rather than a FAANG).

System design interview questions fall, by and large, into the following 12 categories:

  1. APIs
  2. Databases (SQL vs NoSQL)
  3. Scaling
  4. CAP theorem
  5. Web authentication and basic security
  6. Load balancers
  7. Caching
  8. Message queues
  9. Indexing
  10. Failovers
  11. Replication
  12. Consistent hashing

That’s a long list, and system design is a really broad topic. Rather than trying to summarize everything you need to know about these types of interviews in a few paragraphs (an impossible task), we’ve written the best guide to system design interviews out there.

By the way, many people believe that in order to pass a FAANG system design interview, you have to have professional experience with distributed systems. We’ll show you that that’s categorically false, and that with the right preparation, you don’t need to fall into the catch-22 of having to have worked at a FAANG in order to get a job at a FAANG.

Check out our in-depth guide to system design, developed by the best interviewers in the industry, directly from their experience in thousands of technical interviews:

System Design Interview Replays



Google Interviewer

Design Facebook Events

The Grey Dictaphone,aGoogleengineer, interviewed Absurd Bandit](/content/mocks/google-system-design-design-facebook-events/index.html)



Meta Interviewer

Design Live Comments

Digital Cactus,aMetaengineer, interviewed Utilitarian Lemur](/content/mocks/facebook-system-design-design-live-comments/index.html)



FAANG Interviewer

Photo sharing service

Platinum Lambda,aFAANGengineer, interviewed Orthogonal Warrior](/content/mocks/faang-system-design-photo-sharing-service/index.html)



Google Interviewer

Design YouTube Recommendation System

Doctor Malamute,aGoogleengineer, interviewed Hyper Taco](/content/mocks/google-system-design-youtube-recommendation-system/index.html)



Amazon Interviewer

Video upload API

Hot Gyro,anAmazonengineer, interviewed Wicked Gyroscope](/content/mocks/amazon-system-design-video-upload-api/index.html)



Amazon Interviewer

Calendar System

Phantom Dictaphone,anAmazonengineer, interviewed The Mighty Platypus](/content/mocks/amazon-system-design-calendar-system/index.html)

[...] (replays continue in similar format)

System Design Interview Questions and Solutions

MEDIUM

System Design

Distributed Databases

How would you organize a SQL database like MySQL such that you can add more machines once your current ones reach maximum capacity? With the limitation that you do not have access to any automated tools for distributing.

MEDIUM

System Design

Image Filter Service

Create a service that allows users to upload an image and apply filters and then sends users a link to download their filtered image.

HARD

System Design

Design LeetCode

Design a coding competition platform with a leaderboard and execution environment.

MEDIUM

System Design

Design a Free Food App

Design the service for an app that supports distributing 6 million burgers in 10 minutes.

EASY

System Design

File Parsing

Given an inefficient file structure, how would you store data to efficiently look up the query? How would you alter this if you had many computers available?

HARD

System Design

Design WhatsApp

Design a message app system and client (e.g. WhatsApp) supporting a list of requirements.