Google Software Engineer Interview Questions

Review this list of 82 Google software engineer interview questions and answers verified by hiring managers and candidates.
  • Google logoAsked at Google 
    Video answer for 'Tell me about a time you made a mistake.'
    +90

    "Let me tell you about a time where a website I managed suddenly showed slow performance and the mistake on our side was it was unnoticed until a user reported the issue to management. As a PM for that project, I took full responsibility of the situation and worked with the engineering team to quickly resolve it. This mistake taught me the importance of focusing and monitoring non functional requirements as well in addition to new feature development /adoption where I was mostly spending my time"

    Sreenisha S. - "Let me tell you about a time where a website I managed suddenly showed slow performance and the mistake on our side was it was unnoticed until a user reported the issue to management. As a PM for that project, I took full responsibility of the situation and worked with the engineering team to quickly resolve it. This mistake taught me the importance of focusing and monitoring non functional requirements as well in addition to new feature development /adoption where I was mostly spending my time"See full answer

    Software Engineer
    Behavioral
    +6 more
  • Google logoAsked at Google 
    +8

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

    "I most want to communicate a few principals of conflict resolution that I believe were integral in this situation, which are mutual respect, a results orientation, an unwavering focus on the user. To that end, here’s how I’d like to structure this answer: First, I’ll tell you about the project we were working on, to provide some background for you. Second, I’ll describe the disagreement. Third, I’ll describe how we arrived at a solution, and finally, I’ll discuss how those 3 conflict resolut"

    Ross B. - "I most want to communicate a few principals of conflict resolution that I believe were integral in this situation, which are mutual respect, a results orientation, an unwavering focus on the user. To that end, here’s how I’d like to structure this answer: First, I’ll tell you about the project we were working on, to provide some background for you. Second, I’ll describe the disagreement. Third, I’ll describe how we arrived at a solution, and finally, I’ll discuss how those 3 conflict resolut"See full answer

    Software Engineer
    Behavioral
    +5 more
  • Google logoAsked at Google 
    Video answer for 'Edit distance'
    +18

    "from collections import deque def updateword(words, startword, end_word): if end_word not in words: return None # Early exit if end_word is not in the dictionary queue = deque([(start_word, 0)]) # (word, steps) visited = set([start_word]) # Keep track of visited words while queue: word, steps = queue.popleft() if word == end_word: return steps # Found the target word, return steps for i in range(len(word)): "

    叶 路. - "from collections import deque def updateword(words, startword, end_word): if end_word not in words: return None # Early exit if end_word is not in the dictionary queue = deque([(start_word, 0)]) # (word, steps) visited = set([start_word]) # Keep track of visited words while queue: word, steps = queue.popleft() if word == end_word: return steps # Found the target word, return steps for i in range(len(word)): "See full answer

    Software Engineer
    Data Structures & Algorithms
    +3 more
  • +26

    "We had a huge launch on September 1st of this year where we completely redesigned our application from the grounds up and also migrated to a new platform (React.JS). This project took us 8 months and the launch was a huge deal for the team. Unfortunately the launch wasn't as smooth as we expected and despite doing multiple rounds of QA, some major issues cropped up in the core part of the app right after launch and our client was quite upset since it was disrupting their day-to-day workflow. "

    Aabid S. - "We had a huge launch on September 1st of this year where we completely redesigned our application from the grounds up and also migrated to a new platform (React.JS). This project took us 8 months and the launch was a huge deal for the team. Unfortunately the launch wasn't as smooth as we expected and despite doing multiple rounds of QA, some major issues cropped up in the core part of the app right after launch and our client was quite upset since it was disrupting their day-to-day workflow. "See full answer

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

  • "Function signature for reference: def calculate(servers: List[int], k: int) -> int: ... To resolve this, you can use binary search considering left=0 and right=max(servers) * k so Example: servers=[1,4,5] First server handle 1 request in let's say 1 second, second 4 seconds and last 5 seconds. k=10 So I want to know the minimal time to process 10 requests Get the mid for timeline mid = (left+right)//2 -> mid is 25 Check how many we could process 25//1 = 25 25//4=6 25//5=5 so 25 + 6 +"

    Babaa - "Function signature for reference: def calculate(servers: List[int], k: int) -> int: ... To resolve this, you can use binary search considering left=0 and right=max(servers) * k so Example: servers=[1,4,5] First server handle 1 request in let's say 1 second, second 4 seconds and last 5 seconds. k=10 So I want to know the minimal time to process 10 requests Get the mid for timeline mid = (left+right)//2 -> mid is 25 Check how many we could process 25//1 = 25 25//4=6 25//5=5 so 25 + 6 +"See full answer

    Software Engineer
    Coding
  • +42

    "A clarifying question: Is this question asking about when I met a tight deadline in a project or how did I manage a project that had a tight deadline? The answer uploaded to this question is good, I would also add 'creating a critical path from overall project schedule and then making sure that none of the deliverables in the critical path are sacrificed in order to meet the tight deadline' as an action taken."

    Ushita S. - "A clarifying question: Is this question asking about when I met a tight deadline in a project or how did I manage a project that had a tight deadline? The answer uploaded to this question is good, I would also add 'creating a critical path from overall project schedule and then making sure that none of the deliverables in the critical path are sacrificed in order to meet the tight deadline' as an action taken."See full answer

    Software Engineer
    Behavioral
    +5 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 
    Video answer for 'Tell me about a time when you solved a complex problem and how you went about it.'
    +11

    "I work at a startup that makes software for Law Enforcement and the FBI. Our product analyzes calls being made by prison inmates and "listens" for predictors of violence and criminal behavior. Our clients are some of the top state prisons in the country. Recently one of the largest states in the country decided to evaluate our product for their prison system. I demo'd the product to the officers and they seemed to like everything. During the presentation they asked us if the product was ADA com"

    Aabid S. - "I work at a startup that makes software for Law Enforcement and the FBI. Our product analyzes calls being made by prison inmates and "listens" for predictors of violence and criminal behavior. Our clients are some of the top state prisons in the country. Recently one of the largest states in the country decided to evaluate our product for their prison system. I demo'd the product to the officers and they seemed to like everything. During the presentation they asked us if the product was ADA com"See full answer

    Software Engineer
    Behavioral
    +5 more
  • Google logoAsked at Google 
    +32

    "Was this for an entry level engineer role?"

    Yeshwanth D. - "Was this for an entry level engineer role?"See full answer

    Software Engineer
    Data Structures & Algorithms
    +4 more
  • Google logoAsked at Google 
    Video answer for 'Tell me about yourself.'
    +115

    "As you know, this is the most important question for any interview. Here is a structure I like to follow, Start with 'I'm currently a SDE/PM/TPM etc with XYZ company.... ' Mention how you got into PM/TPM/SDE field (explaining your journey) Mention 1 or 2 accomplishments Mention what you do outside work (blogging, volunteer etc) Share why are you looking for a new role Ask the interviewer if they have any questions or will like to dive deep into any of your experience"

    Bipin R. - "As you know, this is the most important question for any interview. Here is a structure I like to follow, Start with 'I'm currently a SDE/PM/TPM etc with XYZ company.... ' Mention how you got into PM/TPM/SDE field (explaining your journey) Mention 1 or 2 accomplishments Mention what you do outside work (blogging, volunteer etc) Share why are you looking for a new role Ask the interviewer if they have any questions or will like to dive deep into any of your experience"See full answer

    Software Engineer
    Behavioral
    +9 more
  • 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
    Product Design
    +2 more
  • "2 Approaches: 1) The more intuitive approach is doing a multi-source BFS from all cats and storing the distance of closest cats. Then do a dfs/bfs from rat to bread. Time Complexity: O(mn + 4^L) where L is path length, worst case L could be mn Space Complexity: O(m*n) 2) The first approach should be fine for interviews. But if they ask to optimize it further, you can use Binary Search. Problems like "Finding max of min distance" or "Finding min of max" could be usually solved by BS. "

    Karan K. - "2 Approaches: 1) The more intuitive approach is doing a multi-source BFS from all cats and storing the distance of closest cats. Then do a dfs/bfs from rat to bread. Time Complexity: O(mn + 4^L) where L is path length, worst case L could be mn Space Complexity: O(m*n) 2) The first approach should be fine for interviews. But if they ask to optimize it further, you can use Binary Search. Problems like "Finding max of min distance" or "Finding min of max" could be usually solved by BS. "See full answer

    Software Engineer
    Coding
    +1 more
  • +18

    "I will use below 4 pillars to rate and prioritize those 5 projects: Analyze the impact of those 5 projects, to our team and to the whole company maybe Find out if those 5 projects have any dependency between each other Clarify the timeline of each project Identity the status of resources to work on those 5 projects and also the status of their dependencies"

    Dean Z. - "I will use below 4 pillars to rate and prioritize those 5 projects: Analyze the impact of those 5 projects, to our team and to the whole company maybe Find out if those 5 projects have any dependency between each other Clarify the timeline of each project Identity the status of resources to work on those 5 projects and also the status of their dependencies"See full answer

    Software Engineer
    Behavioral
  • Google logoAsked at Google 
    +53

    "I follow a variation of the RICE framework when prioritizing how I ship product features. I start by looking at: Reach: Because the customer segmentation across our product portfolio is so similar, I tend to hold a lot of weight on product features that will maximize our customer reach with a minimal LOE. Impact: After establishing which customer segments will benefit from the product feature, I determine the urgency and estimated impact on each customer segment based on customer i"

    Ashley C. - "I follow a variation of the RICE framework when prioritizing how I ship product features. I start by looking at: Reach: Because the customer segmentation across our product portfolio is so similar, I tend to hold a lot of weight on product features that will maximize our customer reach with a minimal LOE. Impact: After establishing which customer segments will benefit from the product feature, I determine the urgency and estimated impact on each customer segment based on customer i"See full answer

    Software Engineer
    Behavioral
    +8 more
  • "I would assume that this is similar to an intervals question. Meeting Rooms II (https://www.lintcode.com/problem/919/?fromId=203&_from=collection) on Leetcode seems like the closest comparison, it's a premium question so I linked Lintcode. I'm assuming that we also need to just return the minimum number of cars used. You need to sort for the most optimal solution, so you're constrained by an O(nlogn) time complexity. So any sorting solution could work (using a heap, sorting the array input arra"

    Sohum S. - "I would assume that this is similar to an intervals question. Meeting Rooms II (https://www.lintcode.com/problem/919/?fromId=203&_from=collection) on Leetcode seems like the closest comparison, it's a premium question so I linked Lintcode. I'm assuming that we also need to just return the minimum number of cars used. You need to sort for the most optimal solution, so you're constrained by an O(nlogn) time complexity. So any sorting solution could work (using a heap, sorting the array input arra"See full answer

    Software Engineer
    Coding
    +1 more
  • +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
  • Google logoAsked at Google 
    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
  • Software Engineer
    System Design
  • Google logoAsked at Google 
    Video answer for 'Redesign the airport experience.'
    +8

    "I would like to speak loud to narrow the scope of this question so I can be effective in identifying a solution to the problem on hand. Hope that is OK. You mentioned, “Re-design the airport experience”. Is there a goal for this re-design exercise? Some top goals that come to my mind are the following. Please guide me so I can set it and we can proceed from there. “Increase the number of passengers who travel to and from this airport” “Improve customer satisfaction” **“Get in"

    Tara J. - "I would like to speak loud to narrow the scope of this question so I can be effective in identifying a solution to the problem on hand. Hope that is OK. You mentioned, “Re-design the airport experience”. Is there a goal for this re-design exercise? Some top goals that come to my mind are the following. Please guide me so I can set it and we can proceed from there. “Increase the number of passengers who travel to and from this airport” “Improve customer satisfaction” **“Get in"See full answer

    Software Engineer
    Product Design
    +1 more
Showing 1-20 of 82