Skip to main content

Google Software Engineer Interview Questions

Review this list of 120 Google Software Engineer interview questions and answers verified by hiring managers and candidates.
  • Google logoAsked at Google 
    3 answers

    "We will not always have all the required data to make a decision quickly. We need to work with ambiguity effectively by tying up the available facts with intuition."

    Sankar S. - "We will not always have all the required data to make a decision quickly. We need to work with ambiguity effectively by tying up the available facts with intuition."See full answer

    Software Engineer
    Behavioral
    +2 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
  • Google logoAsked at Google 
    11 answers
    +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 
    4 answers
    +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 
    5 answers
    +1

    "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
  • 🧠 Want an expert answer to a question? Saving questions lets us know what content to make next.

  • Google logoAsked at Google 
    3 answers

    "I followed STAR format"

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

    Software Engineer
    Behavioral
    +3 more
  • Google logoAsked at Google 
    Add answer
    Software Engineer
    Data Structures & Algorithms
    +1 more
  • Google logoAsked at Google 
    1 answer

    "One time at Lifetime Fitness 2019, One student was throwing a lot of towels in the counter which made things very disorganized, then I made a compromise with my coworker to put 2 towels at a time and then it worked well because it made the workspace very organized."

    Amparo L. - "One time at Lifetime Fitness 2019, One student was throwing a lot of towels in the counter which made things very disorganized, then I made a compromise with my coworker to put 2 towels at a time and then it worked well because it made the workspace very organized."See full answer

    Software Engineer
    Behavioral
    +2 more
  • Google logoAsked at Google 
    2 answers
    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 
    1 answer

    "performance issues and sudden spikes on input requests by scaling techniques and optimization."

    Srini K. - "performance issues and sudden spikes on input requests by scaling techniques and optimization."See full answer

    Software Engineer
    Behavioral
    +6 more
  • Google logoAsked at Google 
    3 answers

    "Situation: I led a critical initiative to re-architect the high volume customer data platform. The system handled over 90 PB of records handling around 70 billion customer records daily and was foundational to customer data capabilities across multiple enterprise products. The existing architecture faced significant challenges around latency, accuracy, and scalability, and any disruption would directly impact global customers and downstream systems. Task: I was responsible for leading t"

    Krish M. - "Situation: I led a critical initiative to re-architect the high volume customer data platform. The system handled over 90 PB of records handling around 70 billion customer records daily and was foundational to customer data capabilities across multiple enterprise products. The existing architecture faced significant challenges around latency, accuracy, and scalability, and any disruption would directly impact global customers and downstream systems. Task: I was responsible for leading t"See full answer

    Software Engineer
    Behavioral
    +2 more
  • Google logoAsked at Google 
    5 answers
    +2

    "delete"

    David P. - "delete"See full answer

    Software Engineer
    Behavioral
    +1 more
  • Google logoAsked at Google 
    2 answers

    "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
  • +1

    "Binary serach on E range"

    Shikha S. - "Binary serach on E range"See full answer

    Software Engineer
    Data Structures & Algorithms
    +1 more
  • Google logoAsked at Google 
    Add answer
    Software Engineer
    Coding
    +2 more
  • Google logoAsked at Google 
    2 answers

    "Okay so the objective is to describe a product which I think is poorly designed despite of what market sentiments are around this and how the product is performing currently. Okay understood, so the way I would like to go about it is first I will state what are the factors which I look in a product to tell it is a good product. Then will see how a particular product doesn’t follow this and that's why I called it a poorly designed product. For me a product is great if it is having these qualities"

    Anonymous Muskox - "Okay so the objective is to describe a product which I think is poorly designed despite of what market sentiments are around this and how the product is performing currently. Okay understood, so the way I would like to go about it is first I will state what are the factors which I look in a product to tell it is a good product. Then will see how a particular product doesn’t follow this and that's why I called it a poorly designed product. For me a product is great if it is having these qualities"See full answer

    Software Engineer
    Product Design
    +1 more
  • Google logoAsked at Google 
    7 answers
    Video answer for 'Write functions to serialize and deserialize a list of strings.'
    +4

    "Maybe we can use this solution: 1, connect all the strings together, and add an integer value ahead each string. 2, use Huffmans algorithm to encode the step 1 result, to make the result size smaller. 3, return the root of Huffmans tree. This solution man be slower than the common serialize method, but it can save a lot of memory, I think, at lease doing serialize is mainly for tranfering data or storing data."

    Jordan Z. - "Maybe we can use this solution: 1, connect all the strings together, and add an integer value ahead each string. 2, use Huffmans algorithm to encode the step 1 result, to make the result size smaller. 3, return the root of Huffmans tree. This solution man be slower than the common serialize method, but it can save a lot of memory, I think, at lease doing serialize is mainly for tranfering data or storing data."See full answer

    Software Engineer
    Data Structures & Algorithms
    +1 more
  • Google logoAsked at Google 
    8 answers
    +5

    "A few months ago I joined a micro-services platform engineering team as their manager, at that time my team was struggling to deliver towards an upcoming production deadline for a customer facing product. Production date had been moved 5 times already and there were about 40% of product features which were remaining to be tested and signed off to move to production . I was made responsible to deliver the release of this product within the deadline and turnaround the software delivery throughput."

    Shuchi A. - "A few months ago I joined a micro-services platform engineering team as their manager, at that time my team was struggling to deliver towards an upcoming production deadline for a customer facing product. Production date had been moved 5 times already and there were about 40% of product features which were remaining to be tested and signed off to move to production . I was made responsible to deliver the release of this product within the deadline and turnaround the software delivery throughput."See full answer

    Software Engineer
    Behavioral
    +2 more
  • Google logoAsked at Google 
    13 answers
    +10

    "The instructions give an incorrect answer I think? """ // tree 1 / \ 2 3 / \ 4 5 The diameter is 4, which is the length of the path [4, 2, 1, 3] or [5, 2, 1, 3]. """ My code returns 3 for this example, and yet passes all the tests \# debug your code below root = Node(1) root.left = Node(2) root.right = Node(3) root.left.left = Node(4) root.left.right = Node(5) print(diameterOfTree(root))"

    Adam F. - "The instructions give an incorrect answer I think? """ // tree 1 / \ 2 3 / \ 4 5 The diameter is 4, which is the length of the path [4, 2, 1, 3] or [5, 2, 1, 3]. """ My code returns 3 for this example, and yet passes all the tests \# debug your code below root = Node(1) root.left = Node(2) root.right = Node(3) root.left.left = Node(4) root.left.right = Node(5) print(diameterOfTree(root))"See full answer

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

    " Project Overview: Real-Time Risk Management System Objective The goal was to develop a real-time risk management system capable of processing and analyzing large volumes of trading data to provide near-instantaneous risk assessments. This system was crucial for enabling traders to make informed decisions while managing their exposure to various market risks in real-time. Complexity Factors 1. \\Data Volume and Velocity\\ \\High Throughput:\\ The system needed to ha"

    Scott S. - " Project Overview: Real-Time Risk Management System Objective The goal was to develop a real-time risk management system capable of processing and analyzing large volumes of trading data to provide near-instantaneous risk assessments. This system was crucial for enabling traders to make informed decisions while managing their exposure to various market risks in real-time. Complexity Factors 1. \\Data Volume and Velocity\\ \\High Throughput:\\ The system needed to ha"See full answer

    Software Engineer
    Behavioral
    +2 more
Showing 41-60 of 120