System design topics and concepts to ace
I wrote in a previous post on the purpose of a system design interview. In this article, I will discuss the most common system design interview problems that will likely show up based on my observations and experience.
I started by watching videos of various mock system design interviews on YouTube and looked for common trends.
The classics
It's no surprise that Cracking the Coding Interview is one of the most popular software interview prep books. There is a whole chapter on system design interviews. Here are the system design questions in the book:
- Stock Tracker
- Social media
- Web crawler
- Duplicate URLs
- Cache
- Ranking System
- Personal Financial manager
- Pastebin
Mock interviews
I watched videos from the following YouTube channels:
- Exponent
- ByteByteGo
- System Design Interview
- IGotAnOffer: Engineering
As a note, other channels discuss system design interviews and provide valuable tips. Various Channels have playlists for system design interview prep.
Breakdown
Here is the breakdown of the most common system design questions and concepts in the mock interviews I observed in the videos.
Social Media
This was the most common System design interview that was asked. The interviewer would ask the candidate to create a social media platform. The ranges to create social media platforms like TikTok, Instagram, X (formerly Twitter), Reddit, WhatsApp, Discord, or Facebook. It is understandable why this is a common system design interview question. Millions of people use social media every day and this is a good test to see if the candidate can build a scalable system.
Services
Services Apps like Uber, Robinhood, Calendy, or DoorDash, provide services to users in a system design interview question that has variety. A candidate may asked to create a food delivery app, a rideshare app, or a finance app to test how to design a system-focused product.
Concepts
Here are the concepts to study for the system design interview.
- Caching
- Load balancing
- Horizontal and vertical scaling
- Queues