Google Data Scientist Interview Questions

Review this list of 13 Google data scientist interview questions and answers verified by hiring managers and candidates.
  • 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

    Data Scientist
    Behavioral
    +5 more
  • Google logoAsked at Google 
    +28

    "Reversing a linked list is a very popular question. We have two approaches to reverse the linked list: Iterative approach and recursion approach. Iterative approach (JavaScript) function reverseLL(head){ if(head === null) return head; let prv = null; let next = null; let cur = head; while(cur){ next = cur.next; //backup cur.next = prv; prv = cur; cur = next; } head = prv; return head; } Recursion Approach (JS) function reverseLLByRecursion("

    Satyam S. - "Reversing a linked list is a very popular question. We have two approaches to reverse the linked list: Iterative approach and recursion approach. Iterative approach (JavaScript) function reverseLL(head){ if(head === null) return head; let prv = null; let next = null; let cur = head; while(cur){ next = cur.next; //backup cur.next = prv; prv = cur; cur = next; } head = prv; return head; } Recursion Approach (JS) function reverseLLByRecursion("See full answer

    Data Scientist
    Data Structures & Algorithms
    +4 more
  • +41

    "Lyft at its core is a marketplace with drivers and cars on the supply side, and passengers on the demand side. I would begin by dividing the goal of the dashboard into two categories : Health of the marketplace Health of the app/ reliability from a technical perspective The second one is more straightforward so I’ll briefly mention some overarching metrics I would look at and come back to it later if time allows. Health or reliability of the app can be further divided into the following -"

    Sukriti C. - "Lyft at its core is a marketplace with drivers and cars on the supply side, and passengers on the demand side. I would begin by dividing the goal of the dashboard into two categories : Health of the marketplace Health of the app/ reliability from a technical perspective The second one is more straightforward so I’ll briefly mention some overarching metrics I would look at and come back to it later if time allows. Health or reliability of the app can be further divided into the following -"See full answer

    Data Scientist
    Analytical
  • "The distribution of daily search queries per user, as shown in the histogram, can be described as approximately normal (or bell-shaped) with a slight positive skew. Key Characteristics: Shape: The distribution is roughly symmetrical around its center, resembling a bell curve. This indicates that most users perform a moderate number of daily search queries. Central Tendency: The peak of the distribution, representing the highest density of users, appears to be around **8"

    Sam A. - "The distribution of daily search queries per user, as shown in the histogram, can be described as approximately normal (or bell-shaped) with a slight positive skew. Key Characteristics: Shape: The distribution is roughly symmetrical around its center, resembling a bell curve. This indicates that most users perform a moderate number of daily search queries. Central Tendency: The peak of the distribution, representing the highest density of users, appears to be around **8"See full answer

    Data Scientist
    Statistics & Experimentation
  • Google logoAsked at Google 
    Video answer for 'Given an integer array nums and an integer k, return true if nums has a subarray of at least two elements whose sum is a multiple of k.'
    +9

    "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

    Data Scientist
    Data Structures & Algorithms
    +4 more
  • 🧠 Want an expert answer to a question? Saving questions lets us know what content to make next.

  • Google logoAsked at Google 
    +20

    "#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

    Data Scientist
    Data Structures & Algorithms
    +4 more
  • Google logoAsked at Google 
    +6

    " function climbStairs(n) { // 4 iterations of Dynamic Programming solutions: // Step 1: Recursive: // if (n <= 2) return n // return climbStairs(n-1) + climbStairs(n-2) // Step 2: Top-down Memoization // const memo = {0:0, 1:1, 2:2} // function f(x) { // if (x in memo) return memo[x] // memo[x] = f(x-1) + f(x-2) // return memo[x] // } // return f(n) // Step 3: Bottom-up Tabulation // const tab = [0,1,2] // f"

    Matthew K. - " function climbStairs(n) { // 4 iterations of Dynamic Programming solutions: // Step 1: Recursive: // if (n <= 2) return n // return climbStairs(n-1) + climbStairs(n-2) // Step 2: Top-down Memoization // const memo = {0:0, 1:1, 2:2} // function f(x) { // if (x in memo) return memo[x] // memo[x] = f(x-1) + f(x-2) // return memo[x] // } // return f(n) // Step 3: Bottom-up Tabulation // const tab = [0,1,2] // f"See full answer

    Data Scientist
    Data Structures & Algorithms
    +3 more
  • Google logoAsked at Google 
    +2

    "Situation: COVID has impacted everyone's lives, especially small businesses. Earlier this year, during the second lockdown in Malaysia, it was estimated that 50%-70% of small businesses have closed. It got me thinking, beyond the existing training programmes, what can my company do to support small businesses? Task: So, I took the initiative to gather our Comms and Government Affairs team, to work together and explore how we can: 1) meaningfully demonstrate our company's commitment in"

    Judy W. - "Situation: COVID has impacted everyone's lives, especially small businesses. Earlier this year, during the second lockdown in Malaysia, it was estimated that 50%-70% of small businesses have closed. It got me thinking, beyond the existing training programmes, what can my company do to support small businesses? Task: So, I took the initiative to gather our Comms and Government Affairs team, to work together and explore how we can: 1) meaningfully demonstrate our company's commitment in"See full answer

    Data Scientist
    Behavioral
    +2 more
  • "If you effectively listen and understand their point of view, then take action to address the issue quickly. Don't let too much time slip between the conflict and the resolution. If resolving the concern will take more time, communicate the current status and next steps with the stakeholder."

    Abdurhman M. - "If you effectively listen and understand their point of view, then take action to address the issue quickly. Don't let too much time slip between the conflict and the resolution. If resolving the concern will take more time, communicate the current status and next steps with the stakeholder."See full answer

    Data Scientist
    Behavioral
    +1 more
  • Google logoAsked at Google 
    Video answer for 'Merge k sorted linked lists.'
    +6

    "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

    Data Scientist
    Data Structures & Algorithms
    +4 more
  • Google logoAsked at Google 
    +1

    "Deep Learning is a part of Artificial Intelligence, it's like teaching the machine to think and make decisions on its own. It's like how we teach a child the concept of an apple - it's round, red, has a stem on top. We show them multiple pictures of apples and then they understand and can recognize an apple in future. Similarly, we feed lots of data to the machine, and slowly, it starts learning from that data, and can then make relevant predictions or decisions based on what it has learnt. A co"

    Surbhi G. - "Deep Learning is a part of Artificial Intelligence, it's like teaching the machine to think and make decisions on its own. It's like how we teach a child the concept of an apple - it's round, red, has a stem on top. We show them multiple pictures of apples and then they understand and can recognize an apple in future. Similarly, we feed lots of data to the machine, and slowly, it starts learning from that data, and can then make relevant predictions or decisions based on what it has learnt. A co"See full answer

    Data Scientist
    Concept
    +3 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

    Data Scientist
    Behavioral
    +4 more
  • Google logoAsked at Google 

    Permutations

    IDE
    Medium

    "function permute(nums) { if (nums.length <= 1) { return [nums]; } const prevPermutations = permute(nums.slice(0, nums.length-1)); const currentNum = nums[nums.length-1]; const permutations = new Set(); for (let prev of prevPermutations) { for (let i=0; i < prev.length; i++) { permutations.add([...prev.slice(0, i), currentNum, ...prev.slice(i)]); } permutations.add([...prev, currentNum]); } return [...permutations]"

    Tiago R. - "function permute(nums) { if (nums.length <= 1) { return [nums]; } const prevPermutations = permute(nums.slice(0, nums.length-1)); const currentNum = nums[nums.length-1]; const permutations = new Set(); for (let prev of prevPermutations) { for (let i=0; i < prev.length; i++) { permutations.add([...prev.slice(0, i), currentNum, ...prev.slice(i)]); } permutations.add([...prev, currentNum]); } return [...permutations]"See full answer

    Data Scientist
    Data Structures & Algorithms
    +3 more
Showing 1-13 of 13