Google Software Engineer Interview Questions

Review this list of 95 Google Software Engineer interview questions and answers verified by hiring managers and candidates.
  • 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
  • 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
  • +11

    "Would be better to adjust resolution in the video player directly."

    Anonymous Prawn - "Would be better to adjust resolution in the video player directly."See full answer

    Software Engineer
    Data Structures & Algorithms
    +4 more
  • "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
  • +2

    "Referring to https://www.forbes.com/sites/forbesbusinesscouncil/2022/03/23/15-strategies-for-balancing-competing-stakeholder-priorities/?sh=7c82aa68262f Understand the conflicting priorities and align it with the goal/ objectives and the company mission. Start with the Least Common Denominator between the conflicting priorities to come to a commonality and start from there to objectively approach the next imp priority Always keep communication on and be transparent with 'equality' an"

    Pramod V. - "Referring to https://www.forbes.com/sites/forbesbusinesscouncil/2022/03/23/15-strategies-for-balancing-competing-stakeholder-priorities/?sh=7c82aa68262f Understand the conflicting priorities and align it with the goal/ objectives and the company mission. Start with the Least Common Denominator between the conflicting priorities to come to a commonality and start from there to objectively approach the next imp priority Always keep communication on and be transparent with 'equality' an"See full answer

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

  • 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

    Software Engineer
    System Design
    +1 more
  • "Thanks for the question! This is one of my favourite topics because it’s at the core of what we do as PMs DAILY: making the complex simple to drive alignment. I’ve got a structured way to approach this, and I’ll use it to explain payment aggregators - like Plaid - and how they enable Open Banking, with a twist about a technical hiccup I’ve seen in practice. Let’s dive in. I start by assessing the audience. Say I’m talking to a marketing manager at Transak - someone sharp but not techni"

    Adarsh S. - "Thanks for the question! This is one of my favourite topics because it’s at the core of what we do as PMs DAILY: making the complex simple to drive alignment. I’ve got a structured way to approach this, and I’ll use it to explain payment aggregators - like Plaid - and how they enable Open Banking, with a twist about a technical hiccup I’ve seen in practice. Let’s dive in. I start by assessing the audience. Say I’m talking to a marketing manager at Transak - someone sharp but not techni"See full answer

    Software Engineer
    Behavioral
    +3 more
  • Google logoAsked at Google 
    +1

    "Situation - A time I dealt with conflict while on a team was while I was working at Shopify on physical and digital gift card refund point of sale solutions. The situation was that we were dealing with complex technical constraints including not changing particular UI components behavior to act as they should be intended. On the refund screen, the existing design was using a toggle on the same screen to bring up a modal for gift card selection to either select digital or physical options. Thi"

    Ben G. - "Situation - A time I dealt with conflict while on a team was while I was working at Shopify on physical and digital gift card refund point of sale solutions. The situation was that we were dealing with complex technical constraints including not changing particular UI components behavior to act as they should be intended. On the refund screen, the existing design was using a toggle on the same screen to bring up a modal for gift card selection to either select digital or physical options. Thi"See full answer

    Software Engineer
    Behavioral
    +3 more
  • Google logoAsked at Google 
    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
  • Google logoAsked at Google 
    +5

    "t"

    Srikhar S. - "t"See full answer

    Software Engineer
    Behavioral
    +3 more
  • Google logoAsked at Google 
    +25

    "#inplace reversal without inbuilt functions def reverseString(s): chars = list(s) l, r = 0, len(s)-1 while l < r: chars[l],chars[r] = chars[r],chars[l] l += 1 r -= 1 reversed = "".join(chars) return reversed "

    Anonymous Possum - "#inplace reversal without inbuilt functions def reverseString(s): chars = list(s) l, r = 0, len(s)-1 while l < r: chars[l],chars[r] = chars[r],chars[l] l += 1 r -= 1 reversed = "".join(chars) return reversed "See full answer

    Software Engineer
    Data Structures & Algorithms
    +4 more
  • Google logoAsked at Google 
    +4

    "The company culture is very supportive and collaborative. Googlers are encouraged to be creative and innovative, and there is a lot of freedom to explore new ideas. The work is challenging and rewarding. Googlers have the opportunity to work on cutting-edge projects that have a real impact on the world. The company is committed to diversity and inclusion. Google is a great place to work for people from all backgrounds and with all different perspectives. I am confident that I would b"

    Praful B. - "The company culture is very supportive and collaborative. Googlers are encouraged to be creative and innovative, and there is a lot of freedom to explore new ideas. The work is challenging and rewarding. Googlers have the opportunity to work on cutting-edge projects that have a real impact on the world. The company is committed to diversity and inclusion. Google is a great place to work for people from all backgrounds and with all different perspectives. I am confident that I would b"See full answer

    Software Engineer
    Behavioral
    +2 more
  • Google logoAsked at Google 
    Software Engineer
    System Design
    +1 more
  • Google logoAsked at Google 
    Video answer for 'Merge Intervals'
    +43

    "const mergeIntervals = (intervals) => { const compare = (a, b) => { if(a[0] b[0]) return 1 else if(a[0] === b[0]) { return a[1] - b[1] } } let current = [] const result = [] const sorted = intervals.sort(compare) for(let i = 0; i = b[0]) current[1] = b[1] els"

    Kofi N. - "const mergeIntervals = (intervals) => { const compare = (a, b) => { if(a[0] b[0]) return 1 else if(a[0] === b[0]) { return a[1] - b[1] } } let current = [] const result = [] const sorted = intervals.sort(compare) for(let i = 0; i = b[0]) current[1] = b[1] els"See full answer

    Software Engineer
    Data Structures & Algorithms
    +6 more
  • Google logoAsked at Google 
    Video answer for 'Explain how to find a target sum in an array.'
    +5

    "A recursive backtracking solution in python. def changeSigns(nums: List[int], S: int) -> int: res = [] n = len(nums) def backtrack(index, curr, arr): if curr == S and len(arr) == n: res.append(arr[:]) return if index >= len(nums): return for i in range(index, n): add +ve number arr.append(nums[i]) backtrack(i+1, curr + nums[i], arr) arr.pop() "

    Yugaank K. - "A recursive backtracking solution in python. def changeSigns(nums: List[int], S: int) -> int: res = [] n = len(nums) def backtrack(index, curr, arr): if curr == S and len(arr) == n: res.append(arr[:]) return if index >= len(nums): return for i in range(index, n): add +ve number arr.append(nums[i]) backtrack(i+1, curr + nums[i], arr) arr.pop() "See full answer

    Software Engineer
    Data Structures & Algorithms
    +1 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
    Data Structures & Algorithms
    +1 more
  • "DNNs can learn hierarchical features, with each layer learning progressively more abstract features, and generalizes better. SNNs are better for simplier problems involving smaller datasets and if low latency is required."

    Louie Z. - "DNNs can learn hierarchical features, with each layer learning progressively more abstract features, and generalizes better. SNNs are better for simplier problems involving smaller datasets and if low latency is required."See full answer

    Software Engineer
    Concept
    +2 more
  • Google logoAsked at Google 
    +8

    "This is a great question! If you don't mind, I'd love to list 3 strengths and weaknesses then dive a little deeper on one of each of them. I think my three greatest strengths are: Empathy Openness to feedback Drive And three weaknesses I have been working to strengthen are: Sometimes my desire to achieve can put me at risk of overcommitting Communicating status to the right stakeholders at the appropriate time Creating detailed and strategic lists of priorities so I can meet th"

    Adam M. - "This is a great question! If you don't mind, I'd love to list 3 strengths and weaknesses then dive a little deeper on one of each of them. I think my three greatest strengths are: Empathy Openness to feedback Drive And three weaknesses I have been working to strengthen are: Sometimes my desire to achieve can put me at risk of overcommitting Communicating status to the right stakeholders at the appropriate time Creating detailed and strategic lists of priorities so I can meet th"See full answer

    Software Engineer
    Behavioral
    +3 more
  • Google logoAsked at Google 
    +1

    "Provided an example from my work history where I asked to move the Go-live date to prevent launch date failure."

    Namu - "Provided an example from my work history where I asked to move the Go-live date to prevent launch date failure."See full answer

    Software Engineer
    Behavioral
    +2 more
  • Google logoAsked at Google 

    "I followed STAR format"

    Shashikant A. - "I followed STAR format"See full answer

    Software Engineer
    Behavioral
    +3 more
Showing 21-40 of 95