Software Engineer Interview Questions

Review this list of 586 software engineer interview questions and answers verified by hiring managers and candidates.
  • +1

    "During a period of a few months in 2025, I built as a side project, a fully functional invite-only social network that features AI image generation, automatic AI post categorization using LLMs, and the sharing of reusable voice snippets (called Ampersounds). I deployed this project on Heroku, and built extensive automated test coverage for the project, including integration tests, frontend tests, and backend test coverage. The project is not configured to scale to millions of users, but is built"

    Rishi S. - "During a period of a few months in 2025, I built as a side project, a fully functional invite-only social network that features AI image generation, automatic AI post categorization using LLMs, and the sharing of reusable voice snippets (called Ampersounds). I deployed this project on Heroku, and built extensive automated test coverage for the project, including integration tests, frontend tests, and backend test coverage. The project is not configured to scale to millions of users, but is built"See full answer

    Software Engineer
    Behavioral
    +1 more
  • +88

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

    "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
  • Video answer for 'Design Google Docs.'

    "Problem & goal People need a simple way to create documents, collaborate in real time, and never worry about version control or losing work. Traditional word processors were powerful but slow, file-based, and hard to collaborate in. Target users Knowledge workers, students, and teams who write frequently and collaborate often, sometimes across time zones and devices. Core principles Make writing fast, collaboration effortless, and complexity invisible unless the user needs it. **K"

    Vinit N. - "Problem & goal People need a simple way to create documents, collaborate in real time, and never worry about version control or losing work. Traditional word processors were powerful but slow, file-based, and hard to collaborate in. Target users Knowledge workers, students, and teams who write frequently and collaborate often, sometimes across time zones and devices. Core principles Make writing fast, collaboration effortless, and complexity invisible unless the user needs it. **K"See full answer

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

  • Apple logoAsked at Apple 
    +10

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

    "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
    +8 more
  • Uber logoAsked at Uber 

    "public int minInsertions(String s) { int n = s.length(); int dp = new intn; for (int len = 2; len <= n; n++) { for (int i = 0; i + len - 1 < n: i++) { int j = i + len - 1; if (s.charAt(i) == s.charAt(j)) { dpi = dpi + 1; } else { dpi = 1 + Math.min(dpi + 1, dpi); } } } return dp0; } `"

    Jatin S. - "public int minInsertions(String s) { int n = s.length(); int dp = new intn; for (int len = 2; len <= n; n++) { for (int i = 0; i + len - 1 < n: i++) { int j = i + len - 1; if (s.charAt(i) == s.charAt(j)) { dpi = dpi + 1; } else { dpi = 1 + Math.min(dpi + 1, dpi); } } } return dp0; } `"See full answer

    Software Engineer
    Data Structures & Algorithms
    +1 more
  • Software Engineer
    Coding
  • +2

    "def sortedSquares(nums): n = len(nums) result = [0] * n left, right = 0, n - 1 pos = n - 1 while left abs(nums[right]): result[pos] = nums[left] ** 2 left += 1 else: result[pos] = nums[right] ** 2 right -= 1 pos -= 1 return result `"

    Ramachandra N. - "def sortedSquares(nums): n = len(nums) result = [0] * n left, right = 0, n - 1 pos = n - 1 while left abs(nums[right]): result[pos] = nums[left] ** 2 left += 1 else: result[pos] = nums[right] ** 2 right -= 1 pos -= 1 return result `"See full answer

    Software Engineer
    Data Structures & Algorithms
    +1 more
  • Google logoAsked at Google 
    +8

    "So here is what I would do if I had to designing a system to log messages in order involves several considerations, including the choice of software, hardware, storage mechanisms, and scalability. Here’s how I would approach this: 1. Requirements Analysis: Message Format: Define the structure of the messages to log (e.g., text, JSON). Volume: Estimate the expected volume of messages per second. This will help in determining the infrastructure requirements. **Order Guarantee"

    Theodore (teddy) W. - "So here is what I would do if I had to designing a system to log messages in order involves several considerations, including the choice of software, hardware, storage mechanisms, and scalability. Here’s how I would approach this: 1. Requirements Analysis: Message Format: Define the structure of the messages to log (e.g., text, JSON). Volume: Estimate the expected volume of messages per second. This will help in determining the infrastructure requirements. **Order Guarantee"See full answer

    Software Engineer
    System Design
  • Adobe logoAsked at Adobe 
    Video answer for 'Edit distance'
    +21

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

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

    "High Level Architect Client v API Gateway v Object Storage v Message Queue v Worker v Database Client should can document with a web site or directly with API services. API Gateway should be used for upload document,get document info and state. Object storage should be used for original document and send event to Message Queue for starting. Message Queue is neccessary because there are millions of document should be process each time. Worker can get text from document with OCR. Database shoul"

    Berk C. - "High Level Architect Client v API Gateway v Object Storage v Message Queue v Worker v Database Client should can document with a web site or directly with API services. API Gateway should be used for upload document,get document info and state. Object storage should be used for original document and send event to Message Queue for starting. Message Queue is neccessary because there are millions of document should be process each time. Worker can get text from document with OCR. Database shoul"See full answer

    Software Engineer
    Data Pipeline Design
    +2 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
  • +27

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

    "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
  • Software Engineer
    Behavioral
  • Uber logoAsked at Uber 
    Software Engineer
    System Design
Showing 1-20 of 586