New: Frontend mock interviews added to Exponent Practice →

Top Software Engineer Interview Questions

Review this list of 382 software engineer interview questions and answers verified by hiring managers and candidates.
  • Visa logoAsked at Visa 
    K
    S
    M
    +17

    "You shouldn't hire me if you're looking for someone to simply write code in large volumes without considering the bigger picture. I'm someone who thrives on solving root problems, building, cohesive systems, and ensuring stakeholder alignment. If the priority is speed over thoughtful analysis, I might not be the best fit. However, if you're looking for someone who can drive meaningful and scalable solutions, collaborate effectively, and contribute to long-term success, then I believe I'd bring s"

    Nicola R. - "You shouldn't hire me if you're looking for someone to simply write code in large volumes without considering the bigger picture. I'm someone who thrives on solving root problems, building, cohesive systems, and ensuring stakeholder alignment. If the priority is speed over thoughtful analysis, I might not be the best fit. However, if you're looking for someone who can drive meaningful and scalable solutions, collaborate effectively, and contribute to long-term success, then I believe I'd bring s"See full answer

    Software Engineer
    Behavioral
    +4 more
  • O
    O

    "Sounds like both the features requests address different problems, although it should be clarified in my opinion. I'd try to dig deep into why the customers are raising the requests to uncover the pain points. Questions like the following would help: "How are you currently solving it?" "What does it mean for you in terms of Cost or productivity?" (based on the context of the product) "Have you searched for an alternative?" Descriptive answers for the above questions should tell us if the"

    Kapil P. - "Sounds like both the features requests address different problems, although it should be clarified in my opinion. I'd try to dig deep into why the customers are raising the requests to uncover the pain points. Questions like the following would help: "How are you currently solving it?" "What does it mean for you in terms of Cost or productivity?" (based on the context of the product) "Have you searched for an alternative?" Descriptive answers for the above questions should tell us if the"See full answer

    Software Engineer
    Behavioral
  • I
    B
    I
    +76

    "Recently, I had to make a decision that I could automate a part of a process now and help the operations team reducing 9 hours of manual work to 60 minutes for one client. The second option was to fully automate the end to end process that would take 4 weeks of development, but fully automate the process and that could be rolled out across the board. The process was to change the member's paperless preference to paper when a sent email gets bounced 3 times in a row and inform her with a paper"

    Anonymous Aardvark - "Recently, I had to make a decision that I could automate a part of a process now and help the operations team reducing 9 hours of manual work to 60 minutes for one client. The second option was to fully automate the end to end process that would take 4 weeks of development, but fully automate the process and that could be rolled out across the board. The process was to change the member's paperless preference to paper when a sent email gets bounced 3 times in a row and inform her with a paper"See full answer

    Software Engineer
    Behavioral
    +5 more
  • Google logoAsked at Google 
    U
    G
    G
    +3

    "Came up with following strategy: take logs from user and send to LogService via API GW LogService takes the responsibility of generating time based SequenceId and persist the log in NoSQL (DDB) with key as SequenceId as primary key and timein_millis as sort (secondary) key. There are many system design tutorials on generating sequential sequence id where prefix is current time in epoch (milliseconds) Since there would be many LogService servers, spread across different availability zo"

    Shahnawaz A. - "Came up with following strategy: take logs from user and send to LogService via API GW LogService takes the responsibility of generating time based SequenceId and persist the log in NoSQL (DDB) with key as SequenceId as primary key and timein_millis as sort (secondary) key. There are many system design tutorials on generating sequential sequence id where prefix is current time in epoch (milliseconds) Since there would be many LogService servers, spread across different availability zo"See full answer

    Software Engineer
    System Design
  • G

    "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
  • 🧠 Want an expert answer to a question? Saving questions lets us know what content to make next.

  • Amazon logoAsked at Amazon 
    Software Engineer
    System Design
  • Amazon logoAsked at Amazon 
    Video answer for 'Tell me about a time you made a mistake.'
    G
    B
    F
    +83

    "Let me tell you about a time where a website I managed suddenly showed slow performance and the mistake on our side was it was unnoticed until a user reported the issue to management. As a PM for that project, I took full responsibility of the situation and worked with the engineering team to quickly resolve it. This mistake taught me the importance of focusing and monitoring non functional requirements as well in addition to new feature development /adoption where I was mostly spending my time"

    Sreenisha S. - "Let me tell you about a time where a website I managed suddenly showed slow performance and the mistake on our side was it was unnoticed until a user reported the issue to management. As a PM for that project, I took full responsibility of the situation and worked with the engineering team to quickly resolve it. This mistake taught me the importance of focusing and monitoring non functional requirements as well in addition to new feature development /adoption where I was mostly spending my time"See full answer

    Software Engineer
    Behavioral
    +6 more
  • N

    "Batch Packing Problem In Amazon’s massive warehouse inventory, there are different types of products. You are given an array products of size n, where products[i] represents the number of items of product type i. These products need to be packed into batches for shipping. The batch packing must adhere to the following conditions: No two items in the same batch can be of the same product type. The number of items packed in the current batch must be strictly greater than the number pack"

    Anonymous Goat - "Batch Packing Problem In Amazon’s massive warehouse inventory, there are different types of products. You are given an array products of size n, where products[i] represents the number of items of product type i. These products need to be packed into batches for shipping. The batch packing must adhere to the following conditions: No two items in the same batch can be of the same product type. The number of items packed in the current batch must be strictly greater than the number pack"See full answer

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

    "1. Requirements Analysis Functional Requirements Video streaming with multiple quality levels Content browsing and search Continue watching functionality Content recommendations Non-Functional Requirements Low latency video delivery (<2s startup time) High availability (99.99% uptime) Scalability to handle millions of concurrent streams API response time < 100ms 2. Microservices Architecture Core Microservices Content Service Content metadata mana"

    Vince S. - "1. Requirements Analysis Functional Requirements Video streaming with multiple quality levels Content browsing and search Continue watching functionality Content recommendations Non-Functional Requirements Low latency video delivery (<2s startup time) High availability (99.99% uptime) Scalability to handle millions of concurrent streams API response time < 100ms 2. Microservices Architecture Core Microservices Content Service Content metadata mana"See full answer

    Software Engineer
    System Design
  • Amazon logoAsked at Amazon 
    N
    B
    W
    +59

    "I most want to communicate a few principals of conflict resolution that I believe were integral in this situation, which are mutual respect, a results orientation, an unwavering focus on the user. To that end, here’s how I’d like to structure this answer: First, I’ll tell you about the project we were working on, to provide some background for you. Second, I’ll describe the disagreement. Third, I’ll describe how we arrived at a solution, and finally, I’ll discuss how those 3 conflict resolut"

    Ross B. - "I most want to communicate a few principals of conflict resolution that I believe were integral in this situation, which are mutual respect, a results orientation, an unwavering focus on the user. To that end, here’s how I’d like to structure this answer: First, I’ll tell you about the project we were working on, to provide some background for you. Second, I’ll describe the disagreement. Third, I’ll describe how we arrived at a solution, and finally, I’ll discuss how those 3 conflict resolut"See full answer

    Software Engineer
    Behavioral
    +5 more
  • Persona logoAsked at Persona 
    W

    "I talked about a time that my manager had a better understanding of something than me and that I had to start to ask him what he knew about a certain type of thing once I was getting work assigned"

    Michael A. - "I talked about a time that my manager had a better understanding of something than me and that I had to start to ask him what he knew about a certain type of thing once I was getting work assigned"See full answer

    Software Engineer
    Behavioral
  • Amazon logoAsked at Amazon 
    W

    "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
  • Adobe logoAsked at Adobe 
    Video answer for 'Edit distance'
    L
    G
    N
    +13

    "from collections import deque def updateword(words, startword, end_word): if end_word not in words: return None # Early exit if end_word is not in the dictionary queue = deque([(start_word, 0)]) # (word, steps) visited = set([start_word]) # Keep track of visited words while queue: word, steps = queue.popleft() if word == end_word: return steps # Found the target word, return steps for i in range(len(word)): "

    叶 路. - "from collections import deque def updateword(words, startword, end_word): if end_word not in words: return None # Early exit if end_word is not in the dictionary queue = deque([(start_word, 0)]) # (word, steps) visited = set([start_word]) # Keep track of visited words while queue: word, steps = queue.popleft() if word == end_word: return steps # Found the target word, return steps for i in range(len(word)): "See full answer

    Software Engineer
    Data Structures & Algorithms
    +3 more
  • Apple logoAsked at Apple 
    Video answer for 'Find the container with the maximum volume of water.'
    E
    K

    "int getMaxWater(vector& nums) { int n = nums.size(); int mx = INT_MIN; int i=0, j=n-1; while(i<j) { int water = (j - i) * min(nums[i], nums[j]); mx = max(mx, water); if(nums[i] < nums[j]){ i++; } else { j--; } } return mx; } `"

    Richard W. - "int getMaxWater(vector& nums) { int n = nums.size(); int mx = INT_MIN; int i=0, j=n-1; while(i<j) { int water = (j - i) * min(nums[i], nums[j]); mx = max(mx, water); if(nums[i] < nums[j]){ i++; } else { j--; } } return mx; } `"See full answer

    Software Engineer
    Data Structures & Algorithms
    +3 more
  • J
    X
    F
    +25

    "We had a huge launch on September 1st of this year where we completely redesigned our application from the grounds up and also migrated to a new platform (React.JS). This project took us 8 months and the launch was a huge deal for the team. Unfortunately the launch wasn't as smooth as we expected and despite doing multiple rounds of QA, some major issues cropped up in the core part of the app right after launch and our client was quite upset since it was disrupting their day-to-day workflow. "

    Aabid S. - "We had a huge launch on September 1st of this year where we completely redesigned our application from the grounds up and also migrated to a new platform (React.JS). This project took us 8 months and the launch was a huge deal for the team. Unfortunately the launch wasn't as smooth as we expected and despite doing multiple rounds of QA, some major issues cropped up in the core part of the app right after launch and our client was quite upset since it was disrupting their day-to-day workflow. "See full answer

    Software Engineer
    Behavioral
    +7 more
  • W
    T
    R
    +5

    "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
  • G
    J
    R
    +41

    "A clarifying question: Is this question asking about when I met a tight deadline in a project or how did I manage a project that had a tight deadline? The answer uploaded to this question is good, I would also add 'creating a critical path from overall project schedule and then making sure that none of the deliverables in the critical path are sacrificed in order to meet the tight deadline' as an action taken."

    Ushita S. - "A clarifying question: Is this question asking about when I met a tight deadline in a project or how did I manage a project that had a tight deadline? The answer uploaded to this question is good, I would also add 'creating a critical path from overall project schedule and then making sure that none of the deliverables in the critical path are sacrificed in order to meet the tight deadline' as an action taken."See full answer

    Software Engineer
    Behavioral
    +4 more
  • X
    Y

    "Use Dutch National Flag Algorithm to solve the problem"

    Sireesha R. - "Use Dutch National Flag Algorithm to solve the problem"See full answer

    Software Engineer
    Data Structures & Algorithms
    +1 more
  • G
    V
    N
    +5

    "One of the most challenging situations was joining a new startup to realize that they did not figure out their core product and that customers were dissatisfied and leaving in droves. I worked together with the leaders to understand the core issue and the reasons that the customers were leaving. Then together with the team, we set out to map out those core issues and the gaps that we had in our product. We then worked towards designing a new solution to address those gaps and build an MVP. W"

    WaterBuffalo - "One of the most challenging situations was joining a new startup to realize that they did not figure out their core product and that customers were dissatisfied and leaving in droves. I worked together with the leaders to understand the core issue and the reasons that the customers were leaving. Then together with the team, we set out to map out those core issues and the gaps that we had in our product. We then worked towards designing a new solution to address those gaps and build an MVP. W"See full answer

    Software Engineer
    Behavioral
    +3 more
  • D
    S
    [
    +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
Showing 1-20 of 382