Skip to main content

Software Engineer Interview Questions

Review this list of 592 Software Engineer interview questions and answers verified by hiring managers and candidates.
  • Google logoAsked at Google 
    Video answer for 'Design a visual landmark recognition system.'
    +3

    "I understand this is more focused on ML. However, I have a system question. If users allow us to access their location, or they send location via text box, could we use CDNs for the search without hitting our database? We only query the database when we have zero information on location. Other questions: does embedding always guarantee information on location? Do we discharge the user images after we return a prediction? I heard the feedback that we should keep it for future learning. What would"

    Bini T. - "I understand this is more focused on ML. However, I have a system question. If users allow us to access their location, or they send location via text box, could we use CDNs for the search without hitting our database? We only query the database when we have zero information on location. Other questions: does embedding always guarantee information on location? Do we discharge the user images after we return a prediction? I heard the feedback that we should keep it for future learning. What would"See full answer

    Software Engineer
    System Design
    +1 more
  • Adobe logoAsked at Adobe 
    +8

    "function findPrimes(n) { if (n < 2) return []; const primes = []; for (let i=2; i <= n; i++) { const half = Math.floor(i/2); let isPrime = true; for (let prime of primes) { if (i % prime === 0) { isPrime = false; break; } } if (isPrime) { primes.push(i); } } return primes; } `"

    Tiago R. - "function findPrimes(n) { if (n < 2) return []; const primes = []; for (let i=2; i <= n; i++) { const half = Math.floor(i/2); let isPrime = true; for (let prime of primes) { if (i % prime === 0) { isPrime = false; break; } } if (isPrime) { primes.push(i); } } return primes; } `"See full answer

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

    "I was able to answer this question and the follow-up questions as well"

    Anonymous Wasp - "I was able to answer this question and the follow-up questions as well"See full answer

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

    "Microservices for resolving diffs, storage S3 for keeping files"

    Anonymous Jellyfish - "Microservices for resolving diffs, storage S3 for keeping files"See full answer

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

  • Adobe logoAsked at Adobe 
    Video answer for 'Given the root of a binary tree of integers, return the maximum path sum.'

    "\# Definition for a binary tree node. class TreeNode: def init(self, val=0, left=None, right=None): self.val = val self.left = left self.right = right class Solution: def maxPathSum(self, root: TreeNode) -> int: self.max_sum = float('-inf')"

    Jerry O. - "\# Definition for a binary tree node. class TreeNode: def init(self, val=0, left=None, right=None): self.val = val self.left = left self.right = right class Solution: def maxPathSum(self, root: TreeNode) -> int: self.max_sum = float('-inf')"See full answer

    Software Engineer
    Data Structures & Algorithms
    +4 more
  • OpenAI logoAsked at OpenAI 
    Software Engineer
    Behavioral
    +5 more
  • Anthropic logoAsked at Anthropic 

    "Yes to peer manager from stackholder team the problem was every time she wanted say something she used to have three way connect with me and my manager"

    Graig - "Yes to peer manager from stackholder team the problem was every time she wanted say something she used to have three way connect with me and my manager"See full answer

    Software Engineer
    Behavioral
    +3 more
  • Anthropic logoAsked at Anthropic 
    Software Engineer
    Behavioral
    +1 more
  • Meta logoAsked at Meta 
    +1

    " import lombok.*; import lombok.extern.slf4j.Slf4j; import org.springframework.boot.CommandLineRunner; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.stereotype.Component; import org.springframework.stereotype.Repository; import org.springframework.stereotype.Service; import java.util.*; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; import java."

    Yash G. - " import lombok.*; import lombok.extern.slf4j.Slf4j; import org.springframework.boot.CommandLineRunner; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.stereotype.Component; import org.springframework.stereotype.Repository; import org.springframework.stereotype.Service; import java.util.*; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; import java."See full answer

    Software Engineer
    System Design
    +2 more
  • "naive solution: def countprefixpairs(words): n = len(words) count = 0 for i in range(n): for j in range(i + 1, n): if words[i].startswith(words[j]) or words[j].startswith(words[i]): count += 1 return count using tries for when the list of words is very long: from collections import Counter class TrieNode: def init(self): self.children = {} self.count = 0 # To count the number of words ending at this node"

    Anonymous Unicorn - "naive solution: def countprefixpairs(words): n = len(words) count = 0 for i in range(n): for j in range(i + 1, n): if words[i].startswith(words[j]) or words[j].startswith(words[i]): count += 1 return count using tries for when the list of words is very long: from collections import Counter class TrieNode: def init(self): self.children = {} self.count = 0 # To count the number of words ending at this node"See full answer

    Software Engineer
    Coding
  • Capital One logoAsked at Capital One 
    Software Engineer
    Data Structures & Algorithms
    +2 more
  • Software Engineer
    Data Structures & Algorithms
    +4 more
  • Stripe logoAsked at Stripe 

    "TCP server/client to facilitate high throughput of incoming metrics.(This is the standard used in the industry by Datadog etc). NoSQL or timeseries database for storing metrics. Timeseries databases are better for aggregating metrics in a given time period. REST API for serving metrics data to visualization frontend."

    Abhi R. - "TCP server/client to facilitate high throughput of incoming metrics.(This is the standard used in the industry by Datadog etc). NoSQL or timeseries database for storing metrics. Timeseries databases are better for aggregating metrics in a given time period. REST API for serving metrics data to visualization frontend."See full answer

    Software Engineer
    System Design
  • Google logoAsked at Google 
    +7

    "Honestly, In addition to having the right expertise and skills required for this job, I am really looking forward to being part of this organisation’s journey. I am really confident that I will really exceed your expectations in achieving both mine and the company’s goals. I have worked with different teams in different capacities, managed a team of engineers successfully from very early part of my career and that has made me a very easy person to work with. I get things done easily. I am passio"

    Piyush D. - "Honestly, In addition to having the right expertise and skills required for this job, I am really looking forward to being part of this organisation’s journey. I am really confident that I will really exceed your expectations in achieving both mine and the company’s goals. I have worked with different teams in different capacities, managed a team of engineers successfully from very early part of my career and that has made me a very easy person to work with. I get things done easily. I am passio"See full answer

    Software Engineer
    Behavioral
    +2 more
  • "find total sum. assign that to rightsum traverse from left to right: keep updating left sum and right sum, when they match return the index. else if you reach end return -1 or not found"

    Rahul J. - "find total sum. assign that to rightsum traverse from left to right: keep updating left sum and right sum, when they match return the index. else if you reach end return -1 or not found"See full answer

    Software Engineer
    Data Structures & Algorithms
    +1 more
  • Adobe logoAsked at Adobe 
    Video answer for 'Generate Parentheses'
    +7

    " O(n) time from typing import List def generate_parentheses(n: int): res = [] def generate(buf, opened, closed): if len(buf) == 2 * n: if n != 0: res.append(buf) return if opened < n: generate( buf + "(", opened + 1, closed) if closed < opened: generate(buf + ")", opened, closed + 1) generate("", 0, 0) return res debug your code below print(generate_parentheses(1"

    Rick E. - " O(n) time from typing import List def generate_parentheses(n: int): res = [] def generate(buf, opened, closed): if len(buf) == 2 * n: if n != 0: res.append(buf) return if opened < n: generate( buf + "(", opened + 1, closed) if closed < opened: generate(buf + ")", opened, closed + 1) generate("", 0, 0) return res debug your code below print(generate_parentheses(1"See full answer

    Software Engineer
    Data Structures & Algorithms
    +3 more
  • "Microsoft's mission is to empower every person and every organisation on the planet to achieve more. I am always inspired by helping others to achieve more by participating to different volunteer and mentorship experiences like Microsoft Student Ambassador, and GeeksForGeeks student ambassador, and I have also created and shared a free competitive-programming guide which once reached more than 700 stars on github, that enables students and professionals to join Microsoft like Microsoft, that hav"

    Davide P. - "Microsoft's mission is to empower every person and every organisation on the planet to achieve more. I am always inspired by helping others to achieve more by participating to different volunteer and mentorship experiences like Microsoft Student Ambassador, and GeeksForGeeks student ambassador, and I have also created and shared a free competitive-programming guide which once reached more than 700 stars on github, that enables students and professionals to join Microsoft like Microsoft, that hav"See full answer

    Software Engineer
    Behavioral
  • Amazon logoAsked at Amazon 
    Video answer for 'How do you consider the impact of your work on the world?'
    +12

    "this is not a helpful interview, she seems so unprepared, confusing, unable to netting it out :("

    Anonymous Giraffe - "this is not a helpful interview, she seems so unprepared, confusing, unable to netting it out :("See full answer

    Software Engineer
    Behavioral
    +3 more
  • "def encode(root): if not root: return [] def dfs(node): if not node: return res.append(node.val) res.append(len(node,children)) for child_node in node.children: dfs(child_node) res = [] dfs(root) return res def decode(arr): if not arr: return None n = len(arr) i = 0 def dfs(val, children_count): if children_count == 0: return Node(val) cur_node = Node(val) cur_node.children = [] for j in range(children_count): nonlocal i i += 2 cur_node.children.append(dfs(arr[i], arr[i"

    Ying T. - "def encode(root): if not root: return [] def dfs(node): if not node: return res.append(node.val) res.append(len(node,children)) for child_node in node.children: dfs(child_node) res = [] dfs(root) return res def decode(arr): if not arr: return None n = len(arr) i = 0 def dfs(val, children_count): if children_count == 0: return Node(val) cur_node = Node(val) cur_node.children = [] for j in range(children_count): nonlocal i i += 2 cur_node.children.append(dfs(arr[i], arr[i"See full answer

    Software Engineer
    Coding
Showing 241-260 of 592