System Design Interview Questions

Review this list of 336 system design interview questions and answers verified by hiring managers and candidates.
  • Google logoAsked at Google 
    +5

    "Clarifying questions: What is the issue in the current algorithm? Not obvious Why do you want to improve? Engagement Are there any churn trend in YouTube viewers? Yes I see for last few months 10% reduction Do you have any support tickets from users regarding personalization? Not sure Have you released any new launches or bug fix into the existing algorithm? No What is the goal for this improvement suggestion? Engagement Are you targeting any specific region? NA Do"

    Manjula R. - "Clarifying questions: What is the issue in the current algorithm? Not obvious Why do you want to improve? Engagement Are there any churn trend in YouTube viewers? Yes I see for last few months 10% reduction Do you have any support tickets from users regarding personalization? Not sure Have you released any new launches or bug fix into the existing algorithm? No What is the goal for this improvement suggestion? Engagement Are you targeting any specific region? NA Do"See full answer

    Product Manager
    System Design
    +3 more
  • Amazon logoAsked at Amazon 
    +25

    "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
  • Meta (Facebook) logoAsked at Meta (Facebook) 
    +1

    "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

    Product Manager
    System Design
    +2 more
  • Google logoAsked at Google 
    +7

    "Came up with following strategy: take logs from user and send to LogService via API GW LogService takes the responsibility of generating time based SequenceId and persist the log in NoSQL (DDB) with key as SequenceId as primary key and timein_millis as sort (secondary) key. There are many system design tutorials on generating sequential sequence id where prefix is current time in epoch (milliseconds) Since there would be many LogService servers, spread across different availability zo"

    Shahnawaz A. - "Came up with following strategy: take logs from user and send to LogService via API GW LogService takes the responsibility of generating time based SequenceId and persist the log in NoSQL (DDB) with key as SequenceId as primary key and timein_millis as sort (secondary) key. There are many system design tutorials on generating sequential sequence id where prefix is current time in epoch (milliseconds) Since there would be many LogService servers, spread across different availability zo"See full answer

    Software Engineer
    System Design
  • +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
  • 🧠 Want an expert answer to a question? Saving questions lets us know what content to make next.

  • Google logoAsked at Google 

    "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
  • Meta (Facebook) logoAsked at Meta (Facebook) 
    Machine Learning Engineer
    System Design
  • Coinbase logoAsked at Coinbase 

    "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

    Engineering Manager
    System Design
  • Amazon logoAsked at Amazon 

    "The below system design addresses the requirements for a scalable distributed onboarding service, focusing on robust data validation, asynchronous processing, real-time aggregation, and efficient querying of metadata. Core Principles: Asynchronous Processing: Decouple components to ensure high throughput and responsiveness. Scalability & Elasticity: Utilize technologies that can scale horizontally to handle varying loads. Data Durability & Integrity: Ensure no data l"

    Mohammad F. - "The below system design addresses the requirements for a scalable distributed onboarding service, focusing on robust data validation, asynchronous processing, real-time aggregation, and efficient querying of metadata. Core Principles: Asynchronous Processing: Decouple components to ensure high throughput and responsiveness. Scalability & Elasticity: Utilize technologies that can scale horizontally to handle varying loads. Data Durability & Integrity: Ensure no data l"See full answer

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

    "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 

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

    "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'
    +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
  • +9

    "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
  • Amazon logoAsked at Amazon 
    Video answer for 'Design Instagram.'
    +49

    "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?'
    +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 
    +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
  • LinkedIn logoAsked at LinkedIn 
    Software Engineer
    System Design
Showing 1-20 of 336