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.
  • Amazon logoAsked at Amazon 
    1 answer

    "During my internship at Inceptra Analytics, our team was working on improving the monthly reporting process for the operations department. I proposed switching from manual Excel reports to a Power BI dashboard to automate and visualize key metrics. However, some team members were hesitant—they felt the current process, although tedious, was more familiar and controllable. My task was to get buy-in from the team to adopt a more efficient reporting method without causing disruption or resistance."

    Dhruv M. - "During my internship at Inceptra Analytics, our team was working on improving the monthly reporting process for the operations department. I proposed switching from manual Excel reports to a Power BI dashboard to automate and visualize key metrics. However, some team members were hesitant—they felt the current process, although tedious, was more familiar and controllable. My task was to get buy-in from the team to adopt a more efficient reporting method without causing disruption or resistance."See full answer

    Software Engineer
    Behavioral
    +1 more
  • Adobe logoAsked at Adobe 
    34 answers
    +28

    "Two pointers sub-routine from typing import List def reverse_words(arr: List[str]) -> List[str]: size = len(arr) #reverse whole array reversesubarr(arr, 0, size-1) #reverse each word start, end = 0, 0 for i in range(size): if arr[i].isspace() or i == size-1: end = i-1 if i != size-1 else i reversesubarr(arr, start, end) start = i+1 return arr def reversesubarr(array, start, end): print(array, start,"

    Nicolás N. - "Two pointers sub-routine from typing import List def reverse_words(arr: List[str]) -> List[str]: size = len(arr) #reverse whole array reversesubarr(arr, 0, size-1) #reverse each word start, end = 0, 0 for i in range(size): if arr[i].isspace() or i == size-1: end = i-1 if i != size-1 else i reversesubarr(arr, start, end) start = i+1 return arr def reversesubarr(array, start, end): print(array, start,"See full answer

    Software Engineer
    Data Structures & Algorithms
    +4 more
  • Adobe logoAsked at Adobe 
    14 answers
    Video answer for 'Generate Parentheses'
    +9

    " O(n) time from typing import List def generate_parentheses(n: int): res = [] def generate(buf, opened, closed): if len(buf) == 2 * n: if n != 0: res.append(buf) return if opened < n: generate( buf + "(", opened + 1, closed) if closed < opened: generate(buf + ")", opened, closed + 1) generate("", 0, 0) return res debug your code below print(generate_parentheses(1"

    Rick E. - " O(n) time from typing import List def generate_parentheses(n: int): res = [] def generate(buf, opened, closed): if len(buf) == 2 * n: if n != 0: res.append(buf) return if opened < n: generate( buf + "(", opened + 1, closed) if closed < opened: generate(buf + ")", opened, closed + 1) generate("", 0, 0) return res debug your code below print(generate_parentheses(1"See full answer

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

    " Project Overview: Real-Time Risk Management System Objective The goal was to develop a real-time risk management system capable of processing and analyzing large volumes of trading data to provide near-instantaneous risk assessments. This system was crucial for enabling traders to make informed decisions while managing their exposure to various market risks in real-time. Complexity Factors 1. \\Data Volume and Velocity\\ \\High Throughput:\\ The system needed to ha"

    Scott S. - " Project Overview: Real-Time Risk Management System Objective The goal was to develop a real-time risk management system capable of processing and analyzing large volumes of trading data to provide near-instantaneous risk assessments. This system was crucial for enabling traders to make informed decisions while managing their exposure to various market risks in real-time. Complexity Factors 1. \\Data Volume and Velocity\\ \\High Throughput:\\ The system needed to ha"See full answer

    Software Engineer
    Behavioral
    +2 more
  • OpenAI logoAsked at OpenAI 
    5 answers
    Video answer for 'Design ChatGPT'
    +2

    "The addition of an intermediate "sanitization" ML is something Neeraj used in the Uber Eats design and again seems kind of outside the scope here and redundant. This can simply be built into the AI response model to save a step. It's not clear what benefit this step provides, and he basically said we should have it "just because it would be good" and there's no concrete reasoning why to include it. Adding a Kafka queue to handle the thumbs-down ratings? For what purpose do you need a queue othe"

    Robert H. - "The addition of an intermediate "sanitization" ML is something Neeraj used in the Uber Eats design and again seems kind of outside the scope here and redundant. This can simply be built into the AI response model to save a step. It's not clear what benefit this step provides, and he basically said we should have it "just because it would be good" and there's no concrete reasoning why to include it. Adding a Kafka queue to handle the thumbs-down ratings? For what purpose do you need a queue othe"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.

  • Amazon logoAsked at Amazon 
    8 answers
    +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
  • Google logoAsked at Google 
    6 answers
    Video answer for 'Design a visual landmark recognition system.'
    +3

    "I understand this is more focused on ML. However, I have a system question. If users allow us to access their location, or they send location via text box, could we use CDNs for the search without hitting our database? We only query the database when we have zero information on location. Other questions: does embedding always guarantee information on location? Do we discharge the user images after we return a prediction? I heard the feedback that we should keep it for future learning. What would"

    Bini T. - "I understand this is more focused on ML. However, I have a system question. If users allow us to access their location, or they send location via text box, could we use CDNs for the search without hitting our database? We only query the database when we have zero information on location. Other questions: does embedding always guarantee information on location? Do we discharge the user images after we return a prediction? I heard the feedback that we should keep it for future learning. What would"See full answer

    Software Engineer
    System Design
    +1 more
  • Amazon logoAsked at Amazon 
    4 answers
    +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
  • Amazon logoAsked at Amazon 
    6 answers
    +3

    "As an engineering manager, motivation is key to the success of the team. Here are some ways to motivate the team: Set clear goals: Clearly defined goals help team members understand what they're working towards and give them a sense of purpose. Offer growth opportunities: Providing opportunities for professional development and advancement can increase motivation and job satisfaction. Provide recognition and rewards: Recognising and rewarding team members for their hard work and achieve"

    Santhosh K. - "As an engineering manager, motivation is key to the success of the team. Here are some ways to motivate the team: Set clear goals: Clearly defined goals help team members understand what they're working towards and give them a sense of purpose. Offer growth opportunities: Providing opportunities for professional development and advancement can increase motivation and job satisfaction. Provide recognition and rewards: Recognising and rewarding team members for their hard work and achieve"See full answer

    Software Engineer
    Behavioral
    +1 more
  • 2 answers
    Video answer for 'Design Weather App'

    "Good to you The addition of an intermediate "sanitization" ML is something Neeraj used in the Uber Eats design and again seems kind of outside the scope here and redundant. This can simply be built into the AI response model to save a step. It's not clear what benefit this step provides,"

    Nesru M. - "Good to you The addition of an intermediate "sanitization" ML is something Neeraj used in the Uber Eats design and again seems kind of outside the scope here and redundant. This can simply be built into the AI response model to save a step. It's not clear what benefit this step provides,"See full answer

    Software Engineer
    System Design
    +2 more
  • AMD logoAsked at AMD 
    15 answers
    Video answer for 'Find the number of rotations in a circularly sorted array.'
    +10

    "from typing import List def find_rotations(nums: List[int]) -> int: left = 0 right = len(nums) - 1 if len(nums) < 2 or nums[left] < nums[right]: return 0 while(left + 1 < right): mid = left + (right - left) // 2 if nums[mid] < nums[left]: right = mid else: left = mid return left + 1 `"

    Aikya S. - "from typing import List def find_rotations(nums: List[int]) -> int: left = 0 right = len(nums) - 1 if len(nums) < 2 or nums[left] < nums[right]: return 0 while(left + 1 < right): mid = left + (right - left) // 2 if nums[mid] < nums[left]: right = mid else: left = mid return left + 1 `"See full answer

    Software Engineer
    Data Structures & Algorithms
    +1 more
  • Intuit logoAsked at Intuit 
    2 answers
    Video answer for 'Design Reddit.'

    "Graphic design is the process of visual communication and problem-solving through the use of typography, photography"

    Abdurhman M. - "Graphic design is the process of visual communication and problem-solving through the use of typography, photography"See full answer

    Software Engineer
    Product Design
    +1 more
  • DoorDash logoAsked at DoorDash 
    1 answer

    "Let's split the experience in four parts: Time between order is placed and order is waiting to be prepped by the shopper. Time between order is prepped by the shopper and ready to be picked by the driver. Time when it's out for delivery. Post delivery experience. Now lets think through what can do wrong? How do we define wrong? A wrong would be anything where a customer has a negative experience. Let's dive into the when things could potentially go wrong. **order is placed and"

    Pree M. - "Let's split the experience in four parts: Time between order is placed and order is waiting to be prepped by the shopper. Time between order is prepped by the shopper and ready to be picked by the driver. Time when it's out for delivery. Post delivery experience. Now lets think through what can do wrong? How do we define wrong? A wrong would be anything where a customer has a negative experience. Let's dive into the when things could potentially go wrong. **order is placed and"See full answer

    Software Engineer
    Analytical
    +3 more
  • Amazon logoAsked at Amazon 
    19 answers
    Video answer for 'How do you consider the impact of your work on the world?'
    +14

    "this is not a helpful interview, she seems so unprepared, confusing, unable to netting it out :("

    Anonymous Giraffe - "this is not a helpful interview, she seems so unprepared, confusing, unable to netting it out :("See full answer

    Software Engineer
    Behavioral
    +3 more
  • Amazon logoAsked at Amazon 
    13 answers
    +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
  • Google logoAsked at Google 
    2 answers

    "Clarifying questions: is this a brand new product, or are we improving an existing one? (i.e. are we going to have to migrate an existing codebase or are we starting from scratch?). are we resource-strapped (e.g. # engineers, time)? are there any specific priorities for the product, or should i leave it open-ended? Assume: brand new product, well-resourced, no specific priorities. It seems that there are two sides to this question: 1) technical evaluation of different languages, and 2)"

    Laura S. - "Clarifying questions: is this a brand new product, or are we improving an existing one? (i.e. are we going to have to migrate an existing codebase or are we starting from scratch?). are we resource-strapped (e.g. # engineers, time)? are there any specific priorities for the product, or should i leave it open-ended? Assume: brand new product, well-resourced, no specific priorities. It seems that there are two sides to this question: 1) technical evaluation of different languages, and 2)"See full answer

    Software Engineer
    Technical
  • Amazon logoAsked at Amazon 
    3 answers

    "It is very easy to shy away and not make a decision because you might feel the right information is not there to make a decision While dealing with ambiguity it is essential to remain Calm. And Establish what it is you want to achieve by asking a lot of questions to the necessary stakeholders Access the risk, analyze the data at hand, ask the right questions, and be very clear and concise in decision-making"

    Satish murthy D. - "It is very easy to shy away and not make a decision because you might feel the right information is not there to make a decision While dealing with ambiguity it is essential to remain Calm. And Establish what it is you want to achieve by asking a lot of questions to the necessary stakeholders Access the risk, analyze the data at hand, ask the right questions, and be very clear and concise in decision-making"See full answer

    Software Engineer
    Behavioral
    +1 more
  • Google logoAsked at Google 
    10 answers
    +7

    "Honestly, In addition to having the right expertise and skills required for this job, I am really looking forward to being part of this organisation’s journey. I am really confident that I will really exceed your expectations in achieving both mine and the company’s goals. I have worked with different teams in different capacities, managed a team of engineers successfully from very early part of my career and that has made me a very easy person to work with. I get things done easily. I am passio"

    Piyush D. - "Honestly, In addition to having the right expertise and skills required for this job, I am really looking forward to being part of this organisation’s journey. I am really confident that I will really exceed your expectations in achieving both mine and the company’s goals. I have worked with different teams in different capacities, managed a team of engineers successfully from very early part of my career and that has made me a very easy person to work with. I get things done easily. I am passio"See full answer

    Software Engineer
    Behavioral
    +3 more
  • Microsoft logoAsked at Microsoft 
    1 answer

    "When I look to join a company, I think of long term association. Hence, I put a lot of focus on the team that I am going to work with, the culture, the value that I will add to the company & the opportunities for me to learn & grow. Microsoft is one of the pioneers in the tech industry touching the lives of many corporate and consumer clients and helping them to achieve more. To answer your question specifically, i would say -: Microsoft will provide me a platform to work with some of the sma"

    Amit A. - "When I look to join a company, I think of long term association. Hence, I put a lot of focus on the team that I am going to work with, the culture, the value that I will add to the company & the opportunities for me to learn & grow. Microsoft is one of the pioneers in the tech industry touching the lives of many corporate and consumer clients and helping them to achieve more. To answer your question specifically, i would say -: Microsoft will provide me a platform to work with some of the sma"See full answer

    Software Engineer
    Behavioral
    +2 more
  • Meta logoAsked at Meta 
    4 answers

    "I want to work at Meta because of its reputation as a company that consistently pushes the boundaries of technology, particularly in areas like AI, machine learning, and immersive technologies such as AR and VR. I admire Meta's mission to bring people closer together and create meaningful connections, as well as its focus on long-term innovation, such as the development of the metaverse. As an AI engineer, I'm excited about the opportunity to work on cutting-edge projects that have a global impa"

    Alan T. - "I want to work at Meta because of its reputation as a company that consistently pushes the boundaries of technology, particularly in areas like AI, machine learning, and immersive technologies such as AR and VR. I admire Meta's mission to bring people closer together and create meaningful connections, as well as its focus on long-term innovation, such as the development of the metaverse. As an AI engineer, I'm excited about the opportunity to work on cutting-edge projects that have a global impa"See full answer

    Software Engineer
    Behavioral
    +5 more
Showing 101-120 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