System Design Interview Questions

Review this list of 350 system design interview questions and answers verified by hiring managers and candidates.
  • Meta (Facebook) logoAsked at Meta (Facebook) 
    Video answer for 'Design Facebook Messenger.'
    +54

    "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
  • Google logoAsked at Google 
    Machine Learning Engineer
    System Design
    +1 more
  • System Design
    Machine Learning
  • DoorDash logoAsked at DoorDash 

    "Functional Requirement User should be able to add review the food item/order User should be able to rate the food item delivered User should be able to Like/Dislike others reviews User should be able to see all reviews on a food item Users should be able to receive rewards based on criteria- (Quality of the reviews- Based on number of likes - Monthly cash card) OOS - Item is already ordered and exists in a separate system, User is authenticated. No Media Non Functional requireme"

    Anshika R. - "Functional Requirement User should be able to add review the food item/order User should be able to rate the food item delivered User should be able to Like/Dislike others reviews User should be able to see all reviews on a food item Users should be able to receive rewards based on criteria- (Quality of the reviews- Based on number of likes - Monthly cash card) OOS - Item is already ordered and exists in a separate system, User is authenticated. No Media Non Functional requireme"See full answer

    Engineering Manager
    System Design
  • Meta (Facebook) logoAsked at Meta (Facebook) 
    Video answer for 'Design Twitter.'
    +9

    "In the API design, the interviewer is switching between RPC style (operation based endpoints) and REST style (resource oriented). Sticking to one convention and explaining why it is preferred over the other e.g. REST if the twitter domain maps nicely to resources e.g. /tweet or /follower or /user would help to create a more consistent and unified API. It would make it easier for clients to integrate with the API as well."

    dreamingincode - "In the API design, the interviewer is switching between RPC style (operation based endpoints) and REST style (resource oriented). Sticking to one convention and explaining why it is preferred over the other e.g. REST if the twitter domain maps nicely to resources e.g. /tweet or /follower or /user would help to create a more consistent and unified API. It would make it easier for clients to integrate with the API as well."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.

  • +7

    "Clarifying questions: When we talk about a 'meditation app', are we mainly focusing on audio content? And are we thinking of this under a big brand or are we a fresh startup? Also, is our main target the US? And, are we designing mainly for individual use, or are we thinking about larger settings like schools? Interviewer: It's a startup. We're aiming for individual users, mainly in the US, and yes, an audio-based format. Summary till now: In today's digital age there's an increasi"

    Ankit M. - "Clarifying questions: When we talk about a 'meditation app', are we mainly focusing on audio content? And are we thinking of this under a big brand or are we a fresh startup? Also, is our main target the US? And, are we designing mainly for individual use, or are we thinking about larger settings like schools? Interviewer: It's a startup. We're aiming for individual users, mainly in the US, and yes, an audio-based format. Summary till now: In today's digital age there's an increasi"See full answer

    Product Manager
    System Design
    +1 more
  • Oracle logoAsked at Oracle 

    " At low level: I would use two stacks: one for forward history and other for backward history. i go to tryexponent.com => this url will be stored in backward history stack. i go to google => again this url will be stored in backward history stack. i press back => data from backward history will be popped and put in to forward history stack. I press forward => data from forward history stack will be popped and put in to backward history tab. Also, whenever i go to any url,"

    Anubhav S. - " At low level: I would use two stacks: one for forward history and other for backward history. i go to tryexponent.com => this url will be stored in backward history stack. i go to google => again this url will be stored in backward history stack. i press back => data from backward history will be popped and put in to forward history stack. I press forward => data from forward history stack will be popped and put in to backward history tab. Also, whenever i go to any url,"See full answer

    Software Engineer
    System Design
    +1 more
  • Amazon logoAsked at Amazon 
    Video answer for 'Design a reservation and payment system for a parking garage.'
    +10

    "Since there is a need for the data to be accurate and consistent without any latency to allocate a spot, can't the data be synchronously synced to replicas after every write as the number of writes are not many per min, instead of read lock phenomena Let me know if i am on a wrong thought here."

    Chitapuram N. - "Since there is a need for the data to be accurate and consistent without any latency to allocate a spot, can't the data be synchronously synced to replicas after every write as the number of writes are not many per min, instead of read lock phenomena Let me know if i am on a wrong thought here."See full answer

    Software Engineer
    System Design
    +2 more
  • Meta (Facebook) logoAsked at Meta (Facebook) 
    +2

    "Designing a Price Drop Tracker system like CamelCamelCamel involves creating a platform that tracks price changes for products on various e-commerce websites and notifies users when prices drop. Here’s a detailed system design for such a service: Functional Requirements User Registration and Authentication\: Users can register and log in. Support for social media logins (e.g., Google, Facebook). Product Tracking\: Users can add products to their watchlist for"

    Scott S. - "Designing a Price Drop Tracker system like CamelCamelCamel involves creating a platform that tracks price changes for products on various e-commerce websites and notifies users when prices drop. Here’s a detailed system design for such a service: Functional Requirements User Registration and Authentication\: Users can register and log in. Support for social media logins (e.g., Google, Facebook). Product Tracking\: Users can add products to their watchlist for"See full answer

    Engineering Manager
    System Design
  • Atlassian logoAsked at Atlassian 

    "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
  • System Design
  • Google logoAsked at Google 
    Software Engineer
    System Design
  • "Overall a very good summary of ranking problems. I wish there are more details in the post on depth of modeling. One can talk more about advance ML architectures like DCN, BertRec etc"

    Kapil D. - "Overall a very good summary of ranking problems. I wish there are more details in the post on depth of modeling. One can talk more about advance ML architectures like DCN, BertRec etc"See full answer

    System Design
    Machine Learning
  • OpenAI logoAsked at OpenAI 
    Video answer for 'Design ChatGPT'
    +1

    "The addition of an intermediate "sanitization" ML is something Neeraj used in the Uber Eats design and again seems kind of outside the scope here and redundant. This can simply be built into the AI response model to save a step. It's not clear what benefit this step provides, and he basically said we should have it "just because it would be good" and there's no concrete reasoning why to include it. Adding a Kafka queue to handle the thumbs-down ratings? For what purpose do you need a queue othe"

    Robert H. - "The addition of an intermediate "sanitization" ML is something Neeraj used in the Uber Eats design and again seems kind of outside the scope here and redundant. This can simply be built into the AI response model to save a step. It's not clear what benefit this step provides, and he basically said we should have it "just because it would be good" and there's no concrete reasoning why to include it. Adding a Kafka queue to handle the thumbs-down ratings? For what purpose do you need a queue othe"See full answer

    Software Engineer
    System Design
    +1 more
  • Meta (Facebook) logoAsked at Meta (Facebook) 
    Engineering Manager
    System Design
  • Microsoft logoAsked at Microsoft 
    Product Manager
    System Design
    +2 more
  • Snowflake logoAsked at Snowflake 

    "Wrote up a simple cache system using python dict. Added TTL requirement. Then went into code-level concurrency issues for the cache."

    S R. - "Wrote up a simple cache system using python dict. Added TTL requirement. Then went into code-level concurrency issues for the cache."See full answer

    Engineering Manager
    System Design
  • Amazon logoAsked at Amazon 
    +9

    "Rate Limiter is to limit the number of request from a particular IP Address. Rate limiter will block the IP address to reduce the load on server. It should be highly available and handle concurrent requests. Blocked IP addresses should be kept in a pool which is present in shared cache. We need to keep threshold value after it reaches threshold value it should start blocking IP address. All these ip address to be kept in No SQL DB. Batch will run that will clear the cache and delete all the bloc"

    Ashish G. - "Rate Limiter is to limit the number of request from a particular IP Address. Rate limiter will block the IP address to reduce the load on server. It should be highly available and handle concurrent requests. Blocked IP addresses should be kept in a pool which is present in shared cache. We need to keep threshold value after it reaches threshold value it should start blocking IP address. All these ip address to be kept in No SQL DB. Batch will run that will clear the cache and delete all the bloc"See full answer

    Software Engineer
    System Design
    +2 more
Showing 41-60 of 350