Skip to main content

Machine Learning Engineer Coding Interview Questions

Review this list of 89 Coding Machine Learning Engineer interview questions and answers verified by hiring managers and candidates.
  • Adobe logoAsked at Adobe 
    5 answers
    +2

    "def calc(expr): ans = eval(expr) return ans your code goes debug your code below print(calc("1 + 1")) `"

    Sarvesh G. - "def calc(expr): ans = eval(expr) return ans your code goes debug your code below print(calc("1 + 1")) `"See full answer

    Machine Learning Engineer
    Coding
    +3 more
  • Google logoAsked at Google 
    9 answers
    +6

    "import time class Task: def init\(self, description, interval=None): self.description = description self.interval = interval self.next_run = time.time() class SimpleTaskScheduler: def init\(self): self.tasks = [] def add_task(self, description, interval=None): self.tasks.append(Task(description, interval)) def run(self, duration=60): end_time = time.time() + duration while time.time() < end_time: curr"

    Yash N. - "import time class Task: def init\(self, description, interval=None): self.description = description self.interval = interval self.next_run = time.time() class SimpleTaskScheduler: def init\(self): self.tasks = [] def add_task(self, description, interval=None): self.tasks.append(Task(description, interval)) def run(self, duration=60): end_time = time.time() + duration while time.time() < end_time: curr"See full answer

    Machine Learning Engineer
    Coding
    +2 more
  • Adobe logoAsked at Adobe 
    10 answers
    +7

    "function preorderToInorder(preorder) { let inorder = []; let stack = []; let root = preorder[0]; stack.push(root); for (let i = 1; i 0 && stack[stack.length - 1] 0) { root = stack.pop(); inorder.push(r"

    Ugo C. - "function preorderToInorder(preorder) { let inorder = []; let stack = []; let root = preorder[0]; stack.push(root); for (let i = 1; i 0 && stack[stack.length - 1] 0) { root = stack.pop(); inorder.push(r"See full answer

    Machine Learning Engineer
    Coding
    +2 more
  • Meta logoAsked at Meta 
    4 answers
    +1

    "Approach 1: Use sorting and return the kth largest element from the sorted list. Time complexity: O(nlogn) Approach 2: Use max heap and then select the kth largest element. time complexity: O(n+logn) Approach 3: Quickselect. Time complexity O(n) I explained my interviewer the 3 approaches. He told me to solve in a naive manner. Used Approach 1 had some time left so coded approach 3 also The average time complexity of Quickselect is O(n), making it very efficient for its purpose. However, in"

    GalacticInterviewer - "Approach 1: Use sorting and return the kth largest element from the sorted list. Time complexity: O(nlogn) Approach 2: Use max heap and then select the kth largest element. time complexity: O(n+logn) Approach 3: Quickselect. Time complexity O(n) I explained my interviewer the 3 approaches. He told me to solve in a naive manner. Used Approach 1 had some time left so coded approach 3 also The average time complexity of Quickselect is O(n), making it very efficient for its purpose. However, in"See full answer

    Machine Learning Engineer
    Coding
    +2 more
  • Adobe logoAsked at Adobe 
    30 answers
    +22

    "This problem could be solved in two ways(both using Kadane's algorithm): Simple iterating 1-D dp function maxSubarraySum(nums) { const n = nums.length; if ( n === 0) return 0; const dp = Array(n).fill(0); dp[0] = nums[0]; for (let i = 1; i < n; i++) { dp[i] = Math.max(nums[i], dp[i - 1] + nums[i]); } return Math.max(...dp); } "

    Mark K. - "This problem could be solved in two ways(both using Kadane's algorithm): Simple iterating 1-D dp function maxSubarraySum(nums) { const n = nums.length; if ( n === 0) return 0; const dp = Array(n).fill(0); dp[0] = nums[0]; for (let i = 1; i < n; i++) { dp[i] = Math.max(nums[i], dp[i - 1] + nums[i]); } return Math.max(...dp); } "See full answer

    Machine Learning Engineer
    Coding
    +4 more
  • 🧠 Want an expert answer to a question? Saving questions lets us know what content to make next.

  • Adobe logoAsked at Adobe 
    13 answers
    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

    Machine Learning Engineer
    Coding
    +4 more
  • "Problem: Given an input string txt consisting of alphanumeric characters and the parentheses characters '(' & ')', write a function which removes the minimum number of characters to return a version of the string with properly balanced parenthesis. Answer: You can do this with a counter. Psuedo-Python Start with counter = 0 output = [] Iterate through the string, every time you encounter a '(', increment the counter. Add the character to the output. If you encounter a ')', decrement the coun"

    Michael B. - "Problem: Given an input string txt consisting of alphanumeric characters and the parentheses characters '(' & ')', write a function which removes the minimum number of characters to return a version of the string with properly balanced parenthesis. Answer: You can do this with a counter. Psuedo-Python Start with counter = 0 output = [] Iterate through the string, every time you encounter a '(', increment the counter. Add the character to the output. If you encounter a ')', decrement the coun"See full answer

    Machine Learning Engineer
    Coding
    +1 more
  • Adobe logoAsked at Adobe 
    Add answer
    Machine Learning Engineer
    Coding
    +4 more
  • Apple logoAsked at Apple 
    Add answer
    Machine Learning Engineer
    Coding
    +4 more
  • Adobe logoAsked at Adobe 
    Add answer
    Machine Learning Engineer
    Coding
    +4 more
  • Google logoAsked at Google 
    2 answers

    "Yes, I need to compare the first half of the first string with the reverse order of the second half of the second string. Repeat this process to the first half of the second string and the second half of the first string."

    Anonymous Condor - "Yes, I need to compare the first half of the first string with the reverse order of the second half of the second string. Repeat this process to the first half of the second string and the second half of the first string."See full answer

    Machine Learning Engineer
    Coding
    +1 more
  • Apple logoAsked at Apple 
    1 answer

    "We have a list of documents. We want to build an index that maps keywords to documents containing them. Then, given a query keyword, we can efficiently retrieve all matching documents. docs = [ "Python is great for data science", "C++ is a powerful language", "Python supports OOP and functional programming", "Weather today is sunny", "Weather forecast shows rain" ]"

    Mridul J. - "We have a list of documents. We want to build an index that maps keywords to documents containing them. Then, given a query keyword, we can efficiently retrieve all matching documents. docs = [ "Python is great for data science", "C++ is a powerful language", "Python supports OOP and functional programming", "Weather today is sunny", "Weather forecast shows rain" ]"See full answer

    Machine Learning Engineer
    Coding
    +1 more
  • TikTok logoAsked at TikTok 
    1 answer

    "class Solution: def lengthOfLIS(self, nums: List[int]) -> int: temp = [nums[0]] for num in nums: if temp[-1]< num: temp.append(num) else: index = bisect_left(temp,num) temp[index] = num return len(temp) "

    Mahima M. - "class Solution: def lengthOfLIS(self, nums: List[int]) -> int: temp = [nums[0]] for num in nums: if temp[-1]< num: temp.append(num) else: index = bisect_left(temp,num) temp[index] = num return len(temp) "See full answer

    Machine Learning Engineer
    Coding
    +1 more
  • Adobe logoAsked at Adobe 
    6 answers
    +3

    "function main(){ const v1=[2,3, 4, 10] const v2= [3,4 ,5,20, 23] return merge(v1,v2); } function merge(left, right){ const result=[]; while(left.length>0&& right.length>0){ if(left[0]0){ result=result.concat(left) } if(right.length>0){ result=result.concat(right) } return result; }"

    Samuel M. - "function main(){ const v1=[2,3, 4, 10] const v2= [3,4 ,5,20, 23] return merge(v1,v2); } function merge(left, right){ const result=[]; while(left.length>0&& right.length>0){ if(left[0]0){ result=result.concat(left) } if(right.length>0){ result=result.concat(right) } return result; }"See full answer

    Machine Learning Engineer
    Coding
    +5 more
  • Adobe logoAsked at Adobe 
    10 answers
    +6

    "bool isValidBST(TreeNode* root, long min = LONGMIN, long max = LONGMAX){ if (root == NULL) return true; if (root->val val >= max) return false; return isValidBST(root->left, min, root->val) && isValidBST(root->right, root->val, max); } `"

    Alvaro R. - "bool isValidBST(TreeNode* root, long min = LONGMIN, long max = LONGMAX){ if (root == NULL) return true; if (root->val val >= max) return false; return isValidBST(root->left, min, root->val) && isValidBST(root->right, root->val, max); } `"See full answer

    Machine Learning Engineer
    Coding
    +4 more
  • LangChain logoAsked at LangChain 
    Add answer
    Machine Learning Engineer
    Coding
    +1 more
  • Tesla logoAsked at Tesla 
    Add answer
    Video answer for 'Given a matrix of m x n elements (m rows, n columns), return all elements of the matrix in clockwise spiral order.'
    Machine Learning Engineer
    Coding
    +3 more
  • "Use an index, two pointers, and a set to keep track of elements that you've seen. pseudo code follows: for i, elem in enumerate(array): if elem in set return False if i > N: set.remove(array[i-N])"

    Michael B. - "Use an index, two pointers, and a set to keep track of elements that you've seen. pseudo code follows: for i, elem in enumerate(array): if elem in set return False if i > N: set.remove(array[i-N])"See full answer

    Machine Learning Engineer
    Coding
  • Bloomberg logoAsked at Bloomberg 
    1 answer

    "Implemented the Java code to find the largest island. It is similar to count the island. But in this we need to keep track of max island and compute its perimeter."

    Techzen I. - "Implemented the Java code to find the largest island. It is similar to count the island. But in this we need to keep track of max island and compute its perimeter."See full answer

    Machine Learning Engineer
    Coding
    +2 more
  • Adobe logoAsked at Adobe 
    13 answers
    +10

    "from typing import List def traprainwater(height: List[int]) -> int: if not height: return 0 l, r = 0, len(height) - 1 leftMax, rightMax = height[l], height[r] res = 0 while l < r: if leftMax < rightMax: l += 1 leftMax = max(leftMax, height[l]) res += leftMax - height[l] else: r -= 1 rightMax = max(rightMax, height[r]) "

    Anonymous Roadrunner - "from typing import List def traprainwater(height: List[int]) -> int: if not height: return 0 l, r = 0, len(height) - 1 leftMax, rightMax = height[l], height[r] res = 0 while l < r: if leftMax < rightMax: l += 1 leftMax = max(leftMax, height[l]) res += leftMax - height[l] else: r -= 1 rightMax = max(rightMax, height[r]) "See full answer

    Machine Learning Engineer
    Coding
    +4 more
Showing 41-60 of 89