Software Engineer System Design Interview Questions

Review this list of 70 system design software engineer interview questions and answers verified by hiring managers and candidates.
  • Netflix logoAsked at Netflix 
    Video answer for 'Design a streaming service like Netflix.'

    "using a relational database isn't a good choice for this system! we need more availability here than consistency (CAP theorem)"

    Anonymous Capybara - "using a relational database isn't a good choice for this system! we need more availability here than consistency (CAP theorem)"See full answer

    Software Engineer
    System Design
    +1 more
  • Amazon logoAsked at Amazon 
    Video answer for 'Design a URL shortener.'
    +19

    "I studied Exponent's TinyURL system design video. My interviewer was asking many detailed questions on API design, schema, as well as data required to store. I found system design questions are bit high level instead of depth. I think should have detail design of API, schema and some additional flavors."

    Yag S. - "I studied Exponent's TinyURL system design video. My interviewer was asking many detailed questions on API design, schema, as well as data required to store. I found system design questions are bit high level instead of depth. I think should have detail design of API, schema and some additional flavors."See full answer

    Software Engineer
    System Design
    +1 more
  • Google logoAsked at Google 
    Video answer for 'Design a visual landmark recognition system.'
    +3

    "I understand this is more focused on ML. However, I have a system question. If users allow us to access their location, or they send location via text box, could we use CDNs for the search without hitting our database? We only query the database when we have zero information on location. Other questions: does embedding always guarantee information on location? Do we discharge the user images after we return a prediction? I heard the feedback that we should keep it for future learning. What would"

    Bini T. - "I understand this is more focused on ML. However, I have a system question. If users allow us to access their location, or they send location via text box, could we use CDNs for the search without hitting our database? We only query the database when we have zero information on location. Other questions: does embedding always guarantee information on location? Do we discharge the user images after we return a prediction? I heard the feedback that we should keep it for future learning. What would"See full answer

    Software Engineer
    System Design
    +1 more
  • Visa logoAsked at Visa 
    Software Engineer
    System Design
  • Amazon logoAsked at Amazon 

    "I saw this question in one of my interviews."

    Ven E. - "I saw this question in one of my interviews."See full answer

    Software Engineer
    System Design
    +2 more
  • 🧠 Want an expert answer to a question? Saving questions lets us know what content to make next.

  • Meta (Facebook) logoAsked at Meta (Facebook) 

    "I tried solving this question and here is the recorded video for the entire solution - https://youtu.be/G_LIbTp58XA Feel free to comment here or on the video for further discussion."

    Rjj - "I tried solving this question and here is the recorded video for the entire solution - https://youtu.be/G_LIbTp58XA Feel free to comment here or on the video for further discussion."See full answer

    Software Engineer
    System Design
    +2 more
  • Stripe logoAsked at Stripe 

    "TCP server/client to facilitate high throughput of incoming metrics.(This is the standard used in the industry by Datadog etc). NoSQL or timeseries database for storing metrics. Timeseries databases are better for aggregating metrics in a given time period. REST API for serving metrics data to visualization frontend."

    Abhi R. - "TCP server/client to facilitate high throughput of incoming metrics.(This is the standard used in the industry by Datadog etc). NoSQL or timeseries database for storing metrics. Timeseries databases are better for aggregating metrics in a given time period. REST API for serving metrics data to visualization frontend."See full answer

    Software Engineer
    System Design
  • Asked at The Trade Desk 

    "Design the cache, set policy like LRU or other custom policies."

    Poha - "Design the cache, set policy like LRU or other custom policies."See full answer

    Software Engineer
    System Design
  • Meta (Facebook) logoAsked at Meta (Facebook) 

    "Microservices are small parts of a application we can deploy them seprately and use them as a application feature."

    Anonymous Salamander - "Microservices are small parts of a application we can deploy them seprately and use them as a application feature."See full answer

    Software Engineer
    System Design
  • Amazon logoAsked at Amazon 

    "Functional Requirement Monitor health, metrics Alert in case of failure/anomaly Visualize the live health Analyse machines on periodic basis Non Functional Should not exert load on machines low latency Highly scalable Logs/Metrics Gathering push - machine gather and send to system and low priority background thread along with batching pull - heart beat check (for offline machines) Processing Real time streaming using Kafka/kinesis + Flink TimeSeries database for stor"

    Sourabh G. - "Functional Requirement Monitor health, metrics Alert in case of failure/anomaly Visualize the live health Analyse machines on periodic basis Non Functional Should not exert load on machines low latency Highly scalable Logs/Metrics Gathering push - machine gather and send to system and low priority background thread along with batching pull - heart beat check (for offline machines) Processing Real time streaming using Kafka/kinesis + Flink TimeSeries database for stor"See full answer

    Software Engineer
    System Design
    +2 more
  • Affirm logoAsked at Affirm 

    "The interviewer focused on the data models and steered the conversation there from the beginning. He had a specific design in mind and I just wasn't hitting it. He also wanted details on how I would implement the logic for splitting users into variants. I would recommend reading the LinkedIn blog on their AB Test system design."

    Anonymous Kingfisher - "The interviewer focused on the data models and steered the conversation there from the beginning. He had a specific design in mind and I just wasn't hitting it. He also wanted details on how I would implement the logic for splitting users into variants. I would recommend reading the LinkedIn blog on their AB Test system design."See full answer

    Software Engineer
    System Design
  • Meta (Facebook) logoAsked at Meta (Facebook) 
    Video answer for 'Design an API for searching a folder.'
    Software Engineer
    System Design
    +1 more
  • Google logoAsked at Google 

    "A load balancer accepts requests from clients (e.g. web browsers on the Internet) and backend services (e.g. a web server). Load balancers are useful for replicating backend services onto multiple machines to meet increased demand. The design of a load balancer should address the following questions: What protocols should be supported? IP allows computers to communicate using packets, similarly to how people send letters. IP packets are addressed using an IP address and port number. "

    Anonymous Hyena - "A load balancer accepts requests from clients (e.g. web browsers on the Internet) and backend services (e.g. a web server). Load balancers are useful for replicating backend services onto multiple machines to meet increased demand. The design of a load balancer should address the following questions: What protocols should be supported? IP allows computers to communicate using packets, similarly to how people send letters. IP packets are addressed using an IP address and port number. "See full answer

    Software Engineer
    System Design
  • "Get data from database CDC to Kafka; Write from Kafka to a Bucket; Send the batch file to Visa from time to time;"

    Roger R. - "Get data from database CDC to Kafka; Write from Kafka to a Bucket; Send the batch file to Visa from time to time;"See full answer

    Software Engineer
    System Design
  • Snowflake logoAsked at Snowflake 

    "Did pretty ok. Gathered requirements, back of the envelope calculations and drew out the typical system design with details of components. Dug in deep into each box and probed around why it was needed."

    S R. - "Did pretty ok. Gathered requirements, back of the envelope calculations and drew out the typical system design with details of components. Dug in deep into each box and probed around why it was needed."See full answer

    Software Engineer
    System Design
    +2 more
  • TikTok logoAsked at TikTok 

    "This system design question is very small compared to other questions like design instagram, twitter, google drive etc... Since the design involves less components the level of detail we have to go in them were deep. I had to explain how to deal with all the NFR for the distributed cache system. Whether it is a push model or a pull model. Hade to do BOE calculations for the database too."

    Jagan M. - "This system design question is very small compared to other questions like design instagram, twitter, google drive etc... Since the design involves less components the level of detail we have to go in them were deep. I had to explain how to deal with all the NFR for the distributed cache system. Whether it is a push model or a pull model. Hade to do BOE calculations for the database too."See full answer

    Software Engineer
    System Design
    +1 more
  • Apple logoAsked at Apple 
    Software Engineer
    System Design
  • Notion logoAsked at Notion 
    Software Engineer
    System Design
  • "Understood the problem statement by confirming details with interviewer. Approached by listing down all the basic features being provided by the platform. Platform -> Organizations can register themselves. One org can have more than one recruiters. Recruiters create jobs on the org portal. Candidate can apply to the jobs. Recruiters can accept and reject the applications. Categorized 4 parent tables by taking hints in between. The tables were USER -> ID, Name, Phone No, mail ID, Profile Des.("

    Jaya S. - "Understood the problem statement by confirming details with interviewer. Approached by listing down all the basic features being provided by the platform. Platform -> Organizations can register themselves. One org can have more than one recruiters. Recruiters create jobs on the org portal. Candidate can apply to the jobs. Recruiters can accept and reject the applications. Categorized 4 parent tables by taking hints in between. The tables were USER -> ID, Name, Phone No, mail ID, Profile Des.("See full answer

    Software Engineer
    System Design
Showing 41-60 of 70