Skip to main content

Google System Design Interview Questions

Review this list of 62 Google System Design interview questions and answers verified by hiring managers and candidates.
  • Google logoAsked at Google 

    "Constrain the requirements (The final product should be somewhat like Neptune AI and also enable for A/B testing) Do some back of the envelope calculations Start explaning your system with appropriate architecture diagrams Optimize for scale Answer any questions Wrap-up"

    Varun G. - "Constrain the requirements (The final product should be somewhat like Neptune AI and also enable for A/B testing) Do some back of the envelope calculations Start explaning your system with appropriate architecture diagrams Optimize for scale Answer any questions Wrap-up"See full answer

    Machine Learning Engineer
    System Design
    +1 more
  • Google logoAsked at Google 
    +8

    "So here is what I would do if I had to designing a system to log messages in order involves several considerations, including the choice of software, hardware, storage mechanisms, and scalability. Here’s how I would approach this: 1. Requirements Analysis: Message Format: Define the structure of the messages to log (e.g., text, JSON). Volume: Estimate the expected volume of messages per second. This will help in determining the infrastructure requirements. **Order Guarantee"

    Theodore (teddy) W. - "So here is what I would do if I had to designing a system to log messages in order involves several considerations, including the choice of software, hardware, storage mechanisms, and scalability. Here’s how I would approach this: 1. Requirements Analysis: Message Format: Define the structure of the messages to log (e.g., text, JSON). Volume: Estimate the expected volume of messages per second. This will help in determining the infrastructure requirements. **Order Guarantee"See full answer

    Software Engineer
    System Design
  • Google logoAsked at Google 
    +1

    "I would start with some clarifying questions like: Is there a deadline when all these needs to be updated by? Do we have upgrade scripts ready? When do we have change freeze? Once I have these few clarifying answers I would start planning: I would meet with all the teams involved in the upgrades Document any resources downtime during the upgrade create a risk registry along with mitigation plan Roll back plan create a phased rollout plan based on deadline Post upgrade get a"

    Ekta M. - "I would start with some clarifying questions like: Is there a deadline when all these needs to be updated by? Do we have upgrade scripts ready? When do we have change freeze? Once I have these few clarifying answers I would start planning: I would meet with all the teams involved in the upgrades Document any resources downtime during the upgrade create a risk registry along with mitigation plan Roll back plan create a phased rollout plan based on deadline Post upgrade get a"See full answer

    Technical Program Manager
    System Design
    +1 more
  • +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
  • Google logoAsked at Google 
    +56

    "Clarifying question: When you say users, what specific metric are we talking about?  Answer: we want to increase # of daily active users.  Assume active users are logged in users. Is there a region that we have in mind for this increase? Assume no, we want to think about globally Is there a specific device (mobile vs desktop) ? Assume no Approach: I want to first think about Youtube, its mission and current business at a high level. . Then I want to think about the current ecos"

    Yespm T. - "Clarifying question: When you say users, what specific metric are we talking about?  Answer: we want to increase # of daily active users.  Assume active users are logged in users. Is there a region that we have in mind for this increase? Assume no, we want to think about globally Is there a specific device (mobile vs desktop) ? Assume no Approach: I want to first think about Youtube, its mission and current business at a high level. . Then I want to think about the current ecos"See full answer

    System Design
    Product Strategy
  • 🧠 Want an expert answer to a question? Saving questions lets us know what content to make next.

  • Google logoAsked at Google 

    "Firstly, In designing a denoising system for sounds, I would start by clarifying the type of noise either stationary or non-stationary and application constraints which are the latency, scalability, accuracy and deployability. For real-time systems like Google meet, I will prefer a hybrid DSP + ML model like RNNoise. For batch processing like YouTube audio enhancement, a deep learn-based system such as Demucs or SEGAN would work well. Then I will need to evaluate how well the system improves aud"

    Precious H. - "Firstly, In designing a denoising system for sounds, I would start by clarifying the type of noise either stationary or non-stationary and application constraints which are the latency, scalability, accuracy and deployability. For real-time systems like Google meet, I will prefer a hybrid DSP + ML model like RNNoise. For batch processing like YouTube audio enhancement, a deep learn-based system such as Demucs or SEGAN would work well. Then I will need to evaluate how well the system improves aud"See full answer

    Machine Learning Engineer
    System Design
  • Google logoAsked at Google 
    Video answer for 'Design TikTok.'
    +18

    "I watched a couple of videos like this, one of them by Exponent staff (I think). It was disappointing that the architecture diagram and the walkthrough was a general layered architecture that you can apply to any backend system. I was wondering if there are videos that can be considered a reference material to watch, learn and improve on the tech (sys design) skills, and not so much about the soft skills."

    BriskD - "I watched a couple of videos like this, one of them by Exponent staff (I think). It was disappointing that the architecture diagram and the walkthrough was a general layered architecture that you can apply to any backend system. I was wondering if there are videos that can be considered a reference material to watch, learn and improve on the tech (sys design) skills, and not so much about the soft skills."See full answer

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

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

    Engineering Manager
    System Design
    +1 more
  • Google logoAsked at Google 
    Machine Learning Engineer
    System Design
    +1 more
  • Google logoAsked at Google 
    Video answer for 'Design a rate limiter.'
    +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
    +1 more
  • Google logoAsked at Google 
    Video answer for 'Design a web crawler.'
    +7

    "I think, robots.txt file is provided by websites which web-crawler is crawling. Am I wrong somewhere or missing some context?"

    S V. - "I think, robots.txt file is provided by websites which web-crawler is crawling. Am I wrong somewhere or missing some context?"See full answer

    Engineering Manager
    System Design
    +1 more
  • Google logoAsked at Google 
    +7

    "Great. I will start by understanding the goal of Google Photos and how it aligns with the goal and mission of Google. After defining goals, I will talk about the user actions which will contribute towards this goal. Based on these actions, we will define metrics. Check-in with the interviewer on the approach here. Assuming that this looks good for the interviewer to proceed. Google Photo - Helping users organise & manage their pictures. Completely in line with Google's mission. Thinking ab"

    Harshit G. - "Great. I will start by understanding the goal of Google Photos and how it aligns with the goal and mission of Google. After defining goals, I will talk about the user actions which will contribute towards this goal. Based on these actions, we will define metrics. Check-in with the interviewer on the approach here. Assuming that this looks good for the interviewer to proceed. Google Photo - Helping users organise & manage their pictures. Completely in line with Google's mission. Thinking ab"See full answer

    Product Manager
    System Design
    +1 more
  • Google logoAsked at Google 
    Video answer for 'Design a metrics and logging service.'
    +1

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

    "I would first like to clarify the requirements and assumptions for the system. I am assuming that the system should support basic file operations such as uploading, downloading, deleting, renaming files, and viewing directory structures along with file permissions. The file size can range from around 1MB to 1GB, and the system is expected to be read heavy, meaning downloads will be more frequent than uploads. The system should support a large scale, for example around 10 million total users with"

    Yashasvi C. - "I would first like to clarify the requirements and assumptions for the system. I am assuming that the system should support basic file operations such as uploading, downloading, deleting, renaming files, and viewing directory structures along with file permissions. The file size can range from around 1MB to 1GB, and the system is expected to be read heavy, meaning downloads will be more frequent than uploads. The system should support a large scale, for example around 10 million total users with"See full answer

    Software Engineer
    System Design
    +1 more
  • +3

    "Equation: Cost = Amount of storage required per year * Cost per year * 3 Amount of storage required per year = DAU * Storage requirement/user * 365 Assumptions: Cost per year = $99 = $100 Smart phone growth rate = 2% (But negligible at Pixel level) Annual Smart phone users = 2.8B Android users = 76% Google Pixel users = 1% Total Users = 2.8B * 0.01 = 280M *0.01 = 2.8M Method 1: Cost = Active Users + Cost/year * Number of years Cost = 3* 2.8M * $100 = 8.4M*100 = $840M Cost = $8.4B Method 2: C"

    Nitika B. - "Equation: Cost = Amount of storage required per year * Cost per year * 3 Amount of storage required per year = DAU * Storage requirement/user * 365 Assumptions: Cost per year = $99 = $100 Smart phone growth rate = 2% (But negligible at Pixel level) Annual Smart phone users = 2.8B Android users = 76% Google Pixel users = 1% Total Users = 2.8B * 0.01 = 280M *0.01 = 2.8M Method 1: Cost = Active Users + Cost/year * Number of years Cost = 3* 2.8M * $100 = 8.4M*100 = $840M Cost = $8.4B Method 2: C"See full answer

    System Design
    Estimation
  • "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
  • Google logoAsked at Google 
    Video answer for 'Design a key-value store.'

    "Simple file system ( Hash Map , LSM trees), and consistent hashing. I failed to discuss about conflicts ( Versioning)"

    V V. - "Simple file system ( Hash Map , LSM trees), and consistent hashing. I failed to discuss about conflicts ( Versioning)"See full answer

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

    "I will start with discussing the Google mission statement, which is to organize the world's information and make it easily accessible to everyone to help them get things done, and make their day a bit easier. I will think about building something that will leapfrog this mission. Google has already organized all of the world's public digital information in the current state. There are opportunities to get more information into a digital form. But there are also significant improvements in mak"

    Praveen - "I will start with discussing the Google mission statement, which is to organize the world's information and make it easily accessible to everyone to help them get things done, and make their day a bit easier. I will think about building something that will leapfrog this mission. Google has already organized all of the world's public digital information in the current state. There are opportunities to get more information into a digital form. But there are also significant improvements in mak"See full answer

    Product Manager
    System Design
    +1 more
Showing 1-20 of 62