Skip to main content

System Design Interview Questions

Review this list of 427 System Design interview questions and answers verified by hiring managers and candidates.
  • Google logoAsked at Google 
    13 answers
    +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 
    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
  • Robinhood logoAsked at Robinhood 
    Add answer
    Software Engineer
    System Design
    +1 more
  • OpenAI logoAsked at OpenAI 
    1 answer

    "Keep the agent Read only mode, and if it has to take any action on behalf of the user, keep a structure which requires user confirmation for it, after that it generates an idempotent key and if the model tried to make up the key or tried to bypass, it cannot do it now as it would require the confirmation key as an arg to take any action. THis all stays in the orchaestrator code, and nothing on the model side. Model is dumb and only can suggest action"

    Yashodhan H. - "Keep the agent Read only mode, and if it has to take any action on behalf of the user, keep a structure which requires user confirmation for it, after that it generates an idempotent key and if the model tried to make up the key or tried to bypass, it cannot do it now as it would require the confirmation key as an arg to take any action. THis all stays in the orchaestrator code, and nothing on the model side. Model is dumb and only can suggest action"See full answer

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

  • Anthropic logoAsked at Anthropic 
    Add answer
    Software Engineer
    System Design
  • eBay logoAsked at eBay 
    Add answer
    Engineering Manager
    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
  • 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
  • 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
  • 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
  • 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

    Software Engineer
    System Design
    +2 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
  • 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
  • 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
    +3 more
  • Anthropic logoAsked at Anthropic 
    Add answer
    Machine Learning Engineer
    System Design
    +1 more
  • Software Engineer
    System Design
    +1 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
    +2 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
  • 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
Showing 21-40 of 427
Exponent

Get updates in your inbox with the latest tips, job listings, and more.

Follow Us

Products
Courses
Interview Questions
Interview Experiences
Popular articles
Guides
Coaching
For Partners
Company
Exponent © 2026
Terms of Service | Privacy