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.
  • Google logoAsked at Google 
    +7

    "Came up with following strategy: take logs from user and send to LogService via API GW LogService takes the responsibility of generating time based SequenceId and persist the log in NoSQL (DDB) with key as SequenceId as primary key and timein_millis as sort (secondary) key. There are many system design tutorials on generating sequential sequence id where prefix is current time in epoch (milliseconds) Since there would be many LogService servers, spread across different availability zo"

    Shahnawaz A. - "Came up with following strategy: take logs from user and send to LogService via API GW LogService takes the responsibility of generating time based SequenceId and persist the log in NoSQL (DDB) with key as SequenceId as primary key and timein_millis as sort (secondary) key. There are many system design tutorials on generating sequential sequence id where prefix is current time in epoch (milliseconds) Since there would be many LogService servers, spread across different availability zo"See full answer

    Software Engineer
    System Design
  • Amazon logoAsked at Amazon 

    "The below system design addresses the requirements for a scalable distributed onboarding service, focusing on robust data validation, asynchronous processing, real-time aggregation, and efficient querying of metadata. Core Principles: Asynchronous Processing: Decouple components to ensure high throughput and responsiveness. Scalability & Elasticity: Utilize technologies that can scale horizontally to handle varying loads. Data Durability & Integrity: Ensure no data l"

    Anonymous Mongoose - "The below system design addresses the requirements for a scalable distributed onboarding service, focusing on robust data validation, asynchronous processing, real-time aggregation, and efficient querying of metadata. Core Principles: Asynchronous Processing: Decouple components to ensure high throughput and responsiveness. Scalability & Elasticity: Utilize technologies that can scale horizontally to handle varying loads. Data Durability & Integrity: Ensure no data l"See full answer

    Software Engineer
    System Design
  • LinkedIn logoAsked at LinkedIn 
    Software Engineer
    System Design
  • Amazon logoAsked at Amazon 

    "1. Requirements Analysis Functional Requirements Video streaming with multiple quality levels Content browsing and search Continue watching functionality Content recommendations Non-Functional Requirements Low latency video delivery (<2s startup time) High availability (99.99% uptime) Scalability to handle millions of concurrent streams API response time < 100ms 2. Microservices Architecture Core Microservices Content Service Content metadata mana"

    Vince S. - "1. Requirements Analysis Functional Requirements Video streaming with multiple quality levels Content browsing and search Continue watching functionality Content recommendations Non-Functional Requirements Low latency video delivery (<2s startup time) High availability (99.99% uptime) Scalability to handle millions of concurrent streams API response time < 100ms 2. Microservices Architecture Core Microservices Content Service Content metadata mana"See full answer

    Software Engineer
    System Design
  • +9

    "Designing a system to deny services to requests from banned IPs involves integrating real-time IP checking with your service architecture. Here’s a detailed outline of how you can design such a system: System Design Overview The goal is to ensure that your service can efficiently check incoming requests against a list of banned IPs and deny access when necessary. The system will leverage an external API, security.gov.x, to determine if an IP address is blocked or allowed. **Key Compone"

    Palak A. - "Designing a system to deny services to requests from banned IPs involves integrating real-time IP checking with your service architecture. Here’s a detailed outline of how you can design such a system: System Design Overview The goal is to ensure that your service can efficiently check incoming requests against a list of banned IPs and deny access when necessary. The system will leverage an external API, security.gov.x, to determine if an IP address is blocked or allowed. **Key Compone"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.

  • Amazon logoAsked at Amazon 
    Video answer for 'Design Instagram.'
    +49

    "Very well done."

    Vijay M. - "Very well done."See full answer

    Software Engineer
    System Design
    +3 more
  • 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
  • Google logoAsked at Google 
    +55

    "Approach Clarify the question Define deaf --> unable to hear, but can communicate via sign language, lip read and use all other senses Define fire alarm --> for residential use, it notifies occupants of smoke and potential fires and alerts fire department to check in and/or come over Define constraints --> budgetary constraint, design should be user-friendly and convenient Define goals --> get folks out of harm's way quickly and notify fire department to c"

    Bella R. - "Approach Clarify the question Define deaf --> unable to hear, but can communicate via sign language, lip read and use all other senses Define fire alarm --> for residential use, it notifies occupants of smoke and potential fires and alerts fire department to check in and/or come over Define constraints --> budgetary constraint, design should be user-friendly and convenient Define goals --> get folks out of harm's way quickly and notify fire department to c"See full answer

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

    "The interviewer was interested how the system design would be for files, directories, symbolic links. After proposing my idea, I was asked to print all files for a given path."

    B. T. - "The interviewer was interested how the system design would be for files, directories, symbolic links. After proposing my idea, I was asked to print all files for a given path."See full answer

    Software Engineer
    System Design
  • Amazon logoAsked at Amazon 
    +1

    " To clarify on what we are trying to solve for and get the definition of a distributed scheduler straight . So A Distributed Scheduler refers to a system that can handle job scheduling and execution in a scalable and fault-tolerant manner by distributing the workload across multiple servers or nodes. we will make some assumptions with the design , as follows: we will assume 10,000 QPS for job submissions and should be able query for jobs status . Job execution should have minimal latency"

    Scott S. - " To clarify on what we are trying to solve for and get the definition of a distributed scheduler straight . So A Distributed Scheduler refers to a system that can handle job scheduling and execution in a scalable and fault-tolerant manner by distributing the workload across multiple servers or nodes. we will make some assumptions with the design , as follows: we will assume 10,000 QPS for job submissions and should be able query for jobs status . Job execution should have minimal latency"See full answer

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

    "I tried solving this problem and here is the recorded video for the answer. https://www.youtube.com/watch?v=d1tOkeQjyI4 And here is the link to Excalidraw board - https://excalidraw.com/#json=uabNFHcZm5qNh8CInMvyh,Wn9Vf1ZhGdl_iBCQYFkYdw"

    Rjj - "I tried solving this problem and here is the recorded video for the answer. https://www.youtube.com/watch?v=d1tOkeQjyI4 And here is the link to Excalidraw board - https://excalidraw.com/#json=uabNFHcZm5qNh8CInMvyh,Wn9Vf1ZhGdl_iBCQYFkYdw"See full answer

    Software Engineer
    System Design
    +1 more
  • +4

    "Functional Requirement Ingest Book Reviews in real time User in the website needs specify title tho search books, return response is the list of reviews on the books. Non Functional Requirement: User get real-time book reviews> It nees to handle the search among 1 million of active users daily"

    Simon O. - "Functional Requirement Ingest Book Reviews in real time User in the website needs specify title tho search books, return response is the list of reviews on the books. Non Functional Requirement: User get real-time book reviews> It nees to handle the search among 1 million of active users daily"See full answer

    Software Engineer
    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.'
    +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

    Software Engineer
    System Design
    +2 more
  • 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
  • Amazon logoAsked at Amazon 
    +8

    "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
  • Google logoAsked at Google 
    Software Engineer
    System Design
    +1 more
  • Amazon logoAsked at Amazon 

    "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
  • Booking.com logoAsked at Booking.com 
    Video answer for 'Design a metrics and logging service.'

    "For somebody who needs accessibility accommodation, this doesn't have a transcript so it is not useful to me."

    Shivastuti K. - "For somebody who needs accessibility accommodation, this doesn't have a transcript so it is not useful to me."See full answer

    Software Engineer
    System Design
    +2 more
  • Adobe logoAsked at Adobe 
    Software Engineer
    System Design
Showing 1-20 of 70