System Design Interview Questions

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

    "To improve, we first need to understand the problems or opportunities for improvement that are currently present. Assumption: Potential improvement in the recommendation algorithm to make recommendations more pointed Current recommendations are not very specific. Users end up getting frustrated and move away from YouTube Potential improvement in the recommendation algorithm to make sure the user is not just bombarded with one set of videos, but gets varied recommendations to c"

    Aekagra S. - "To improve, we first need to understand the problems or opportunities for improvement that are currently present. Assumption: Potential improvement in the recommendation algorithm to make recommendations more pointed Current recommendations are not very specific. Users end up getting frustrated and move away from YouTube Potential improvement in the recommendation algorithm to make sure the user is not just bombarded with one set of videos, but gets varied recommendations to c"See full answer

    Product Manager
    System Design
    +3 more
  • Google logoAsked at Google 

    "We should follow the exact deployment patterns , like rolling upgrade . which will help us to identify any issues related to upgrade before we upgrade all the remanning servers. Cons : obviously takes lots of time . Pros : we are at our best rather ruining all the production servers . Good to go with one at a time solution ."

    Rashmi B. - "We should follow the exact deployment patterns , like rolling upgrade . which will help us to identify any issues related to upgrade before we upgrade all the remanning servers. Cons : obviously takes lots of time . Pros : we are at our best rather ruining all the production servers . Good to go with one at a time solution ."See full answer

    Technical Program Manager
    System Design
    +1 more
  • Amazon logoAsked at Amazon 
    +27

    "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
  • +2

    "can someone say if this is a system architecture question or a product architecture question?"

    Akshat J. - "can someone say if this is a system architecture question or a product architecture question?"See full answer

    Engineering Manager
    System Design
  • Perplexity AI logoAsked at Perplexity AI 

    "confusion matrix I want to track to evaluate the performance of my ml pipline"

    Shubham S. - "confusion matrix I want to track to evaluate the performance of my ml pipline"See full answer

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

  • Databricks logoAsked at Databricks 

    "High Level Architect Client v API Gateway v Object Storage v Message Queue v Worker v Database Client should can document with a web site or directly with API services. API Gateway should be used for upload document,get document info and state. Object storage should be used for original document and send event to Message Queue for starting. Message Queue is neccessary because there are millions of document should be process each time. Worker can get text from document with OCR. Database shoul"

    Berk C. - "High Level Architect Client v API Gateway v Object Storage v Message Queue v Worker v Database Client should can document with a web site or directly with API services. API Gateway should be used for upload document,get document info and state. Object storage should be used for original document and send event to Message Queue for starting. Message Queue is neccessary because there are millions of document should be process each time. Worker can get text from document with OCR. Database shoul"See full answer

    Software Engineer
    System Design
    +2 more
  • Google logoAsked at Google 
    +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
  • Oracle logoAsked at Oracle 
    Software Engineer
    System Design
  • Meta (Facebook) logoAsked at Meta (Facebook) 

    "Functional Requirements what platforms do we want to track these? Web and Mobile what classification does it belong to False positive or False Negative - False Negative Does the systems process text only? or image or video's - all Multi language? Yes Non Functional Requirements Prediction Model Performance (Precision/Recall) Availability (99.9%) - keeping the cost in mind. Scalability - able to serve about 100K ads per day Updatability, retrain, and deploy, validate Dat"

    Hari P. - "Functional Requirements what platforms do we want to track these? Web and Mobile what classification does it belong to False positive or False Negative - False Negative Does the systems process text only? or image or video's - all Multi language? Yes Non Functional Requirements Prediction Model Performance (Precision/Recall) Availability (99.9%) - keeping the cost in mind. Scalability - able to serve about 100K ads per day Updatability, retrain, and deploy, validate Dat"See full answer

    Machine Learning Engineer
    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"

    Anonymous Mongoose - "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
  • +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
  • 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
  • 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
  • Anthropic logoAsked at Anthropic 
    Software Engineer
    System Design
  • 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) 
    Video answer for 'Design an evaluation framework for ads ranking.'
    +5

    "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 
    Video answer for 'Design Instagram.'
    +52

    "Very well done."

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

    Software Engineer
    System Design
    +3 more
  • +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
  • Stripe logoAsked at Stripe 
    Video answer for 'Design a Distributed LRU Cache'
    +3

    "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
  • 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
Showing 1-20 of 359