Skip to main content

Software Engineer Interview Questions

Review this list of 593 Software Engineer interview questions and answers verified by hiring managers and candidates.
  • Anthropic logoAsked at Anthropic 
    Software Engineer
    Artificial Intelligence
    +1 more
  • Amazon logoAsked at Amazon 
    +1

    "I tried solving this problem and here is the recorded video for the answer. https://www.youtube.com/watch?v=d1tOkeQjyI4 And here is the link to Excalidraw board - https://excalidraw.com/#json=uabNFHcZm5qNh8CInMvyh,Wn9Vf1ZhGdl_iBCQYFkYdw"

    Rjj - "I tried solving this problem and here is the recorded video for the answer. https://www.youtube.com/watch?v=d1tOkeQjyI4 And here is the link to Excalidraw board - https://excalidraw.com/#json=uabNFHcZm5qNh8CInMvyh,Wn9Vf1ZhGdl_iBCQYFkYdw"See full answer

    Software Engineer
    System Design
    +1 more
  • "Situation: Our company was going through tech stack updated and our team tasked to migrate existing code into Typescript(TS) and all future development to be written with TS within our codebase. TASK: Migrate existing codebase to TS and future integration to be TS compatible. ACTION: The team deep dived into picking up TS skill and learnt some basics and focused on delivering the migration in phases. I prioritised the files to migrate based on levels of complexity. I created a Fil"

    Shashank K. - "Situation: Our company was going through tech stack updated and our team tasked to migrate existing code into Typescript(TS) and all future development to be written with TS within our codebase. TASK: Migrate existing codebase to TS and future integration to be TS compatible. ACTION: The team deep dived into picking up TS skill and learnt some basics and focused on delivering the migration in phases. I prioritised the files to migrate based on levels of complexity. I created a Fil"See full answer

    Software Engineer
    Behavioral
    +1 more
  • "from collections import deque from typing import List def longestsubarraydifflessthan_n(nums: List[int], N: int) -> int: """ Find the length of the longest contiguous subarray such that the difference between any two elements in the subarray is less than N. Equivalent condition: max(subarray) - min(subarray) < N Approach (Optimal): Sliding window with two monotonic deques: max_d: decreasing deque of indices (front is index of current max"

    Ramachandra N. - "from collections import deque from typing import List def longestsubarraydifflessthan_n(nums: List[int], N: int) -> int: """ Find the length of the longest contiguous subarray such that the difference between any two elements in the subarray is less than N. Equivalent condition: max(subarray) - min(subarray) < N Approach (Optimal): Sliding window with two monotonic deques: max_d: decreasing deque of indices (front is index of current max"See full answer

    Software Engineer
    Data Structures & Algorithms
    +1 more
  • +5

    "Functional Requirement Ingest Book Reviews in real time User in the website needs specify title tho search books, return response is the list of reviews on the books. Non Functional Requirement: User get real-time book reviews> It nees to handle the search among 1 million of active users daily"

    Simon O. - "Functional Requirement Ingest Book Reviews in real time User in the website needs specify title tho search books, return response is the list of reviews on the books. Non Functional Requirement: User get real-time book reviews> It nees to handle the search among 1 million of active users daily"See full answer

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

  • +7

    "As a PM i received a feedback from my program manager on my style of verbal communication. It is about me speaking faster when i wanted to get away with a topic that i wasn't confident (may be not backed up with data, or still in process of getting detailed insight of a problem etc.). Whereas when I'm confident I tend to speak slowly or more assertively that made people to follow easily. I welcomed that feedback so from then on when I'm not confident in a topic I became more assertive to let pe"

    Rajesh V. - "As a PM i received a feedback from my program manager on my style of verbal communication. It is about me speaking faster when i wanted to get away with a topic that i wasn't confident (may be not backed up with data, or still in process of getting detailed insight of a problem etc.). Whereas when I'm confident I tend to speak slowly or more assertively that made people to follow easily. I welcomed that feedback so from then on when I'm not confident in a topic I became more assertive to let pe"See full answer

    Software Engineer
    Behavioral
    +9 more
  • Amazon logoAsked at Amazon 
    +8

    "I firstly discuss the brute force approach in O(n^2) time complexity , than i moved to O(nlogn) tine complexity than i discussed the O(n) time complexity and O(n) space complexity . But interviewer want more optimised solution , in O(n) time complexity without using extra space , The solution wants O(1) space complexity i have to do changes in same array without using any space . This method is something like i have to place positive values to its original position by swapping and rest negativ"

    Anni P. - "I firstly discuss the brute force approach in O(n^2) time complexity , than i moved to O(nlogn) tine complexity than i discussed the O(n) time complexity and O(n) space complexity . But interviewer want more optimised solution , in O(n) time complexity without using extra space , The solution wants O(1) space complexity i have to do changes in same array without using any space . This method is something like i have to place positive values to its original position by swapping and rest negativ"See full answer

    Software Engineer
    Data Structures & Algorithms
    +1 more
  • +8

    "Used Recursive approach to traverse the binary search tree and sum the values of the nodes that fall within the specified range [low, high]"

    Srikant V. - "Used Recursive approach to traverse the binary search tree and sum the values of the nodes that fall within the specified range [low, high]"See full answer

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

    "The interviewer was interested how the system design would be for files, directories, symbolic links. After proposing my idea, I was asked to print all files for a given path."

    B. T. - "The interviewer was interested how the system design would be for files, directories, symbolic links. After proposing my idea, I was asked to print all files for a given path."See full answer

    Software Engineer
    System Design
  • Discord logoAsked at Discord 
    +3

    "Always assume good intentions on the part of both parties when resolving conflicts. Then proceed with a STAR example."

    Abhinav M. - "Always assume good intentions on the part of both parties when resolving conflicts. Then proceed with a STAR example."See full answer

    Software Engineer
    Behavioral
    +3 more
  • +1

    " Compare alternate houses i.e for each house starting from the third, calculate the maximum money that can be stolen up to that house by choosing between: Skipping the current house and taking the maximum money stolen up to the previous house. Robbing the current house and adding its value to the maximum money stolen up to the house two steps back. package main import ( "fmt" ) // rob function calculates the maximum money a robber can steal func maxRob(nums []int) int { ln"

    VContaineers - " Compare alternate houses i.e for each house starting from the third, calculate the maximum money that can be stolen up to that house by choosing between: Skipping the current house and taking the maximum money stolen up to the previous house. Robbing the current house and adding its value to the maximum money stolen up to the house two steps back. package main import ( "fmt" ) // rob function calculates the maximum money a robber can steal func maxRob(nums []int) int { ln"See full answer

    Software Engineer
    Data Structures & Algorithms
    +4 more
  • Anthropic logoAsked at Anthropic 
    Software Engineer
    Artificial Intelligence
    +4 more
  • Google logoAsked at Google 
    Video answer for 'Redesign the airport experience.'
    +8

    "I would like to speak loud to narrow the scope of this question so I can be effective in identifying a solution to the problem on hand. Hope that is OK. You mentioned, “Re-design the airport experience”. Is there a goal for this re-design exercise? Some top goals that come to my mind are the following. Please guide me so I can set it and we can proceed from there. “Increase the number of passengers who travel to and from this airport” “Improve customer satisfaction” **“Get in"

    Tara J. - "I would like to speak loud to narrow the scope of this question so I can be effective in identifying a solution to the problem on hand. Hope that is OK. You mentioned, “Re-design the airport experience”. Is there a goal for this re-design exercise? Some top goals that come to my mind are the following. Please guide me so I can set it and we can proceed from there. “Increase the number of passengers who travel to and from this airport” “Improve customer satisfaction” **“Get in"See full answer

    Software Engineer
    Product Design
    +1 more
  • "2 Approaches: 1) The more intuitive approach is doing a multi-source BFS from all cats and storing the distance of closest cats. Then do a dfs/bfs from rat to bread. Time Complexity: O(mn + 4^L) where L is path length, worst case L could be mn Space Complexity: O(m*n) 2) The first approach should be fine for interviews. But if they ask to optimize it further, you can use Binary Search. Problems like "Finding max of min distance" or "Finding min of max" could be usually solved by BS. "

    Karan K. - "2 Approaches: 1) The more intuitive approach is doing a multi-source BFS from all cats and storing the distance of closest cats. Then do a dfs/bfs from rat to bread. Time Complexity: O(mn + 4^L) where L is path length, worst case L could be mn Space Complexity: O(m*n) 2) The first approach should be fine for interviews. But if they ask to optimize it further, you can use Binary Search. Problems like "Finding max of min distance" or "Finding min of max" could be usually solved by BS. "See full answer

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

    "we can use two pointer + set like maintain i,j and also insert jth character to set like while set size is equal to our window j-i+1 then maximize our answer and increase jth pointer till last index"

    Kishor J. - "we can use two pointer + set like maintain i,j and also insert jth character to set like while set size is equal to our window j-i+1 then maximize our answer and increase jth pointer till last index"See full answer

    Software Engineer
    Data Structures & Algorithms
    +4 more
  • "Thanks for the question! This is one of my favourite topics because it’s at the core of what we do as PMs DAILY: making the complex simple to drive alignment. I’ve got a structured way to approach this, and I’ll use it to explain payment aggregators - like Plaid - and how they enable Open Banking, with a twist about a technical hiccup I’ve seen in practice. Let’s dive in. I start by assessing the audience. Say I’m talking to a marketing manager at Transak - someone sharp but not techni"

    Adarsh S. - "Thanks for the question! This is one of my favourite topics because it’s at the core of what we do as PMs DAILY: making the complex simple to drive alignment. I’ve got a structured way to approach this, and I’ll use it to explain payment aggregators - like Plaid - and how they enable Open Banking, with a twist about a technical hiccup I’ve seen in practice. Let’s dive in. I start by assessing the audience. Say I’m talking to a marketing manager at Transak - someone sharp but not techni"See full answer

    Software Engineer
    Behavioral
    +3 more
  • Amazon logoAsked at Amazon 
    Video answer for 'Design a rate limiter.'
    +9

    "Rate Limiter is to limit the number of request from a particular IP Address. Rate limiter will block the IP address to reduce the load on server. It should be highly available and handle concurrent requests. Blocked IP addresses should be kept in a pool which is present in shared cache. We need to keep threshold value after it reaches threshold value it should start blocking IP address. All these ip address to be kept in No SQL DB. Batch will run that will clear the cache and delete all the bloc"

    Ashish G. - "Rate Limiter is to limit the number of request from a particular IP Address. Rate limiter will block the IP address to reduce the load on server. It should be highly available and handle concurrent requests. Blocked IP addresses should be kept in a pool which is present in shared cache. We need to keep threshold value after it reaches threshold value it should start blocking IP address. All these ip address to be kept in No SQL DB. Batch will run that will clear the cache and delete all the bloc"See full answer

    Software Engineer
    System Design
    +1 more
  • Visa logoAsked at Visa 

    "I generally struggle with stakeholders and partners who doesn't communicate enough. Now it could be either they don't invest sufficient time and energy in doing so or at times they lack the skill sets to do so. In both the cases, the entire responsibility fell on the other person to dig deep into why someone is doing the way they are doing, reading into patterns and behaviour of their personality and adapting to those communication styles"

    Lati K. - "I generally struggle with stakeholders and partners who doesn't communicate enough. Now it could be either they don't invest sufficient time and energy in doing so or at times they lack the skill sets to do so. In both the cases, the entire responsibility fell on the other person to dig deep into why someone is doing the way they are doing, reading into patterns and behaviour of their personality and adapting to those communication styles"See full answer

    Software Engineer
    Behavioral
    +2 more
  • +11

    "def hasgoodsubarray(nums, k): if not nums: return False prefix = 0 table = set([0]) for i in range(len(nums)): prefix += nums[i] if prefix % k in table: return True table.add(prefix % k) return False `"

    Wayne W. - "def hasgoodsubarray(nums, k): if not nums: return False prefix = 0 table = set([0]) for i in range(len(nums)): prefix += nums[i] if prefix % k in table: return True table.add(prefix % k) return False `"See full answer

    Software Engineer
    Data Structures & Algorithms
    +4 more
Showing 61-80 of 593