Prepare for data analytics interviews in our brand new course. Start now →

Software Engineer Interview Questions

Review this list of 432 software engineer interview questions and answers verified by hiring managers and candidates.
  • Visa logoAsked at Visa 
    +21

    "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
  • +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 
    +7

    "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
  • Amazon logoAsked at Amazon 
    Video answer for 'Tell me about a time you made a mistake.'
    +85

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

  • +1

    "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
  • Amazon logoAsked at Amazon 
    +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
  • Adobe logoAsked at Adobe 
    Video answer for 'Edit distance'
    +15

    "I am not clear on the relevance of the "list of valid words" to the original problem statement. It seems to have led the candidate to build a graph. Navigating a graph of all possible paths to the target word is computationally expensive, plus unnecessary as you are navigating the world of "possible" words, whereas to edit characters in a word, you don't necessarily need the intermediate words to be valid. Overall the answer to this problem seems to be to use dynamic programming. It would be g"

    PracticalCoder - "I am not clear on the relevance of the "list of valid words" to the original problem statement. It seems to have led the candidate to build a graph. Navigating a graph of all possible paths to the target word is computationally expensive, plus unnecessary as you are navigating the world of "possible" words, whereas to edit characters in a word, you don't necessarily need the intermediate words to be valid. Overall the answer to this problem seems to be to use dynamic programming. It would be g"See full answer

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

    "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
  • +26

    "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
  • Amazon logoAsked at Amazon 
    Software Engineer
    Behavioral
    +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
  • +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
    +5 more
  • +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
  • Apple logoAsked at Apple 
    Video answer for 'Find the container with the maximum volume of water.'

    "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
  • +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
  • Microsoft logoAsked at Microsoft 

    "#simple solution 1.firstly find the node in the bst (O(logn) time complexity it take) 2.now removing the node consists of 3 cases: 1.if the node is leaf (no children): (keep track of parent and do) parent.left or parent.right=NULL simply remove the node () 2.if(has one child) replace the node with its child 3.if has both childs we replace the node with either inorder predesor(max of left tree)or inorder succesor and remove the node wh"

    Sambangi C. - "#simple solution 1.firstly find the node in the bst (O(logn) time complexity it take) 2.now removing the node consists of 3 cases: 1.if the node is leaf (no children): (keep track of parent and do) parent.left or parent.right=NULL simply remove the node () 2.if(has one child) replace the node with its child 3.if has both childs we replace the node with either inorder predesor(max of left tree)or inorder succesor and remove the node wh"See full answer

    Software Engineer
    Coding
  • Amazon logoAsked at Amazon 
    Video answer for 'Tell me about a time you took a calculated risk when speed was critical.'
    +7

    "Just a bit of context on what could be a risk in Product or Software Development. We talk about the Scope, Quality, and Time Triangle. IMHO the only variables that can matter and can pose risk are these. Try to form an answer where you used the Effort, Value, Risk framework to quantify the risk. The answer can be similar to short term sacrifices for long term gains, as you do take in mind the risk the short term sacrifices pose. Situation - I was leading the team to complete an overhaul of the"

    Umang S. - "Just a bit of context on what could be a risk in Product or Software Development. We talk about the Scope, Quality, and Time Triangle. IMHO the only variables that can matter and can pose risk are these. Try to form an answer where you used the Effort, Value, Risk framework to quantify the risk. The answer can be similar to short term sacrifices for long term gains, as you do take in mind the risk the short term sacrifices pose. Situation - I was leading the team to complete an overhaul of the"See full answer

    Software Engineer
    Behavioral
    +1 more
  • Video answer for 'Employee Earnings.'
    +28

    "SELECT employees.first_name, managers.salary AS manager_salary FROM employees LEFT JOIN employees AS managers ON employees.manager_id = managers.id WHERE employees.salary > managers.salary `"

    Tiffany A. - "SELECT employees.first_name, managers.salary AS manager_salary FROM employees LEFT JOIN employees AS managers ON employees.manager_id = managers.id WHERE employees.salary > managers.salary `"See full answer

    Software Engineer
    Coding
    +1 more
  • 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
Showing 1-20 of 432