"
Design & Architecture Overview:
The system was a scalable, cloud-based web application built to manage customer data and automate service requests.
Frontend:
React.js: Chosen for its component-based architecture, reusable UI, and fast rendering using Virtual DOM.
Backend:
Node.js with Express.js: Selected for non-blocking I/O, scalability, and rapid API development.
Database:
MongoDB: Used for its flexible schema, scalability, and ease of handling unstructured data.
Authentication:
JWT"
Ilakiya R. - "
Design & Architecture Overview:
The system was a scalable, cloud-based web application built to manage customer data and automate service requests.
Frontend:
React.js: Chosen for its component-based architecture, reusable UI, and fast rendering using Virtual DOM.
Backend:
Node.js with Express.js: Selected for non-blocking I/O, scalability, and rapid API development.
Database:
MongoDB: Used for its flexible schema, scalability, and ease of handling unstructured data.
Authentication:
JWT"See full answer
"Clarifying question:
When you say users, what specific metric are we talking about? Answer: we want to increase # of daily active users. Assume active users are logged in users.
Is there a region that we have in mind for this increase? Assume no, we want to think about globally
Is there a specific device (mobile vs desktop) ? Assume no
Approach: I want to first think about Youtube, its mission and current business at a high level. . Then I want to think about the current ecos"
Yespm T. - "Clarifying question:
When you say users, what specific metric are we talking about? Answer: we want to increase # of daily active users. Assume active users are logged in users.
Is there a region that we have in mind for this increase? Assume no, we want to think about globally
Is there a specific device (mobile vs desktop) ? Assume no
Approach: I want to first think about Youtube, its mission and current business at a high level. . Then I want to think about the current ecos"See full answer
"Requirements and Goals
Primary Goal:Store key-value pairs in a cache with efficient access (reads/writes).
Evict items based on a certain “rank,” which might reflect popularity, frequency, or custom ranking logic.
Functional Requirements:Put(key, value, rank): Insert or update a key with the given value and rank.
Get(key): Retrieve the value associated with the key if it exists.
Evict(): If the cache is at capacity, evict the item with the lowest rank (or according"
Alvis F. - "Requirements and Goals
Primary Goal:Store key-value pairs in a cache with efficient access (reads/writes).
Evict items based on a certain “rank,” which might reflect popularity, frequency, or custom ranking logic.
Functional Requirements:Put(key, value, rank): Insert or update a key with the given value and rank.
Get(key): Retrieve the value associated with the key if it exists.
Evict(): If the cache is at capacity, evict the item with the lowest rank (or according"See full answer
"'''
Problem Statement:
Design a simplified Robinhood-like stock trading platform.
Requirements:
User Management:
createuser(userid, name, initial_balance): Create user with cash balance
getbalance(userid): Get user's cash balance
deposit(user_id, amount): Add funds to account
withdraw(user_id, amount): Withdraw funds (if sufficient balance)
Stock Operations:
updatestockprice(symbol, price): Update current price of a stock
getstockprice(symb"
Rahul .. - "'''
Problem Statement:
Design a simplified Robinhood-like stock trading platform.
Requirements:
User Management:
createuser(userid, name, initial_balance): Create user with cash balance
getbalance(userid): Get user's cash balance
deposit(user_id, amount): Add funds to account
withdraw(user_id, amount): Withdraw funds (if sufficient balance)
Stock Operations:
updatestockprice(symbol, price): Update current price of a stock
getstockprice(symb"See full answer
"1. Requirements Analysis
Functional Requirements
Video streaming with multiple quality levels
Content browsing and search
Continue watching functionality
Content recommendations
Non-Functional Requirements
Low latency video delivery (<2s startup time)
High availability (99.99% uptime)
Scalability to handle millions of concurrent streams
API response time < 100ms
2. Microservices Architecture
Core Microservices
Content Service
Content metadata mana"
Reno S. - "1. Requirements Analysis
Functional Requirements
Video streaming with multiple quality levels
Content browsing and search
Continue watching functionality
Content recommendations
Non-Functional Requirements
Low latency video delivery (<2s startup time)
High availability (99.99% uptime)
Scalability to handle millions of concurrent streams
API response time < 100ms
2. Microservices Architecture
Core Microservices
Content Service
Content metadata mana"See full answer
Software Engineer
System Design
🧠 Want an expert answer to a question? Saving questions lets us know what content to make next.
"Machine learning software engineer interviews at Google are really challenging. The questions are difficult, specific to Google, and they cover a wide range of topics."
Million D. - "Machine learning software engineer interviews at Google are really challenging. The questions are difficult, specific to Google, and they cover a wide range of topics."See full answer
"Step 1: Clarifying the Problem Scope
Assumptions and basic system requirements:
Cashless payments: The machine supports cashless payment methods like credit cards, mobile wallets, or NFC-based payments (e.g., Apple Pay, Google Pay).
Multiple candy options: The machine offers different types of candy.
Inventory management: The system tracks the stock of candy in real-time.
User interface: A display screen for users to select the type of candy, make payments, an"
Ramendra S. - "Step 1: Clarifying the Problem Scope
Assumptions and basic system requirements:
Cashless payments: The machine supports cashless payment methods like credit cards, mobile wallets, or NFC-based payments (e.g., Apple Pay, Google Pay).
Multiple candy options: The machine offers different types of candy.
Inventory management: The system tracks the stock of candy in real-time.
User interface: A display screen for users to select the type of candy, make payments, an"See full answer
"Clarifying questions
When we say signals do you mean just features that are fed into the ML model that decide how the content should be ranked?
Is newsfeed the front page of fb app.
Can you expand what you mean by relevance?
User journey
User enters blue app.. Newsfeed is the first thing they see. User either continues on newsfeed ie scrolls through it or moves to a separate part of fb
As they are scrolling they may see contents from friends, creators and ads, or other pages that they have been"
Ketshi B. - "Clarifying questions
When we say signals do you mean just features that are fed into the ML model that decide how the content should be ranked?
Is newsfeed the front page of fb app.
Can you expand what you mean by relevance?
User journey
User enters blue app.. Newsfeed is the first thing they see. User either continues on newsfeed ie scrolls through it or moves to a separate part of fb
As they are scrolling they may see contents from friends, creators and ads, or other pages that they have been"See full answer
"I watched a couple of videos like this, one of them by Exponent staff (I think). It was disappointing that the architecture diagram and the walkthrough was a general layered architecture that you can apply to any backend system. I was wondering if there are videos that can be considered a reference material to watch, learn and improve on the tech (sys design) skills, and not so much about the soft skills."
BriskD - "I watched a couple of videos like this, one of them by Exponent staff (I think). It was disappointing that the architecture diagram and the walkthrough was a general layered architecture that you can apply to any backend system. I was wondering if there are videos that can be considered a reference material to watch, learn and improve on the tech (sys design) skills, and not so much about the soft skills."See full answer
"
To clarify on what we are trying to solve for and get the definition of a distributed scheduler straight . So A Distributed Scheduler refers to a system that can handle job scheduling and execution in a scalable and fault-tolerant manner by distributing the workload across multiple servers or nodes.
we will make some assumptions with the design , as follows:
we will assume 10,000 QPS for job submissions and should be able query for jobs status .
Job execution should have minimal latency"
Scott S. - "
To clarify on what we are trying to solve for and get the definition of a distributed scheduler straight . So A Distributed Scheduler refers to a system that can handle job scheduling and execution in a scalable and fault-tolerant manner by distributing the workload across multiple servers or nodes.
we will make some assumptions with the design , as follows:
we will assume 10,000 QPS for job submissions and should be able query for jobs status .
Job execution should have minimal latency"See full answer
"In the Slack system design interview, I proposed a WebSocket-based architecture for real-time messaging, supported by a network of distributed chat servers. To track user connections and route messages efficiently, I leveraged ZooKeeper as a service registry and designed peer-to-peer communication between servers.
For the data layer:
• I used PostgreSQL to manage relational data such as users and chat participants.
• Cassandra was chosen for high-throughput, scalable message storage with dura"
Aneesh M. - "In the Slack system design interview, I proposed a WebSocket-based architecture for real-time messaging, supported by a network of distributed chat servers. To track user connections and route messages efficiently, I leveraged ZooKeeper as a service registry and designed peer-to-peer communication between servers.
For the data layer:
• I used PostgreSQL to manage relational data such as users and chat participants.
• Cassandra was chosen for high-throughput, scalable message storage with dura"See full answer
"@Jacob, your videos are really good and helpful.
I want to know about the tool, you use for explaining the design in the videos."
anush - "@Jacob, your videos are really good and helpful.
I want to know about the tool, you use for explaining the design in the videos."See full answer
"C : Okay. So I would want to start with knowing what is the product for which we have to build a recommendation system.
I : This is a photo sharing product.
C : Okay. So is this something on the lines of Instagram?
I : Yes
C : Okay. And are we a new product co or we have some current product built already?
I : You can assume yourself.
C : Okay. Is there any demography or country we are targeting?
I : No, this is a global product
C : Okay. So, the biggest goal of any product recommendation system"
Kartikeya N. - "C : Okay. So I would want to start with knowing what is the product for which we have to build a recommendation system.
I : This is a photo sharing product.
C : Okay. So is this something on the lines of Instagram?
I : Yes
C : Okay. And are we a new product co or we have some current product built already?
I : You can assume yourself.
C : Okay. Is there any demography or country we are targeting?
I : No, this is a global product
C : Okay. So, the biggest goal of any product recommendation system"See full answer
"Great explanation on each of the components and their use.
During the interview would a PM candidate be expected to go in-depth for capacity estimation (e.g. storage estimation, bandwidth estimation etc.?)"
A B. - "Great explanation on each of the components and their use.
During the interview would a PM candidate be expected to go in-depth for capacity estimation (e.g. storage estimation, bandwidth estimation etc.?)"See full answer
"In the API design, the interviewer is switching between RPC style (operation based endpoints) and REST style (resource oriented). Sticking to one convention and explaining why it is preferred over the other e.g. REST if the twitter domain maps nicely to resources e.g. /tweet or /follower or /user would help to create a more consistent and unified API. It would make it easier for clients to integrate with the API as well."
dreamingincode - "In the API design, the interviewer is switching between RPC style (operation based endpoints) and REST style (resource oriented). Sticking to one convention and explaining why it is preferred over the other e.g. REST if the twitter domain maps nicely to resources e.g. /tweet or /follower or /user would help to create a more consistent and unified API. It would make it easier for clients to integrate with the API as well."See full answer