Skip to main content

Recent Software Engineer Interview Questions

Review this list of 650 Software Engineer interview questions and answers verified by hiring managers and candidates.
  • Google logoAsked at Google 
    27 answers
    +23

    "def friend_distance(friends, userA, userB): step = 0 total_neighs = set() llen = len(total_neighs) total_neighs.add(userB) while len(total_neighs)!=llen: s = set() step += 1 llen = len(total_neighs) for el in total_neighs: nes = neighbours(friends, userA, el) if userA in nes: return step for p in nes: s.add(p) for el in s: total_neighs.add(el) return -1 def neighbours(A,n1, n2): out = set() for i in range(len(A[n2])): if An2: out.add(i) return out"

    Batman X. - "def friend_distance(friends, userA, userB): step = 0 total_neighs = set() llen = len(total_neighs) total_neighs.add(userB) while len(total_neighs)!=llen: s = set() step += 1 llen = len(total_neighs) for el in total_neighs: nes = neighbours(friends, userA, el) if userA in nes: return step for p in nes: s.add(p) for el in s: total_neighs.add(el) return -1 def neighbours(A,n1, n2): out = set() for i in range(len(A[n2])): if An2: out.add(i) return out"See full answer

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

    Balanced Tree

    IDE
    Medium
    11 answers
    +8

    " public class Solution { // Definition for a binary tree node static class Node { String value; Node left; Node right; Node(String value) { this.value = value; this.left = null; this.right = null; } Node(String value, Node left, Node right) { this.value = value; this.left = left; this.right = right; } } static boolean balanced; public s"

    Basil A. - " public class Solution { // Definition for a binary tree node static class Node { String value; Node left; Node right; Node(String value) { this.value = value; this.left = null; this.right = null; } Node(String value, Node left, Node right) { this.value = value; this.left = left; this.right = right; } } static boolean balanced; public s"See full answer

    Software Engineer
    Data Structures & Algorithms
    +1 more
  • Adobe logoAsked at Adobe 
    31 answers
    +26

    "We can use dictionary to store cache items so that our read / write operations will be O(1). Each time we read or update an existing record, we have to ensure the item is moved to the back of the cache. This will allow us to evict the first item in the cache whenever the cache is full and we need to add new records also making our eviction O(1) Instead of normal dictionary, we will use ordered dictionary to store cache items. This will allow us to efficiently move items to back of the cache a"

    Alfred O. - "We can use dictionary to store cache items so that our read / write operations will be O(1). Each time we read or update an existing record, we have to ensure the item is moved to the back of the cache. This will allow us to evict the first item in the cache whenever the cache is full and we need to add new records also making our eviction O(1) Instead of normal dictionary, we will use ordered dictionary to store cache items. This will allow us to efficiently move items to back of the cache a"See full answer

    Software Engineer
    Data Structures & Algorithms
    +6 more
  • Accenture logoAsked at Accenture 
    16 answers
    +11

    "public static Integer[] findLargest(int[] input, int m) { if(input==null || input.length==0) return null; PriorityQueue minHeap=new PriorityQueue(); for(int i:input) { if(minHeap.size()(int)top){ minHeap.poll(); minHeap.add(i); } } } Integer[] res=minHeap.toArray(new Integer[0]); Arrays.sort(res); return res; }"

    Divya R. - "public static Integer[] findLargest(int[] input, int m) { if(input==null || input.length==0) return null; PriorityQueue minHeap=new PriorityQueue(); for(int i:input) { if(minHeap.size()(int)top){ minHeap.poll(); minHeap.add(i); } } } Integer[] res=minHeap.toArray(new Integer[0]); Arrays.sort(res); return res; }"See full answer

    Software Engineer
    Data Structures & Algorithms
    +3 more
  • Microsoft logoAsked at Microsoft 
    13 answers
    +8

    "Assumptions: Platform: iOS/Android and Web Application Service Type: Renting Bicycles (hourly, daily, weekly), possibility of buying or selling Geography: Focusing on Asian markets, e.g., India, where bicycles are a popular mode of transportation Role: Product Manager at Microsoft Objective: Design an app focusing on customer engagement and new customer acquisition Setting the Stage: Why a Renting Business? Market Potential: In Asian markets, a si"

    Nagendra S. - "Assumptions: Platform: iOS/Android and Web Application Service Type: Renting Bicycles (hourly, daily, weekly), possibility of buying or selling Geography: Focusing on Asian markets, e.g., India, where bicycles are a popular mode of transportation Role: Product Manager at Microsoft Objective: Design an app focusing on customer engagement and new customer acquisition Setting the Stage: Why a Renting Business? Market Potential: In Asian markets, a si"See full answer

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

  • "I said we could always revert the production issues. Solve it at DEV environment and then publish again. Interviewer gave me an example of it like a database schema change that may not be possible to revert. I said that we always used SQL scripts to upgrade and downgrade the database schema for each production deployment. So it would not be a problem for us. I guess my answer was not accepted."

    Bulent K. - "I said we could always revert the production issues. Solve it at DEV environment and then publish again. Interviewer gave me an example of it like a database schema change that may not be possible to revert. I said that we always used SQL scripts to upgrade and downgrade the database schema for each production deployment. So it would not be a problem for us. I guess my answer was not accepted."See full answer

    Software Engineer
    Behavioral
  • "I don't get it. could you add a little more detail please."

    Karthik S. - "I don't get it. could you add a little more detail please."See full answer

    Software Engineer
    Technical
  • Canva logoAsked at Canva 
    1 answer

    "3.3 years , java and Angular Full stack developer "

    Prakash K. - "3.3 years , java and Angular Full stack developer "See full answer

    Software Engineer
    Behavioral
  • Canva logoAsked at Canva 
    3 answers

    "inheritance means its acquire all properties from parent class to child class.composition means its acquire some properties as our request is called composition"

    Niteesh V. - "inheritance means its acquire all properties from parent class to child class.composition means its acquire some properties as our request is called composition"See full answer

    Software Engineer
    Concept
  • Google logoAsked at Google 
    9 answers
    +6

    " from typing import List def least_interval(tasks: List[str], n: int) -> int: pass # your code goes here if n == 0: return len(tasks) dictionary = {} total_sum = len(tasks) output = 0 for t in tasks: if t in dictionary: dictionary[t] += 1 else: dictionary[t] = 1 dictLen = len(dictionary) while total_sum > 0: for key in dictionary.keys(): if dictionary[key] > 0: "

    Anonymous Quail - " from typing import List def least_interval(tasks: List[str], n: int) -> int: pass # your code goes here if n == 0: return len(tasks) dictionary = {} total_sum = len(tasks) output = 0 for t in tasks: if t in dictionary: dictionary[t] += 1 else: dictionary[t] = 1 dictLen = len(dictionary) while total_sum > 0: for key in dictionary.keys(): if dictionary[key] > 0: "See full answer

    Software Engineer
    Data Structures & Algorithms
    +2 more
  • Amazon logoAsked at Amazon 
    14 answers
    Video answer for 'Implement a k-nearest neighbors algorithm.'
    +10

    "Even more faster and vectorized version, using np.linalg.norm - to avoid loop and np.argpartition to select lowest k. We dont need to sort whole array - we need to be sure that first k elements are lower than the rest. import numpy as np def knn(Xtrain, ytrain, X_new, k): distances = np.linalg.norm(Xtrain - Xnew, axis=1) k_indices = np.argpartition(distances, k)[:k] # O(N) selection instead of O(N log N) sort return int(np.sum(ytrain[kindices]) > k / 2.0) `"

    Dinar M. - "Even more faster and vectorized version, using np.linalg.norm - to avoid loop and np.argpartition to select lowest k. We dont need to sort whole array - we need to be sure that first k elements are lower than the rest. import numpy as np def knn(Xtrain, ytrain, X_new, k): distances = np.linalg.norm(Xtrain - Xnew, axis=1) k_indices = np.argpartition(distances, k)[:k] # O(N) selection instead of O(N log N) sort return int(np.sum(ytrain[kindices]) > k / 2.0) `"See full answer

    Software Engineer
    Coding
    +2 more
  • Apple logoAsked at Apple 
    24 answers
    +21

    "def is_valid(s: str) -> bool: stack = [] closeToOpen = { ")" : "(", "]" : "[", "}" : "{" } for c in s: if c in closeToOpen: if stack and stack[-1] == closeToOpen[c]: stack.pop() else: return False else: stack.append(c) return True if not stack else False debug your code below print(is_valid("()[]")) `"

    Anonymous Roadrunner - "def is_valid(s: str) -> bool: stack = [] closeToOpen = { ")" : "(", "]" : "[", "}" : "{" } for c in s: if c in closeToOpen: if stack and stack[-1] == closeToOpen[c]: stack.pop() else: return False else: stack.append(c) return True if not stack else False debug your code below print(is_valid("()[]")) `"See full answer

    Software Engineer
    Data Structures & Algorithms
    +4 more
  • Apple logoAsked at Apple 
    3 answers

    "class TrieNode { constructor() { this.children = {}; this.isEndOfWord = false; } } class Trie { constructor() { this.root = new TrieNode(); } insert(word) { let node = this.root; for (const char of word) { if (!node.children[char]) { node.children[char] = new TrieNode(); } node = node.children[char]; } node.isEndOfWord = true; } search(word) { l"

    Tiago R. - "class TrieNode { constructor() { this.children = {}; this.isEndOfWord = false; } } class Trie { constructor() { this.root = new TrieNode(); } insert(word) { let node = this.root; for (const char of word) { if (!node.children[char]) { node.children[char] = new TrieNode(); } node = node.children[char]; } node.isEndOfWord = true; } search(word) { l"See full answer

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

    Software Engineer
    Data Structures & Algorithms
    +2 more
  • Hubspot logoAsked at Hubspot 
    Add answer
    Software Engineer
    System Design
    +1 more
  • Software Engineer
    Concept
    +1 more
  • Adobe logoAsked at Adobe 
    10 answers
    +7

    "static TreeNode buildTree(int] preorder, int[] inorder) {//[2, 4, 5 if(preorder.length==0 || preorder.length!=inorder.length) { isNull=true; return null; } int parentElem=preorder[0];//2 int index=-1; index=binarySearch(inorder, parentElem);//3 //1 if(index==-1) { isNull=true; return null; } TreeNode root=new TreeNode(parentElem); int preOrder=0; int ind=-1; if(index>0) { int[] leftInOrder=Arrays.copyOfRange(inorder, 0, index); //[4, 2, 5]//[4] ind=binarySearch(preorder, inorder[index"

    Divya R. - "static TreeNode buildTree(int] preorder, int[] inorder) {//[2, 4, 5 if(preorder.length==0 || preorder.length!=inorder.length) { isNull=true; return null; } int parentElem=preorder[0];//2 int index=-1; index=binarySearch(inorder, parentElem);//3 //1 if(index==-1) { isNull=true; return null; } TreeNode root=new TreeNode(parentElem); int preOrder=0; int ind=-1; if(index>0) { int[] leftInOrder=Arrays.copyOfRange(inorder, 0, index); //[4, 2, 5]//[4] ind=binarySearch(preorder, inorder[index"See full answer

    Software Engineer
    Data Structures & Algorithms
    +2 more
  • Notion logoAsked at Notion 
    Add answer
    Software Engineer
    System Design
  • Nike logoAsked at Nike 
    Add answer
    Software Engineer
    System Design
Showing 361-380 of 650