Skip to main content

System Design Interview Questions

Review this list of 390 System Design interview questions and answers verified by hiring managers and candidates.
  • Google logoAsked at Google 
    59 answers
    +56

    "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

    System Design
    Product Strategy
  • Stripe logoAsked at Stripe 
    10 answers
    Video answer for 'Design a Distributed LRU Cache'
    +7

    "One good reason for using the doubly linked list is that to remove an accessed item in the list from its existing position say in the middle of the list and move it to the head, you need to update the previous node's next pointer and the next node's previous pointer. A singly linked list only has next pointers, so removing from the middle would require traversing from the head to find the previous node which requires O(n) time. A doubly linked list allows O(1) removal from any position because w"

    Javed S. - "One good reason for using the doubly linked list is that to remove an accessed item in the list from its existing position say in the middle of the list and move it to the head, you need to update the previous node's next pointer and the next node's previous pointer. A singly linked list only has next pointers, so removing from the middle would require traversing from the head to find the previous node which requires O(n) time. A doubly linked list allows O(1) removal from any position because w"See full answer

    Engineering Manager
    System Design
    +1 more
  • Anthropic logoAsked at Anthropic 
    Add answer
    Machine Learning Engineer
    System Design
    +1 more
  • Microsoft logoAsked at Microsoft 
    1 answer

    "I confirmed with the interviewer that its about how slave replaces primary when primary node when suddenly shuts down. It was very tough question for me i felt. i told, we need to maintain schema of primary, secondary instances with their URL's and posts. There should be heartbeat service which always pings the actual microservices to get to know their instances health."

    Sreenath P. - "I confirmed with the interviewer that its about how slave replaces primary when primary node when suddenly shuts down. It was very tough question for me i felt. i told, we need to maintain schema of primary, secondary instances with their URL's and posts. There should be heartbeat service which always pings the actual microservices to get to know their instances health."See full answer

    Software Engineer
    System Design
  • xAI logoAsked at xAI 
    1 answer

    "=>user => window {addfile(void * file, userID, chatID) => add to fileList=> Display(file pointer)} => file=> pointer to DB, thumbnail => file will stores in database, pointer to the file+ thumbnail to be visible to chat => file is associated with chat => chat : users list, notepad: post { , user posted} class file{ void * buffer = nullptr; string fileName = nullptr; public: file( void content, string filename ):fileName ("

    Ankush G. - "=>user => window {addfile(void * file, userID, chatID) => add to fileList=> Display(file pointer)} => file=> pointer to DB, thumbnail => file will stores in database, pointer to the file+ thumbnail to be visible to chat => file is associated with chat => chat : users list, notepad: post { , user posted} class file{ void * buffer = nullptr; string fileName = nullptr; public: file( void content, string filename ):fileName ("See full answer

    Software Engineer
    System Design
    +1 more
  • 🧠 Want an expert answer to a question? Saving questions lets us know what content to make next.

  • Product Manager
    System Design
    +1 more
  • Anthropic logoAsked at Anthropic 
    Add answer
    Software Engineer
    System Design
  • LinkedIn logoAsked at LinkedIn 
    3 answers

    "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

    Engineering Manager
    System Design
    +1 more
  • Perplexity AI logoAsked at Perplexity AI 
    6 answers
    +3

    "Since question asks about pipeline. I assume the question is about metrics across many dimensions not just prediction Model performance. For the ML Model: I can use accuracy, precision, recall, F1 if it is classification model. In case it is regression model RMSE is good metric for many problems. Data: ML system needs good quality data. The system has to track missing data rate. Distribution of features, if there is no drift from original feature distributions during the training. Pipeline h"

    Alex N. - "Since question asks about pipeline. I assume the question is about metrics across many dimensions not just prediction Model performance. For the ML Model: I can use accuracy, precision, recall, F1 if it is classification model. In case it is regression model RMSE is good metric for many problems. Data: ML system needs good quality data. The system has to track missing data rate. Distribution of features, if there is no drift from original feature distributions during the training. Pipeline h"See full answer

    Machine Learning Engineer
    System Design
    +1 more
  • +8

    " 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

    Technical Program Manager
    System Design
    +2 more
  • Amazon logoAsked at Amazon 
    4 answers
    +1

    "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
  • Amazon logoAsked at Amazon 
    5 answers
    +2

    "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

    Technical Program Manager
    System Design
  • Google logoAsked at Google 
    23 answers
    Video answer for 'Design TikTok.'
    +18

    "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

    Product Manager
    System Design
    +2 more
  • American Express logoAsked at American Express 
    3 answers

    "Thanks you for sharing insight about the app which I would liek to summarize in 2 structures: functional 2 technical requirement. Requirements: Functional requirement: Able to share messages, siles , and other content like photos, sounds Create groups for conversaion Size: 500 million users, 50m DAU -> 500M active chats daily Files not stored in the system but is can be shared.. Integaration with other APPs Technical requirement: Availability: Can you help me to understand the a"

    Istvan K. - "Thanks you for sharing insight about the app which I would liek to summarize in 2 structures: functional 2 technical requirement. Requirements: Functional requirement: Able to share messages, siles , and other content like photos, sounds Create groups for conversaion Size: 500 million users, 50m DAU -> 500M active chats daily Files not stored in the system but is can be shared.. Integaration with other APPs Technical requirement: Availability: Can you help me to understand the a"See full answer

    Engineering Manager
    System Design
    +2 more
  • Google logoAsked at Google 
    3 answers

    "Firstly, In designing a denoising system for sounds, I would start by clarifying the type of noise either stationary or non-stationary and application constraints which are the latency, scalability, accuracy and deployability. For real-time systems like Google meet, I will prefer a hybrid DSP + ML model like RNNoise. For batch processing like YouTube audio enhancement, a deep learn-based system such as Demucs or SEGAN would work well. Then I will need to evaluate how well the system improves aud"

    Precious H. - "Firstly, In designing a denoising system for sounds, I would start by clarifying the type of noise either stationary or non-stationary and application constraints which are the latency, scalability, accuracy and deployability. For real-time systems like Google meet, I will prefer a hybrid DSP + ML model like RNNoise. For batch processing like YouTube audio enhancement, a deep learn-based system such as Demucs or SEGAN would work well. Then I will need to evaluate how well the system improves aud"See full answer

    Machine Learning Engineer
    System Design
  • Google logoAsked at Google 
    12 answers
    Video answer for 'How would you build TinyURL?'
    +9

    "@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

    Product Manager
    System Design
    +2 more
  • Amazon logoAsked at Amazon 
    5 answers
    +2

    " 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

    Software Engineer
    System Design
    +1 more
  • Meta logoAsked at Meta 
    63 answers
    Video answer for 'Design Facebook Messenger.'
    +58

    "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

    Engineering Manager
    System Design
    +1 more
  • Meta logoAsked at Meta 
    6 answers
    +3

    "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

    Machine Learning Engineer
    System Design
    +2 more
Showing 21-40 of 390