Skip to main content

Top Software Engineer Interview Questions

Review this list of 715 Software Engineer interview questions and answers verified by hiring managers and candidates.
  • Google logoAsked at Google 
    13 answers
    +9

    "Designing a system to deny services to requests from banned IPs involves integrating real-time IP checking with your service architecture. Here’s a detailed outline of how you can design such a system: System Design Overview The goal is to ensure that your service can efficiently check incoming requests against a list of banned IPs and deny access when necessary. The system will leverage an external API, security.gov.x, to determine if an IP address is blocked or allowed. **Key Compone"

    Palak A. - "Designing a system to deny services to requests from banned IPs involves integrating real-time IP checking with your service architecture. Here’s a detailed outline of how you can design such a system: System Design Overview The goal is to ensure that your service can efficiently check incoming requests against a list of banned IPs and deny access when necessary. The system will leverage an external API, security.gov.x, to determine if an IP address is blocked or allowed. **Key Compone"See full answer

    Software Engineer
    System Design
    +2 more
  • Adobe logoAsked at Adobe 
    10 answers
    Video answer for 'Explain how to find a target sum in an array.'
    +6

    "A recursive backtracking solution in python. def changeSigns(nums: List[int], S: int) -> int: res = [] n = len(nums) def backtrack(index, curr, arr): if curr == S and len(arr) == n: res.append(arr[:]) return if index >= len(nums): return for i in range(index, n): add +ve number arr.append(nums[i]) backtrack(i+1, curr + nums[i], arr) arr.pop() "

    Yugaank K. - "A recursive backtracking solution in python. def changeSigns(nums: List[int], S: int) -> int: res = [] n = len(nums) def backtrack(index, curr, arr): if curr == S and len(arr) == n: res.append(arr[:]) return if index >= len(nums): return for i in range(index, n): add +ve number arr.append(nums[i]) backtrack(i+1, curr + nums[i], arr) arr.pop() "See full answer

    Software Engineer
    Data Structures & Algorithms
    +1 more
  • Amazon logoAsked at Amazon 
    57 answers
    Video answer for 'Merge Intervals'
    +49

    "const mergeIntervals = (intervals) => { const compare = (a, b) => { if(a[0] b[0]) return 1 else if(a[0] === b[0]) { return a[1] - b[1] } } let current = [] const result = [] const sorted = intervals.sort(compare) for(let i = 0; i = b[0]) current[1] = b[1] els"

    Kofi N. - "const mergeIntervals = (intervals) => { const compare = (a, b) => { if(a[0] b[0]) return 1 else if(a[0] === b[0]) { return a[1] - b[1] } } let current = [] const result = [] const sorted = intervals.sort(compare) for(let i = 0; i = b[0]) current[1] = b[1] els"See full answer

    Software Engineer
    Data Structures & Algorithms
    +6 more
  • Apple logoAsked at Apple 
    5 answers
    +2

    "To answer this, I will focus my efforts on explaining the most common type of API used in most modern software development applications - the REST API. For the purpose of simplicity, I will also keep the topics of Authorization and Authentication out of the mix. In essence, an API is a group of logic that takes in a specific set of inputs and responds with a specific set of outputs. This is analogous to going to a drive-thru and placing an order for a meal. When you give an API a bunch of"

    Pathworks P. - "To answer this, I will focus my efforts on explaining the most common type of API used in most modern software development applications - the REST API. For the purpose of simplicity, I will also keep the topics of Authorization and Authentication out of the mix. In essence, an API is a group of logic that takes in a specific set of inputs and responds with a specific set of outputs. This is analogous to going to a drive-thru and placing an order for a meal. When you give an API a bunch of"See full answer

    Software Engineer
    System Design
    +4 more
  • Adobe logoAsked at Adobe 
    16 answers
    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.'
    +12

    " def hasgoodsubarray(nums, k): if not nums: return False if k == 0: for i in range(len(nums)): if nums[i] == 0 and nums[i + 1] == 0: return True return False map = {0:-1} sum = 0 for i,val in enumerate(nums): sum += val rem = sum % k if rem in map: if i - map[rem] >= 2: return True else: map[rem] = i return False print(hasgoods"

    Abinash S. - " def hasgoodsubarray(nums, k): if not nums: return False if k == 0: for i in range(len(nums)): if nums[i] == 0 and nums[i + 1] == 0: return True return False map = {0:-1} sum = 0 for i,val in enumerate(nums): sum += val rem = sum % k if rem in map: if i - map[rem] >= 2: return True else: map[rem] = i return False print(hasgoods"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.

  • Accenture logoAsked at Accenture 
    2 answers
    Video answer for 'Design a key-value store.'

    "Is this in-memory key value store or Disk based as store they are trying to make? Can someone help me with this"

    Chetan R. - "Is this in-memory key value store or Disk based as store they are trying to make? Can someone help me with this"See full answer

    Software Engineer
    System Design
    +2 more
  • Amazon logoAsked at Amazon 
    4 answers
    +1

    "We will not always have all the required data to make a decision quickly. We need to work with ambiguity effectively by tying up the available facts with intuition."

    Sankar S. - "We will not always have all the required data to make a decision quickly. We need to work with ambiguity effectively by tying up the available facts with intuition."See full answer

    Software Engineer
    Behavioral
    +2 more
  • +2

    "Referring to https://www.forbes.com/sites/forbesbusinesscouncil/2022/03/23/15-strategies-for-balancing-competing-stakeholder-priorities/?sh=7c82aa68262f Understand the conflicting priorities and align it with the goal/ objectives and the company mission. Start with the Least Common Denominator between the conflicting priorities to come to a commonality and start from there to objectively approach the next imp priority Always keep communication on and be transparent with 'equality' an"

    Pramod V. - "Referring to https://www.forbes.com/sites/forbesbusinesscouncil/2022/03/23/15-strategies-for-balancing-competing-stakeholder-priorities/?sh=7c82aa68262f Understand the conflicting priorities and align it with the goal/ objectives and the company mission. Start with the Least Common Denominator between the conflicting priorities to come to a commonality and start from there to objectively approach the next imp priority Always keep communication on and be transparent with 'equality' an"See full answer

    Software Engineer
    Behavioral
    +6 more
  • Apple logoAsked at Apple 
    15 answers
    +11

    "Whatever your situation is, the correct answer is: "I'm very happy with my current job (expand on your experience, ability to deliver, team, achievements etc). But when I saw this opportunity, I had find out more." You essentially want to sounds interested, but clarify that your current situation is great."

    Bjorn L. - "Whatever your situation is, the correct answer is: "I'm very happy with my current job (expand on your experience, ability to deliver, team, achievements etc). But when I saw this opportunity, I had find out more." You essentially want to sounds interested, but clarify that your current situation is great."See full answer

    Software Engineer
    Behavioral
    +1 more
  • Airbnb logoAsked at Airbnb 
    5 answers
    Video answer for 'Design Airbnb's search functionality.'
    +2

    "The back-of-the-envelope calculation is very well done!"

    Ushita S. - "The back-of-the-envelope calculation is very well done!"See full answer

    Software Engineer
    System Design
  • Adobe logoAsked at Adobe 
    69 answers
    Video answer for 'Move all zeros to the end of an array.'
    +64

    "Initialize left pointer: Set a left pointer left to 0. Iterate through the array: Iterate through the array from left to right. If the current element is not 0, swap it with the element at the left pointer and increment left. Time complexity: O(n). The loop iterates through the entire array once, making it linear time. Space complexity: O(1). The algorithm operates in-place, modifying the input array directly without using additional data structures. "

    Avon T. - "Initialize left pointer: Set a left pointer left to 0. Iterate through the array: Iterate through the array from left to right. If the current element is not 0, swap it with the element at the left pointer and increment left. Time complexity: O(n). The loop iterates through the entire array once, making it linear time. Space complexity: O(1). The algorithm operates in-place, modifying the input array directly without using additional data structures. "See full answer

    Software Engineer
    Data Structures & Algorithms
    +4 more
  • Google logoAsked at Google 
    7 answers
    +4

    "The company culture is very supportive and collaborative. Googlers are encouraged to be creative and innovative, and there is a lot of freedom to explore new ideas. The work is challenging and rewarding. Googlers have the opportunity to work on cutting-edge projects that have a real impact on the world. The company is committed to diversity and inclusion. Google is a great place to work for people from all backgrounds and with all different perspectives. I am confident that I would b"

    Praful B. - "The company culture is very supportive and collaborative. Googlers are encouraged to be creative and innovative, and there is a lot of freedom to explore new ideas. The work is challenging and rewarding. Googlers have the opportunity to work on cutting-edge projects that have a real impact on the world. The company is committed to diversity and inclusion. Google is a great place to work for people from all backgrounds and with all different perspectives. I am confident that I would b"See full answer

    Software Engineer
    Behavioral
    +3 more
  • Adobe logoAsked at Adobe 
    13 answers
    Video answer for 'Design a typeahead box for a search engine.'
    +5

    "It would have been more interesting to focus on the system design rather than the Trie DS, Interviewee could have just mentioned the Trie and passed to things more important. Interviewee should have focused on the factors on which he wants to scale the API servers, popularity of the query parts ? region may be ? A hash of many factors ? Caches should have definitely be discussed, Cache eviction policies, Cache invalidation managements... Interviewee should have mentioned which kind of API pro"

    Aymen D. - "It would have been more interesting to focus on the system design rather than the Trie DS, Interviewee could have just mentioned the Trie and passed to things more important. Interviewee should have focused on the factors on which he wants to scale the API servers, popularity of the query parts ? region may be ? A hash of many factors ? Caches should have definitely be discussed, Cache eviction policies, Cache invalidation managements... Interviewee should have mentioned which kind of API pro"See full answer

    Software Engineer
    System Design
    +1 more
  • Google DeepMind logoAsked at Google DeepMind 
    5 answers
    +2

    "This is a fantastic question and one that comes up very often in behavioral rounds. When interviewers ask you to talk about something you built end to end without relying on others, they are not looking for a lone wolf who cannot collaborate. Instead, they are deeply testing your Ownership and trying to determine your engineering level. Here is how different levels typically approach this exact same question: Junior to Mid Level: Focuses on independently completing a well defined UI component"

    Ingrid Z. - "This is a fantastic question and one that comes up very often in behavioral rounds. When interviewers ask you to talk about something you built end to end without relying on others, they are not looking for a lone wolf who cannot collaborate. Instead, they are deeply testing your Ownership and trying to determine your engineering level. Here is how different levels typically approach this exact same question: Junior to Mid Level: Focuses on independently completing a well defined UI component"See full answer

    Software Engineer
    Behavioral
    +1 more
  • Amazon logoAsked at Amazon 
    6 answers
    +3

    "Hi Team, where can I see sample answers for this question?"

    Surbhi G. - "Hi Team, where can I see sample answers for this question?"See full answer

    Software Engineer
    Behavioral
    +1 more
  • Adobe logoAsked at Adobe 
    48 answers
    +41

    "public static boolean isPalindrome(String str){ boolean flag = true; int len = str.length()-1; int j = len; for(int i=0;i<=len/2;i++){ if(str.charAt(i)!=str.charAt(j--)){ flag = false; break; } } return flag; }"

    Sravanthi M. - "public static boolean isPalindrome(String str){ boolean flag = true; int len = str.length()-1; int j = len; for(int i=0;i<=len/2;i++){ if(str.charAt(i)!=str.charAt(j--)){ flag = false; break; } } return flag; }"See full answer

    Software Engineer
    Data Structures & Algorithms
    +4 more
  • Amazon logoAsked at Amazon 
    4 answers
    +1

    "Provided an example from my work history where I asked to move the Go-live date to prevent launch date failure."

    Namu - "Provided an example from my work history where I asked to move the Go-live date to prevent launch date failure."See full answer

    Software Engineer
    Behavioral
    +2 more
  • +20

    "Since the problem asks for a O(logN) solution, I have to assume that the numbers are already sorted, meaning the same number are adjacent to each other, the value of the numbers shouldn't matter, and they expect us to use Binary Search. First, we should analyze the pattern of a regular number array without a single disrupter. Index: 0 1 2 3 4. 5 6. 7. 8. 9 Array:[1, 1, 2, 2, 4, 4, 5, 5, 6, 6] notice the odd indexes are always referencing the second of the reoccurring numbers and t"

    Bamboo Y. - "Since the problem asks for a O(logN) solution, I have to assume that the numbers are already sorted, meaning the same number are adjacent to each other, the value of the numbers shouldn't matter, and they expect us to use Binary Search. First, we should analyze the pattern of a regular number array without a single disrupter. Index: 0 1 2 3 4. 5 6. 7. 8. 9 Array:[1, 1, 2, 2, 4, 4, 5, 5, 6, 6] notice the odd indexes are always referencing the second of the reoccurring numbers and t"See full answer

    Software Engineer
    Coding
    +1 more
  • Amazon logoAsked at Amazon 
    1 answer

    "One time at Lifetime Fitness 2019, One student was throwing a lot of towels in the counter which made things very disorganized, then I made a compromise with my coworker to put 2 towels at a time and then it worked well because it made the workspace very organized."

    Amparo L. - "One time at Lifetime Fitness 2019, One student was throwing a lot of towels in the counter which made things very disorganized, then I made a compromise with my coworker to put 2 towels at a time and then it worked well because it made the workspace very organized."See full answer

    Software Engineer
    Behavioral
    +2 more
  • Amazon logoAsked at Amazon 
    3 answers

    "Request inputs/feedback on my response below with regards to this question and ways to improve and if it looks apt for this question. As a TPM at xxx, I was responsible for delivering a feature that would provide prescription (medications) alternatives to users in the Prescription Shopping Consumer Experience App. The project had a tight deadline as it was something that our account management team promised to a client who wanted it for their employees. My goal was to ensure smooth development"

    Pavani B. - "Request inputs/feedback on my response below with regards to this question and ways to improve and if it looks apt for this question. As a TPM at xxx, I was responsible for delivering a feature that would provide prescription (medications) alternatives to users in the Prescription Shopping Consumer Experience App. The project had a tight deadline as it was something that our account management team promised to a client who wanted it for their employees. My goal was to ensure smooth development"See full answer

    Software Engineer
    Behavioral
    +1 more
Showing 41-60 of 715
Exponent

Get updates in your inbox with the latest tips, job listings, and more.

Follow Us

Products
Courses
Interview Questions
Interview Experiences
Popular articles
Guides
Coaching
For Partners
Company
Exponent © 2026
Terms of Service | Privacy