Prepare for data analytics interviews in our brand new course. Start now →

System Design Interview Questions

Review this list of 323 system design interview questions and answers verified by hiring managers and candidates.
  • Google logoAsked at Google 
    B
    X
    G

    "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

    Machine Learning Engineer
    System Design
  • Amazon logoAsked at Amazon 
    D
    Y
    N
    +17

    "Designing a system to track review abuse on Amazon.com involves detecting fraudulent, manipulative, or biased reviews while ensuring genuine customer feedback isn't mistakenly flagged. Here's a high-level breakdown: 1. Goals Detect and prevent fake or abusive reviews. Maintain integrity and trust in the review system. Support scalability for millions of products and reviews. 2. Key Abuse Scenarios Fake positive reviews (e.g., sellers boosting their own products). Fake"

    Tesfaye M. - "Designing a system to track review abuse on Amazon.com involves detecting fraudulent, manipulative, or biased reviews while ensuring genuine customer feedback isn't mistakenly flagged. Here's a high-level breakdown: 1. Goals Detect and prevent fake or abusive reviews. Maintain integrity and trust in the review system. Support scalability for millions of products and reviews. 2. Key Abuse Scenarios Fake positive reviews (e.g., sellers boosting their own products). Fake"See full answer

    Product Manager
    System Design
    +3 more
  • Google logoAsked at Google 
    Y
    W
    N
    +7

    "So here is what I would do if I had to designing a system to log messages in order involves several considerations, including the choice of software, hardware, storage mechanisms, and scalability. Here’s how I would approach this: 1. Requirements Analysis: Message Format: Define the structure of the messages to log (e.g., text, JSON). Volume: Estimate the expected volume of messages per second. This will help in determining the infrastructure requirements. **Order Guarantee"

    Theodore (teddy) W. - "So here is what I would do if I had to designing a system to log messages in order involves several considerations, including the choice of software, hardware, storage mechanisms, and scalability. Here’s how I would approach this: 1. Requirements Analysis: Message Format: Define the structure of the messages to log (e.g., text, JSON). Volume: Estimate the expected volume of messages per second. This will help in determining the infrastructure requirements. **Order Guarantee"See full answer

    Software Engineer
    System Design
  • Meta (Facebook) logoAsked at Meta (Facebook) 
    Machine Learning Engineer
    System Design
  • Amazon logoAsked at Amazon 
    Software Engineer
    System Design
  • 🧠 Want an expert answer to a question? Saving questions lets us know what content to make next.

  • Nvidia logoAsked at Nvidia 
    U

    "I started off with developing microservices for the game and then incorporating kafka to make it scalable"

    Kiran M. - "I started off with developing microservices for the game and then incorporating kafka to make it scalable"See full answer

    Software Engineer
    System Design
  • Meta (Facebook) logoAsked at Meta (Facebook) 
    Y
    M

    "Discussed: Requirements of the system: latency language modality (assume keyboard typing) availability of data (assume cold start) success metric (accuracy of next word predicted?, or minimize false positives? -> accuracy to start) Data collection and processing: design ethical user experiments to collect typed out data design a simple tokenization strategy (word level encoding, character level encoding, byte-pair encodings, and discuss tradeoffs) collect data, and split"

    Adam L. - "Discussed: Requirements of the system: latency language modality (assume keyboard typing) availability of data (assume cold start) success metric (accuracy of next word predicted?, or minimize false positives? -> accuracy to start) Data collection and processing: design ethical user experiments to collect typed out data design a simple tokenization strategy (word level encoding, character level encoding, byte-pair encodings, and discuss tradeoffs) collect data, and split"See full answer

    Machine Learning Engineer
    System Design
  • LinkedIn logoAsked at LinkedIn 
    D
    O

    "Similar to LRU, Keep a Sorted LinkedList based on ranks. To improve efficiency of storage changed to PriorityQueue (minHeap). Later was asked about threading and how you can scale it in a distributed system"

    Arjun R. - "Similar to LRU, Keep a Sorted LinkedList based on ranks. To improve efficiency of storage changed to PriorityQueue (minHeap). Later was asked about threading and how you can scale it in a distributed system"See full answer

    Engineering Manager
    System Design
    +1 more
  • Amazon logoAsked at Amazon 
    X
    N
    D

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

    Vince 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
  • Stripe logoAsked at Stripe 
    Video answer for 'Design a Distributed LRU Cache'
    K
    M
    I
    +2

    "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
  • Meta (Facebook) logoAsked at Meta (Facebook) 
    Video answer for 'Design an evaluation framework for ads ranking.'
    R
    J
    P
    +4

    "Designing an evaluation framework for ads ranking is crucial for optimizing the effectiveness and relevance of ads displayed to users. Here's a comprehensive framework that you can use: Define Objectives and Key Performance Indicators (KPIs):** \\Click-Through Rate (CTR):\\ The ratio of clicks to impressions, indicating the effectiveness of an ad in attracting user attention. \\Conversion Rate:\\ The ratio of conversions (e.g., sign-ups, purchases) to clicks, measuring how well"

    Ajay P. - "Designing an evaluation framework for ads ranking is crucial for optimizing the effectiveness and relevance of ads displayed to users. Here's a comprehensive framework that you can use: Define Objectives and Key Performance Indicators (KPIs):** \\Click-Through Rate (CTR):\\ The ratio of clicks to impressions, indicating the effectiveness of an ad in attracting user attention. \\Conversion Rate:\\ The ratio of conversions (e.g., sign-ups, purchases) to clicks, measuring how well"See full answer

    Machine Learning Engineer
    System Design
    +3 more
  • M
    K
    V
    +8

    "Designing a system to deny services to requests from banned IPs involves integrating real-time IP checking with your service architecture. Here’s a detailed outline of how you can design such a system: System Design Overview The goal is to ensure that your service can efficiently check incoming requests against a list of banned IPs and deny access when necessary. The system will leverage an external API, security.gov.x, to determine if an IP address is blocked or allowed. **Key Compone"

    Palak A. - "Designing a system to deny services to requests from banned IPs involves integrating real-time IP checking with your service architecture. Here’s a detailed outline of how you can design such a system: System Design Overview The goal is to ensure that your service can efficiently check incoming requests against a list of banned IPs and deny access when necessary. The system will leverage an external API, security.gov.x, to determine if an IP address is blocked or allowed. **Key Compone"See full answer

    Software Engineer
    System Design
    +2 more
  • Roblox logoAsked at Roblox 
    U

    "Problem scope: Can this system detect Bot in real-time online or offline? Both. Online traffic: 1M DAU. Latency: 2s. Offline frequency: daily Offline data: 2B activity logs. Data: How do we know a Bot player (Label)? Human label. Imbalance data: reweight, resample. Develop a Bot simulator to generate more data offline for training. Given lower weight to simulator data than human label. Features: Signals from different models online. Log all the features for offline. Propose new features: dail"

    Jacky Y. - "Problem scope: Can this system detect Bot in real-time online or offline? Both. Online traffic: 1M DAU. Latency: 2s. Offline frequency: daily Offline data: 2B activity logs. Data: How do we know a Bot player (Label)? Human label. Imbalance data: reweight, resample. Develop a Bot simulator to generate more data offline for training. Given lower weight to simulator data than human label. Features: Signals from different models online. Log all the features for offline. Propose new features: dail"See full answer

    Machine Learning Engineer
    System Design
  • Amazon logoAsked at Amazon 
    O
    X
    I
    +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
  • Amazon logoAsked at Amazon 
    Video answer for 'Design Instagram.'
    X
    R
    D
    +48

    "Very well done."

    Vijay M. - "Very well done."See full answer

    Software Engineer
    System Design
    +3 more
  • Meta (Facebook) logoAsked at Meta (Facebook) 
    Video answer for 'How would you build a Facebook product for blood donation?'
    V
    W
    F
    +34

    "Clarifying questions: · Is there a specific scenario we are building before? Example: urgent need for a specific type of blood vs building up blood banks proactively. You decide · This would be for mobile/web and integrate into the existing facebook product? Yes Ok before we get started I wanted to discuss the facebook mission: to give people the power to build community and bring the world closer together. I can see how blood donation fits directly into this, enabling blood donation helps"

    Anonymous Hummingbird - "Clarifying questions: · Is there a specific scenario we are building before? Example: urgent need for a specific type of blood vs building up blood banks proactively. You decide · This would be for mobile/web and integrate into the existing facebook product? Yes Ok before we get started I wanted to discuss the facebook mission: to give people the power to build community and bring the world closer together. I can see how blood donation fits directly into this, enabling blood donation helps"See full answer

    Product Manager
    System Design
    +1 more
  • Amazon logoAsked at Amazon 
    L
    B

    "The interviewer was interested how the system design would be for files, directories, symbolic links. After proposing my idea, I was asked to print all files for a given path."

    B. T. - "The interviewer was interested how the system design would be for files, directories, symbolic links. After proposing my idea, I was asked to print all files for a given path."See full answer

    Software Engineer
    System Design
  • Google logoAsked at Google 
    J
    H
    K
    +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
  • Adobe logoAsked at Adobe 
    Software Engineer
    System Design
Showing 1-20 of 323