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.
  • Perplexity AI logoAsked at Perplexity AI 
    Software Engineer
    Artificial Intelligence
    +3 more
  • Amazon logoAsked at Amazon 
    Video answer for 'Design a URL shortener.'
    +19

    "I studied Exponent's TinyURL system design video. My interviewer was asking many detailed questions on API design, schema, as well as data required to store. I found system design questions are bit high level instead of depth. I think should have detail design of API, schema and some additional flavors."

    Yag S. - "I studied Exponent's TinyURL system design video. My interviewer was asking many detailed questions on API design, schema, as well as data required to store. I found system design questions are bit high level instead of depth. I think should have detail design of API, schema and some additional flavors."See full answer

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

    "from typing import List def two_sum(nums: List[int], target: int) -> List[int]: prevMap = {} for i, n in enumerate(nums): diff = target - n if diff in prevMap: return [prevMap[diff], i] else: prevMap[n] = i return [] debug your code below print(two_sum([2, 7, 11, 15], 9)) `"

    Anonymous Roadrunner - "from typing import List def two_sum(nums: List[int], target: int) -> List[int]: prevMap = {} for i, n in enumerate(nums): diff = target - n if diff in prevMap: return [prevMap[diff], i] else: prevMap[n] = i return [] debug your code below print(two_sum([2, 7, 11, 15], 9)) `"See full answer

    Software Engineer
    Data Structures & Algorithms
    +5 more
  • Amazon logoAsked at Amazon 
    Software Engineer
    System Design
  • Adobe logoAsked at Adobe 
    Video answer for 'Given an nxn grid of 1s and 0s, return the number of islands in the input.'
    +14

    " from typing import List def getnumberof_islands(binaryMatrix: List[List[int]]) -> int: if not binaryMatrix: return 0 rows = len(binaryMatrix) cols = len(binaryMatrix[0]) islands = 0 for r in range(rows): for c in range(cols): if binaryMatrixr == 1: islands += 1 dfs(binaryMatrix, r, c) return islands def dfs(grid, r, c): if ( r = len(grid) "

    Rick E. - " from typing import List def getnumberof_islands(binaryMatrix: List[List[int]]) -> int: if not binaryMatrix: return 0 rows = len(binaryMatrix) cols = len(binaryMatrix[0]) islands = 0 for r in range(rows): for c in range(cols): if binaryMatrixr == 1: islands += 1 dfs(binaryMatrix, r, c) return islands def dfs(grid, r, c): if ( r = len(grid) "See full answer

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

  • Visa logoAsked at Visa 
    Software Engineer
    System Design
  • Adobe logoAsked at Adobe 
    Video answer for 'Find a triplet in an array with a given sum.'
    +16

    "from typing import List def three_sum(nums: List[int]) -> List[List[int]]: nums.sort() triplets = set() for i in range(len(nums) - 2): firstNum = nums[i] l = i + 1 r = len(nums) - 1 while l 0: r -= 1 elif potentialSum < 0: l += 1 "

    Anonymous Roadrunner - "from typing import List def three_sum(nums: List[int]) -> List[List[int]]: nums.sort() triplets = set() for i in range(len(nums) - 2): firstNum = nums[i] l = i + 1 r = len(nums) - 1 while l 0: r -= 1 elif potentialSum < 0: l += 1 "See full answer

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

    "I want to work at Stripe because Stripe has become the industry standard for many businesses and startups in the world. As a CFO I would be proud to work with a leader on a processing market, improving it position with my skills and experience. I will be happy to be a part of this great Team and learn from them."

    Stanislav I. - "I want to work at Stripe because Stripe has become the industry standard for many businesses and startups in the world. As a CFO I would be proud to work with a leader on a processing market, improving it position with my skills and experience. I will be happy to be a part of this great Team and learn from them."See full answer

    Software Engineer
    Behavioral
  • "During my internship at Inceptra Analytics, our team was working on improving the monthly reporting process for the operations department. I proposed switching from manual Excel reports to a Power BI dashboard to automate and visualize key metrics. However, some team members were hesitant—they felt the current process, although tedious, was more familiar and controllable. My task was to get buy-in from the team to adopt a more efficient reporting method without causing disruption or resistance."

    Dhruv M. - "During my internship at Inceptra Analytics, our team was working on improving the monthly reporting process for the operations department. I proposed switching from manual Excel reports to a Power BI dashboard to automate and visualize key metrics. However, some team members were hesitant—they felt the current process, although tedious, was more familiar and controllable. My task was to get buy-in from the team to adopt a more efficient reporting method without causing disruption or resistance."See full answer

    Software Engineer
    Behavioral
  • Anthropic logoAsked at Anthropic 
    Software Engineer
    Behavioral
  • Meta logoAsked at Meta 

    "I think LRU will be the right option for this because dns cache has ttl associated with it and the combinatuon of LRU cache and timer expiry will be the most effectively used solution. "

    Nikhil S. - "I think LRU will be the right option for this because dns cache has ttl associated with it and the combinatuon of LRU cache and timer expiry will be the most effectively used solution. "See full answer

    Software Engineer
    System Design
  • DocuSign logoAsked at DocuSign 

    "The real discussion was very much similar o what exposed at https://www.tryexponent.com/courses/software-engineering/system-design/design-rate-limiter, but - as I commented the video - the real interviewer wasn't so naive to do not forgive the client identification only because IP. I had to introduce glimpses of https://en.wikipedia.org/wiki/Knowyourcustomer practice, I quoted JWT. I proposed a logical map of id addressing a "deque" of time-stamps of requests, with a threshold for the deque an"

    Luca D. - "The real discussion was very much similar o what exposed at https://www.tryexponent.com/courses/software-engineering/system-design/design-rate-limiter, but - as I commented the video - the real interviewer wasn't so naive to do not forgive the client identification only because IP. I had to introduce glimpses of https://en.wikipedia.org/wiki/Knowyourcustomer practice, I quoted JWT. I proposed a logical map of id addressing a "deque" of time-stamps of requests, with a threshold for the deque an"See full answer

    Software Engineer
    System Design
  • Meta logoAsked at Meta 
    +1

    "public class CircularBuffer { private T[] buffer; private int head; private int tail; private int size; private final int capacity; public CircularBuffer(int capacity) { this.capacity = capacity; this.buffer = (T[]) new Object[capacity]; this.head = 0; this.tail = 0; this.size = 0; } public void enqueue(T item) { if (isFull()) { throw new IllegalStateException("Buffer is full"); } buf"

    Vidhyadhar V. - "public class CircularBuffer { private T[] buffer; private int head; private int tail; private int size; private final int capacity; public CircularBuffer(int capacity) { this.capacity = capacity; this.buffer = (T[]) new Object[capacity]; this.head = 0; this.tail = 0; this.size = 0; } public void enqueue(T item) { if (isFull()) { throw new IllegalStateException("Buffer is full"); } buf"See full answer

    Software Engineer
    Data Structures & Algorithms
    +1 more
  • "MOD = 10**9 + 7 def max_stability(reliability, availability): max_stability = 1 for r, a in zip(reliability, availability): Compute stability of the current server stability = r * a if stability != 0: Multiply into max_stability and take modulo maxstability = (maxstability * stability) % MOD return max_stability reliability = [1, 2, 2] availability = [1, 1, 3] print(max_stability(reliability, availability)) # Output the result mo"

    K.nithish K. - "MOD = 10**9 + 7 def max_stability(reliability, availability): max_stability = 1 for r, a in zip(reliability, availability): Compute stability of the current server stability = r * a if stability != 0: Multiply into max_stability and take modulo maxstability = (maxstability * stability) % MOD return max_stability reliability = [1, 2, 2] availability = [1, 1, 3] print(max_stability(reliability, availability)) # Output the result mo"See full answer

    Software Engineer
    Coding
  • Google logoAsked at Google 

    "Situation: As a Product Manager at Cisco, I was leading the development of a new highly critical product for enterprise customers. Midway through the project, a key engineering team was reassigned due to an urgent security patch, leaving us understaffed with only six weeks left before a critical customer pilot. Task: I had to ensure the product launched on time without sacrificing key features, despite losing half of our engineering team. The challenge was to"

    fuzzyicecream14 - "Situation: As a Product Manager at Cisco, I was leading the development of a new highly critical product for enterprise customers. Midway through the project, a key engineering team was reassigned due to an urgent security patch, leaving us understaffed with only six weeks left before a critical customer pilot. Task: I had to ensure the product launched on time without sacrificing key features, despite losing half of our engineering team. The challenge was to"See full answer

    Software Engineer
    Behavioral
  • Meta logoAsked at Meta 
    Software Engineer
    Data Structures & Algorithms
    +1 more
  • "def mostefficientseqscore(parentheses, efficiencyratings): mes = [] for i in range(len(parentheses)): mes.append((parentheses[i], max(efficiency_ratings[i])) return sum([m[1] for m in mes]) `"

    Nathan C. - "def mostefficientseqscore(parentheses, efficiencyratings): mes = [] for i in range(len(parentheses)): mes.append((parentheses[i], max(efficiency_ratings[i])) return sum([m[1] for m in mes]) `"See full answer

    Software Engineer
    Coding
  • Oracle logoAsked at Oracle 
    Software Engineer
    Data Structures & Algorithms
    +1 more
  • Amazon logoAsked at Amazon 

    "Was the statement very similar to the leetcode or was it changed and only the main idea remained?"

    Anonymous Wombat - "Was the statement very similar to the leetcode or was it changed and only the main idea remained?"See full answer

    Software Engineer
    Data Structures & Algorithms
    +1 more
  • Software Engineer
    Behavioral
Showing 221-240 of 592