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 
    6 answers
    Video answer for 'Estimate the storage needs for Google Photos on Pixel phones.'
    +3

    "Estimate how much it costs Google to store a year free of storage of photos for new Pixel Phones Clarify with Questions Know the Basic Numbers Decide on and Lay Down Your Structure Write Down the Equations Crunch Numbers Sanity Check Clarify with Questions Are we talking about cost per person? Whole user base? What do you mean when you are talking costs? Cost to build the facility? Cost to just store the data as a result o"

    Viet H. - "Estimate how much it costs Google to store a year free of storage of photos for new Pixel Phones Clarify with Questions Know the Basic Numbers Decide on and Lay Down Your Structure Write Down the Equations Crunch Numbers Sanity Check Clarify with Questions Are we talking about cost per person? Whole user base? What do you mean when you are talking costs? Cost to build the facility? Cost to just store the data as a result o"See full answer

    System Design
    Estimation
  • Apple logoAsked at Apple 
    5 answers
    +2

    "To answer this, I will focus my efforts on explaining the most common type of API used in most modern software development applications - the REST API. For the purpose of simplicity, I will also keep the topics of Authorization and Authentication out of the mix. In essence, an API is a group of logic that takes in a specific set of inputs and responds with a specific set of outputs. This is analogous to going to a drive-thru and placing an order for a meal. When you give an API a bunch of"

    Pathworks P. - "To answer this, I will focus my efforts on explaining the most common type of API used in most modern software development applications - the REST API. For the purpose of simplicity, I will also keep the topics of Authorization and Authentication out of the mix. In essence, an API is a group of logic that takes in a specific set of inputs and responds with a specific set of outputs. This is analogous to going to a drive-thru and placing an order for a meal. When you give an API a bunch of"See full answer

    Software Engineer
    System Design
    +4 more
  • Amazon logoAsked at Amazon 
    3 answers

    "I started asking some questions regarding the constrains of the system: An antena is emitting a signal that says if the tagged device was out of the room where the interview was happening. I was able to decide which would be the schema for the Antena's message. The antena is sending the info of multiple users. The system doesn't need to push notification to the users when the user left the device behind. Upon reflection, this is what I recollected doing. I propuse the json schema a"

    Eduardo C. - "I started asking some questions regarding the constrains of the system: An antena is emitting a signal that says if the tagged device was out of the room where the interview was happening. I was able to decide which would be the schema for the Antena's message. The antena is sending the info of multiple users. The system doesn't need to push notification to the users when the user left the device behind. Upon reflection, this is what I recollected doing. I propuse the json schema a"See full answer

    Software Engineer
    System Design
  • Meta logoAsked at Meta 
    3 answers
    Video answer for 'Design Facebook Newsfeed.'

    "How might the system design change if it is limited specifically to a web/mobile use case?"

    San S. - "How might the system design change if it is limited specifically to a web/mobile use case?"See full answer

    System Design
    Product Design
  • Nvidia logoAsked at Nvidia 
    3 answers

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

  • Amazon logoAsked at Amazon 
    1 answer
    Video answer for 'Design a Distributed Message Queue'

    "Good Discussion on the distributed messaging queues (Complex topic with lot of nuances) Liked the mind-map style drawing of requirements and metrics capture Touched on different types of queue styles (point to point, pub-sub, fan-out/fan-in) Storage and WAL usage was interesting Some distributed queue challenges that could be helpful to highlight / expand are: Message guarantee / semantics - Ordering of messages across different servers Replication Master slave architecture or Pe"

    Karthik R. - "Good Discussion on the distributed messaging queues (Complex topic with lot of nuances) Liked the mind-map style drawing of requirements and metrics capture Touched on different types of queue styles (point to point, pub-sub, fan-out/fan-in) Storage and WAL usage was interesting Some distributed queue challenges that could be helpful to highlight / expand are: Message guarantee / semantics - Ordering of messages across different servers Replication Master slave architecture or Pe"See full answer

    Software Engineer
    System Design
  • Meta logoAsked at Meta 
    Add answer
    Software Engineer
    System Design
    +1 more
  • LinkedIn logoAsked at LinkedIn 
    Add answer
    Software Engineer
    System Design
  • Airbnb logoAsked at Airbnb 
    5 answers
    Video answer for 'Design Airbnb's search functionality.'
    +2

    "The back-of-the-envelope calculation is very well done!"

    Ushita S. - "The back-of-the-envelope calculation is very well done!"See full answer

    System Design
  • Capital One logoAsked at Capital One 
    1 answer

    "Functional Rquirements: User should be able to read account balance user should be able to withdraw money from account user should be able to add money to account user should be able to create a new account user should be able to cancel an opened account All of the above for Checkings and Savings account User should be able to pay credit card bill (similar to adding balance to checking and savings account) Non functional Requirements: ACID transactions. consistency > availabi"

    Alok S. - "Functional Rquirements: User should be able to read account balance user should be able to withdraw money from account user should be able to add money to account user should be able to create a new account user should be able to cancel an opened account All of the above for Checkings and Savings account User should be able to pay credit card bill (similar to adding balance to checking and savings account) Non functional Requirements: ACID transactions. consistency > availabi"See full answer

    Software Engineer
    System Design
  • Uber logoAsked at Uber 
    5 answers
    Video answer for 'Design Uber.'
    +2

    "Very helpful! But I have a question: the location of drivers can be changing every minute, so won't reading from location cache returning stale data?"

    Linying W. - "Very helpful! But I have a question: the location of drivers can be changing every minute, so won't reading from location cache returning stale data?"See full answer

    System Design
  • Meta logoAsked at Meta 
    3 answers

    "Scoped out problem constraints - how much data to download, how many computers, and how much time, how you can be detected (decentralized load). Designed a web crawler."

    Faraz A. - "Scoped out problem constraints - how much data to download, how many computers, and how much time, how you can be detected (decentralized load). Designed a web crawler."See full answer

    Engineering Manager
    System Design
    +1 more
  • Accenture logoAsked at Accenture 
    5 answers
    Video answer for 'Design an AI data product.'
    +2

    "Understand the business problem: Identify the business problem that the AI data product is intended to solve. Identify the target audience: Understand who will be using the data and what problem they will be solving for using the data. This will inform the features and functionality that should be included in the product. Gather and preprocess the data: Collect and preprocess the data that is relevant to the problem that it is being solved for. This will inform the AI algorithm"

    M D. - "Understand the business problem: Identify the business problem that the AI data product is intended to solve. Identify the target audience: Understand who will be using the data and what problem they will be solving for using the data. This will inform the features and functionality that should be included in the product. Gather and preprocess the data: Collect and preprocess the data that is relevant to the problem that it is being solved for. This will inform the AI algorithm"See full answer

    Data Analyst
    System Design
    +1 more
  • xAI logoAsked at xAI 
    1 answer

    "Which location you were interviewed? Can you please share some details?"

    K S. - "Which location you were interviewed? Can you please share some details?"See full answer

    Software Engineer
    System Design
  • Meta logoAsked at Meta 
    8 answers
    Video answer for 'Design the system architecture for WhatsApp.'
    +5

    "Excellent job Roshan, really liked the explanation. Which software were you using to explain the system design diagrams?"

    Krishnan S. - "Excellent job Roshan, really liked the explanation. Which software were you using to explain the system design diagrams?"See full answer

    System Design
    Technical
  • Google logoAsked at Google 
    1 answer

    "The question is bit vague (I guess deliberately) so I believe firstly we shall ask questions and resolve ambiguity. Some initial questions could be : 1) Is this one time activity or something that should be done on continuous basis. If continuous basis then at what frequency. 2) How much staleness is acceptable in SYSTEM Y data 3) Are there any limitation in SYSTEM Y and is it fair to assume that we would need some kind of transformation to bring data into SYSTEM Y schema. 4) What kind of vol"

    Kshitij A. - "The question is bit vague (I guess deliberately) so I believe firstly we shall ask questions and resolve ambiguity. Some initial questions could be : 1) Is this one time activity or something that should be done on continuous basis. If continuous basis then at what frequency. 2) How much staleness is acceptable in SYSTEM Y data 3) Are there any limitation in SYSTEM Y and is it fair to assume that we would need some kind of transformation to bring data into SYSTEM Y schema. 4) What kind of vol"See full answer

    Engineering Manager
    System Design
  • "Load Balancer, Multiple API Servers, game Service, pub-sub system, HTTP Long Polling for status updates, write-through cache. No SQL DB to store user, game, and move information."

    gdecuri - "Load Balancer, Multiple API Servers, game Service, pub-sub system, HTTP Long Polling for status updates, write-through cache. No SQL DB to store user, game, and move information."See full answer

    Engineering Manager
    System Design
  • Atlassian logoAsked at Atlassian 
    1 answer

    "The interviewer hinted that a two-tower recommender system might be a suitable approach, using user history to embed users and pages separately and train on view or interaction data. Instead, I proposed a different approach that I felt was more aligned with how knowledge is structured in Confluence: I designed a system using a graph database to model the relationships between Confluence pages. Each page is a node, and edges represent content-based references. For example, when one article"

    Clayton P. - "The interviewer hinted that a two-tower recommender system might be a suitable approach, using user history to embed users and pages separately and train on view or interaction data. Instead, I proposed a different approach that I felt was more aligned with how knowledge is structured in Confluence: I designed a system using a graph database to model the relationships between Confluence pages. Each page is a node, and edges represent content-based references. For example, when one article"See full answer

    Machine Learning Engineer
    System Design
    +2 more
  • Meta logoAsked at Meta 
    4 answers
    +1

    "System Components Data Collection Layer Posts with hashtags are asynchronously sent to Kafka topics Each message contains: hashtag, timestamp, userid, postid Multiple Kafka partitions ensure scalability and fault tolerance Processing Layer Apache Flink processes streams in real-time Implements sliding window aggregation (1hr, 24hr, 7d windows) Calculates topic popularity using weighted metrics: Post count User engagement (likes, comments) Unique user"

    Usman B. - "System Components Data Collection Layer Posts with hashtags are asynchronously sent to Kafka topics Each message contains: hashtag, timestamp, userid, postid Multiple Kafka partitions ensure scalability and fault tolerance Processing Layer Apache Flink processes streams in real-time Implements sliding window aggregation (1hr, 24hr, 7d windows) Calculates topic popularity using weighted metrics: Post count User engagement (likes, comments) Unique user"See full answer

    Engineering Manager
    System Design
Showing 81-100 of 390