Google Software Engineer Interview Questions

Review this list of 91 Google software engineer interview questions and answers verified by hiring managers and candidates.
  • Google logoAsked at Google 

    "Functional Requirement Monitor health, metrics Alert in case of failure/anomaly Visualize the live health Analyse machines on periodic basis Non Functional Should not exert load on machines low latency Highly scalable Logs/Metrics Gathering push - machine gather and send to system and low priority background thread along with batching pull - heart beat check (for offline machines) Processing Real time streaming using Kafka/kinesis + Flink TimeSeries database for stor"

    Sourabh G. - "Functional Requirement Monitor health, metrics Alert in case of failure/anomaly Visualize the live health Analyse machines on periodic basis Non Functional Should not exert load on machines low latency Highly scalable Logs/Metrics Gathering push - machine gather and send to system and low priority background thread along with batching pull - heart beat check (for offline machines) Processing Real time streaming using Kafka/kinesis + Flink TimeSeries database for stor"See full answer

    Software Engineer
    System Design
    +2 more
  • Google logoAsked at Google 
    Video answer for 'Generate Parentheses'
    +5

    "function generateParentheses(n) { if (n < 1) { return []; } if (n === 1) { return ["()"]; } const combinations = new Set(); let previousCombinations = generateParentheses(n-1); for (let prev of previousCombinations) { for (let i=0; i < prev.length; i++) { combinations.add(prev.slice(0, i+1) + "()" + prev.slice(i+1)); } } return [...combinations]; } `"

    Tiago R. - "function generateParentheses(n) { if (n < 1) { return []; } if (n === 1) { return ["()"]; } const combinations = new Set(); let previousCombinations = generateParentheses(n-1); for (let prev of previousCombinations) { for (let i=0; i < prev.length; i++) { combinations.add(prev.slice(0, i+1) + "()" + prev.slice(i+1)); } } return [...combinations]; } `"See full answer

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

    "I was a student worker at Gordon's Food Service, Schaumburg, My tasks were vacuuming onion peels, checking expiration dates, cleaning the break room, cleaning the shelves from the Ailes, Stocking stuff on shelves, sweeping the backroom, mopping, Refilling bottles with cleaning supplies and cleaning the fridge glass."

    Amparo L. - "I was a student worker at Gordon's Food Service, Schaumburg, My tasks were vacuuming onion peels, checking expiration dates, cleaning the break room, cleaning the shelves from the Ailes, Stocking stuff on shelves, sweeping the backroom, mopping, Refilling bottles with cleaning supplies and cleaning the fridge glass."See full answer

    Software Engineer
    Behavioral
  • Google logoAsked at Google 
    +5

    "Should this question be BST, not just BT? Otherwise it would not be possible to reconstruct the tree solely based on the array regardless of its order"

    TreeOfWisdom - "Should this question be BST, not just BT? Otherwise it would not be possible to reconstruct the tree solely based on the array regardless of its order"See full answer

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

    "After more than five years at my previous company, I had contributed significantly to many important projects and helped the team navigate critical transitions, such as our shift from a monolithic to a microservices architecture. However, over time, I realized that my goals and the direction of the company were no longer fully aligned. I felt I had outgrown the position and was ready for new challenges, where I could continue to grow both technically and professionally. Ultimately, I’m excited a"

    Chinedu ekene O. - "After more than five years at my previous company, I had contributed significantly to many important projects and helped the team navigate critical transitions, such as our shift from a monolithic to a microservices architecture. However, over time, I realized that my goals and the direction of the company were no longer fully aligned. I felt I had outgrown the position and was ready for new challenges, where I could continue to grow both technically and professionally. Ultimately, I’m excited a"See full answer

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

  • Google logoAsked at Google 
    +4

    "public static void sortBinaryArray(int[] array) { int len = array.length; int[] res = new int[len]; int r=len-1; for (int value : array) { if(value==1){ res[r]= 1; r--; } } System.out.println(Arrays.toString(res)); } `"

    Nitin P. - "public static void sortBinaryArray(int[] array) { int len = array.length; int[] res = new int[len]; int r=len-1; for (int value : array) { if(value==1){ res[r]= 1; r--; } } System.out.println(Arrays.toString(res)); } `"See full answer

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

    "As far as i know, when we type a web address in the browser- the broswer connects to the DNS server & finds the address of the website we are looking for after finding it, the browser sends an HTTP request message to the server,with a request to send a copy of the website to the user. all of this information is sent using TCP/IP protocol across your internet"

    Debajyoti B. - "As far as i know, when we type a web address in the browser- the broswer connects to the DNS server & finds the address of the website we are looking for after finding it, the browser sends an HTTP request message to the server,with a request to send a copy of the website to the user. all of this information is sent using TCP/IP protocol across your internet"See full answer

    Software Engineer
    Technical
  • Google logoAsked at Google 

    "def split_count(s): return 2**(len(s)-1) `"

    Steve M. - "def split_count(s): return 2**(len(s)-1) `"See full answer

    Software Engineer
    Data Structures & Algorithms
    +1 more
  • Google logoAsked at Google 
    Video answer for 'Merge k sorted linked lists.'
    +7

    "A much better solution than the one in the article, below: It looks like the ones writing articles here in Javascript do not understand the time/space complexity of javascript methods. shift, splice, sort, etc... In the solution article you have a shift and a sort being done inside a while, that is, the multiplication of Ns. My solution, below, iterates through the list once and then sorts it, separately. It´s O(N+Log(N)) class ListNode { constructor(val = 0, next = null) { th"

    Guilherme F. - "A much better solution than the one in the article, below: It looks like the ones writing articles here in Javascript do not understand the time/space complexity of javascript methods. shift, splice, sort, etc... In the solution article you have a shift and a sort being done inside a while, that is, the multiplication of Ns. My solution, below, iterates through the list once and then sorts it, separately. It´s O(N+Log(N)) class ListNode { constructor(val = 0, next = null) { th"See full answer

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

    "A load balancer accepts requests from clients (e.g. web browsers on the Internet) and backend services (e.g. a web server). Load balancers are useful for replicating backend services onto multiple machines to meet increased demand. The design of a load balancer should address the following questions: What protocols should be supported? IP allows computers to communicate using packets, similarly to how people send letters. IP packets are addressed using an IP address and port number. "

    Anonymous Hyena - "A load balancer accepts requests from clients (e.g. web browsers on the Internet) and backend services (e.g. a web server). Load balancers are useful for replicating backend services onto multiple machines to meet increased demand. The design of a load balancer should address the following questions: What protocols should be supported? IP allows computers to communicate using packets, similarly to how people send letters. IP packets are addressed using an IP address and port number. "See full answer

    Software Engineer
    System Design
  • Google logoAsked at Google 
    Software Engineer
    Behavioral
    +1 more
  • Google logoAsked at Google 
    +9

    "function areSentencesSimilar(sentence1, sentence2, similarPairs) { if (sentence1.length !== sentence2.length) return false; for (let i=0; i (w1 === word1 && !visited.has(w2)) || (w2 === word1 && !visited.has(w1))); if (!edge) { "

    Tiago R. - "function areSentencesSimilar(sentence1, sentence2, similarPairs) { if (sentence1.length !== sentence2.length) return false; for (let i=0; i (w1 === word1 && !visited.has(w2)) || (w2 === word1 && !visited.has(w1))); if (!edge) { "See full answer

    Software Engineer
    Data Structures & Algorithms
    +2 more
  • "To recount an experience from my last project . We were at the initial stages of designing a new data platform to enhance our trading analytics capabilities. The conflict arose over the selection of a data processing framework. I was advocating for Apache Spark due to its scalability and performance benefits, especially for handling large volumes of derivatives data. Another senior team member preferred a different technology they had more experience with, which they believed would be easier to"

    Scott S. - "To recount an experience from my last project . We were at the initial stages of designing a new data platform to enhance our trading analytics capabilities. The conflict arose over the selection of a data processing framework. I was advocating for Apache Spark due to its scalability and performance benefits, especially for handling large volumes of derivatives data. Another senior team member preferred a different technology they had more experience with, which they believed would be easier to"See full answer

    Software Engineer
    Behavioral
    +1 more
  • "Whenever I find resistance to my idea, my general approach is to : Validate my idea Identify if it is a political reason or is it a valid engineering tech reason Assuming it is not political but it is resource/difference of opinions that are causing resistance. Then I would try to do a quick POC and show a value proposition for the idea to get the buy-in. One similar situation happened The situation was that stakeholders were promised a feature that would decrease their number of ticket"

    Jaim - "Whenever I find resistance to my idea, my general approach is to : Validate my idea Identify if it is a political reason or is it a valid engineering tech reason Assuming it is not political but it is resource/difference of opinions that are causing resistance. Then I would try to do a quick POC and show a value proposition for the idea to get the buy-in. One similar situation happened The situation was that stakeholders were promised a feature that would decrease their number of ticket"See full answer

    Software Engineer
    Behavioral
    +1 more
  • Google logoAsked at Google 

    "no"

    Hamilton D. - "no"See full answer

    Software Engineer
    Technical
    +1 more
  • Google logoAsked at Google 

    "I'm seeking a role in which I can be continually challenged to devise innovative and streamlined solutions for complex issues, particularly with regard to the persistent soaking problem. I'm excited about the opportunity to not only excel in my own performance but also to empower and enable my colleagues to perform at their absolute best. My goal is to wield my influence and magnetic qualities to not only attract but also retain top-tier engineering talent, all in alignment with our shared objec"

    Anonymous Narwhal - "I'm seeking a role in which I can be continually challenged to devise innovative and streamlined solutions for complex issues, particularly with regard to the persistent soaking problem. I'm excited about the opportunity to not only excel in my own performance but also to empower and enable my colleagues to perform at their absolute best. My goal is to wield my influence and magnetic qualities to not only attract but also retain top-tier engineering talent, all in alignment with our shared objec"See full answer

    Software Engineer
    Behavioral
    +1 more
  • Google logoAsked at Google 

    "Law is my passion. Traveling all over the world in 5 years"

    Moshe S. - "Law is my passion. Traveling all over the world in 5 years"See full answer

    Software Engineer
    Behavioral
    +4 more
  • Software Engineer
    Concept
    +1 more
  • Google logoAsked at Google 
    Software Engineer
    Behavioral
  • Google logoAsked at Google 
    Software Engineer
    Behavioral
Showing 61-80 of 91