System Design Interview Questions

Review this list of 336 system design interview questions and answers verified by hiring managers and candidates.
  • "The DNS server of the site URL can identify the source of the traffic via GeoIP and redirect it to the Amazon services closest to that location. The load balancer, installed before the web server, can manage the load and redirect traffic to redundant services."

    Beth S. - "The DNS server of the site URL can identify the source of the traffic via GeoIP and redirect it to the Amazon services closest to that location. The load balancer, installed before the web server, can manage the load and redirect traffic to redundant services."See full answer

    Technical Program Manager
    System Design
  • Google logoAsked at Google 
    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
    +2 more
  • Meta (Facebook) logoAsked at Meta (Facebook) 
    Video answer for 'Design Facebook Messenger.'
    +53

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

  • 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
  • +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
  • Meta (Facebook) logoAsked at Meta (Facebook) 
    Video answer for 'Design Twitter.'
    +8

    "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
  • 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
  • System Design
  • Amazon logoAsked at Amazon 
    Video answer for 'Design a reservation and payment system for a parking garage.'
    +7

    "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

    Engineering Manager
    System Design
    +2 more
  • System Design
    Machine Learning
  • OpenAI logoAsked at OpenAI 
    Video answer for 'Design ChatGPT'

    "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) 

    "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
  • Technical Program Manager
    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
  • "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

    System Design
  • " Thanks a lot for showing us how a recommender system can be build. I see it was proposed to use Collaborative filtering which is user - item matrix having dimension N * M (where N - number os users and M - number of songs). Though, it was explained how it gonna be built, it is still unclear how all users and songs features are going to be used. In that matrix we have values in cell (lets say i, j) like 1 - a specific user (i) clicked on song (j) when it was recommended or it is 0 when the user"

    Dinar M. - " Thanks a lot for showing us how a recommender system can be build. I see it was proposed to use Collaborative filtering which is user - item matrix having dimension N * M (where N - number os users and M - number of songs). Though, it was explained how it gonna be built, it is still unclear how all users and songs features are going to be used. In that matrix we have values in cell (lets say i, j) like 1 - a specific user (i) clicked on song (j) when it was recommended or it is 0 when the user"See full answer

    System Design
    Technical
    +1 more
  • Google logoAsked at Google 

    "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
Showing 41-60 of 336