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

  • System Design
    Machine Learning
  • 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
  • LinkedIn logoAsked at LinkedIn 
    Software Engineer
    System Design
  • DoorDash logoAsked at DoorDash 

    "Prompt: We work for an online shopping website. Our team wants to consider offering discounts (e.g. 10% off your next purchase) to customers to incentivize them to make purchases. How would you design a system that decides how to offer these incentives? Answer Goals: Increase customer engagement while controlling costs. Specifically, we want the increase in revenue per customer per week of customers that receive the discount to be greater than the cost of the discount. Metrics: Revenue per cu"

    Michael F. - "Prompt: We work for an online shopping website. Our team wants to consider offering discounts (e.g. 10% off your next purchase) to customers to incentivize them to make purchases. How would you design a system that decides how to offer these incentives? Answer Goals: Increase customer engagement while controlling costs. Specifically, we want the increase in revenue per customer per week of customers that receive the discount to be greater than the cost of the discount. Metrics: Revenue per cu"See full answer

    Machine Learning Engineer
    System Design
  • Nvidia logoAsked at Nvidia 

    "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
  • 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
  • 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
  • "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
  • 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
  • Amazon logoAsked at Amazon 

    "separate your application into three distinct layers: a Presentation Tier for the user interface, an Application Tier for business logic, and a Data Tier for data storage. Implement each tier using appropriate technologies, deploy them across different network segments for security, and configure communication protocols to allow for independent management and scaling."

    Teja G. - "separate your application into three distinct layers: a Presentation Tier for the user interface, an Application Tier for business logic, and a Data Tier for data storage. Implement each tier using appropriate technologies, deploy them across different network segments for security, and configure communication protocols to allow for independent management and scaling."See full answer

    Solutions Architect
    System Design
  • 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
  • Stripe logoAsked at Stripe 
    Engineering Manager
    System Design
  • Anthropic logoAsked at Anthropic 
    Video answer for 'Design a web crawler.'
    +7

    "I don't get the capcity numbers for the storage, if we assume that we crawl 1bn web pages then the formula is "1bn X 100kb" . There is an extra 100 representing the number of pages that is redundant in the video"

    Selim Y. - "I don't get the capcity numbers for the storage, if we assume that we crawl 1bn web pages then the formula is "1bn X 100kb" . There is an extra 100 representing the number of pages that is redundant in the video"See full answer

    Engineering Manager
    System Design
    +1 more
Showing 41-60 of 359