Skip to main content

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

    "S – Situation: In a university project, my team was building a collaborative code editor. As part of the functionality, we needed a login system so users could securely access their sessions and collaborate in real time. T – Task: I was responsible for implementing the authentication system. Initially, I planned to build the entire login system from scratch, including user management, password storage, and session handling. But as the deadline approached, I realized that implementing thi"

    Hamzeh H. - "S – Situation: In a university project, my team was building a collaborative code editor. As part of the functionality, we needed a login system so users could securely access their sessions and collaborate in real time. T – Task: I was responsible for implementing the authentication system. Initially, I planned to build the entire login system from scratch, including user management, password storage, and session handling. But as the deadline approached, I realized that implementing thi"See full answer

    Software Engineer
    Behavioral
  • Anthropic logoAsked at Anthropic 
    3 answers

    "Situation : During my time in my previous company, I was leading a program which involved a cross-functional team. The project was to migrate all the legacy servers to Azure and had a tight deadline of 4 months. Each team had distinct goals and responsibilites to be delivered Task : My task was to collaborate with the multi regional team and ensure a smooth delivery within the defined budget and schedule. Action : I believe communication is the key to handle a cross-functional team"

    Oriole O. - "Situation : During my time in my previous company, I was leading a program which involved a cross-functional team. The project was to migrate all the legacy servers to Azure and had a tight deadline of 4 months. Each team had distinct goals and responsibilites to be delivered Task : My task was to collaborate with the multi regional team and ensure a smooth delivery within the defined budget and schedule. Action : I believe communication is the key to handle a cross-functional team"See full answer

    Software Engineer
    Behavioral
    +2 more
  • Google logoAsked at Google 
    7 answers
    +4

    "The company culture is very supportive and collaborative. Googlers are encouraged to be creative and innovative, and there is a lot of freedom to explore new ideas. The work is challenging and rewarding. Googlers have the opportunity to work on cutting-edge projects that have a real impact on the world. The company is committed to diversity and inclusion. Google is a great place to work for people from all backgrounds and with all different perspectives. I am confident that I would b"

    Praful B. - "The company culture is very supportive and collaborative. Googlers are encouraged to be creative and innovative, and there is a lot of freedom to explore new ideas. The work is challenging and rewarding. Googlers have the opportunity to work on cutting-edge projects that have a real impact on the world. The company is committed to diversity and inclusion. Google is a great place to work for people from all backgrounds and with all different perspectives. I am confident that I would b"See full answer

    Software Engineer
    Behavioral
    +3 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
  • Software Engineer
    System Design
    +1 more
  • 🧠 Want an expert answer to a question? Saving questions lets us know what content to make next.

  • Meta logoAsked at Meta 
    1 answer

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

    Anonymous Cheetah - "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
    +1 more
  • Adobe logoAsked at Adobe 
    13 answers
    Video answer for 'Design a typeahead box for a search engine.'
    +5

    "It would have been more interesting to focus on the system design rather than the Trie DS, Interviewee could have just mentioned the Trie and passed to things more important. Interviewee should have focused on the factors on which he wants to scale the API servers, popularity of the query parts ? region may be ? A hash of many factors ? Caches should have definitely be discussed, Cache eviction policies, Cache invalidation managements... Interviewee should have mentioned which kind of API pro"

    Aymen D. - "It would have been more interesting to focus on the system design rather than the Trie DS, Interviewee could have just mentioned the Trie and passed to things more important. Interviewee should have focused on the factors on which he wants to scale the API servers, popularity of the query parts ? region may be ? A hash of many factors ? Caches should have definitely be discussed, Cache eviction policies, Cache invalidation managements... Interviewee should have mentioned which kind of API pro"See full answer

    Software Engineer
    System Design
    +1 more
  • Databricks logoAsked at Databricks 
    1 answer

    "I would first like to clarify the requirements and assumptions for the system. I am assuming that the system should support basic file operations such as uploading, downloading, deleting, renaming files, and viewing directory structures along with file permissions. The file size can range from around 1MB to 1GB, and the system is expected to be read heavy, meaning downloads will be more frequent than uploads. The system should support a large scale, for example around 10 million total users with"

    Yashasvi C. - "I would first like to clarify the requirements and assumptions for the system. I am assuming that the system should support basic file operations such as uploading, downloading, deleting, renaming files, and viewing directory structures along with file permissions. The file size can range from around 1MB to 1GB, and the system is expected to be read heavy, meaning downloads will be more frequent than uploads. The system should support a large scale, for example around 10 million total users with"See full answer

    Software Engineer
    System Design
    +1 more
  • Adobe logoAsked at Adobe 
    10 answers
    Video answer for 'Explain how to find a target sum in an array.'
    +6

    "a top-down recursive solution with memoization in python: from typing import List from functools import cache def changeSigns(nums: List[int], S: int) -> int: @cache def dp(i, curr_sum): if i == len(nums): if curr_sum == S: return 1 return 0 return dp(i+1, currsum + nums[i]) + dp(i+1, currsum - nums[i]) answer = dp(0, 0) if answer == 0: return -1 return answer `"

    Jessica R. - "a top-down recursive solution with memoization in python: from typing import List from functools import cache def changeSigns(nums: List[int], S: int) -> int: @cache def dp(i, curr_sum): if i == len(nums): if curr_sum == S: return 1 return 0 return dp(i+1, currsum + nums[i]) + dp(i+1, currsum - nums[i]) answer = dp(0, 0) if answer == 0: return -1 return answer `"See full answer

    Software Engineer
    Data Structures & Algorithms
    +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
  • Apple logoAsked at Apple 
    2 answers

    "\# An program that prints out the peak elements in a list of integers. Pseudocode: 1. Define a function that takes a list of integers as input. 2. Initialize an empty list to store the peak elements. 3. Loop through the list of integers. 4. For each element, check if it is greater than its neighbors. 5. If it is, add it to the list of peak elements. 6. Return the list of peak elements. def findpeakelements(nums): if not nums: return [] peaks = [] n = len(nums"

    Frederick K. - "\# An program that prints out the peak elements in a list of integers. Pseudocode: 1. Define a function that takes a list of integers as input. 2. Initialize an empty list to store the peak elements. 3. Loop through the list of integers. 4. For each element, check if it is greater than its neighbors. 5. If it is, add it to the list of peak elements. 6. Return the list of peak elements. def findpeakelements(nums): if not nums: return [] peaks = [] n = len(nums"See full answer

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

    "We will not always have all the required data to make a decision quickly. We need to work with ambiguity effectively by tying up the available facts with intuition."

    Sankar S. - "We will not always have all the required data to make a decision quickly. We need to work with ambiguity effectively by tying up the available facts with intuition."See full answer

    Software Engineer
    Behavioral
    +2 more
  • Apple logoAsked at Apple 
    5 answers
    +2

    "To answer this, I will focus my efforts on explaining the most common type of API used in most modern software development applications - the REST API. For the purpose of simplicity, I will also keep the topics of Authorization and Authentication out of the mix. In essence, an API is a group of logic that takes in a specific set of inputs and responds with a specific set of outputs. This is analogous to going to a drive-thru and placing an order for a meal. When you give an API a bunch of"

    Pathworks P. - "To answer this, I will focus my efforts on explaining the most common type of API used in most modern software development applications - the REST API. For the purpose of simplicity, I will also keep the topics of Authorization and Authentication out of the mix. In essence, an API is a group of logic that takes in a specific set of inputs and responds with a specific set of outputs. This is analogous to going to a drive-thru and placing an order for a meal. When you give an API a bunch of"See full answer

    Software Engineer
    System Design
    +4 more
  • Amazon logoAsked at Amazon 
    4 answers
    +1

    "· Listen both sides and without any bias. Support or focus on the problem rather than person. Take necessary steps in case there is middle ground its well and good if both parties agree. If not be honest and support the person who is correct. Ultimate goal is to be useful for overall project and company rather individual satisfaction. The approach should be fit into overall team goal."

    BePostive - "· Listen both sides and without any bias. Support or focus on the problem rather than person. Take necessary steps in case there is middle ground its well and good if both parties agree. If not be honest and support the person who is correct. Ultimate goal is to be useful for overall project and company rather individual satisfaction. The approach should be fit into overall team goal."See full answer

    Software Engineer
    Behavioral
    +2 more
  • Microsoft logoAsked at Microsoft 
    2 answers

    "Sorted the array and stored the minimum difference in a variable and then traversed the array for the pairs having minimum difference"

    Aashka C. - "Sorted the array and stored the minimum difference in a variable and then traversed the array for the pairs having minimum difference"See full answer

    Software Engineer
    Data Structures & Algorithms
    +1 more
  • Amazon logoAsked at Amazon 
    Add answer
    Software Engineer
    Behavioral
  • Amazon logoAsked at Amazon 
    3 answers

    "I started asking some questions regarding the constrains of the system: An antena is emitting a signal that says if the tagged device was out of the room where the interview was happening. I was able to decide which would be the schema for the Antena's message. The antena is sending the info of multiple users. The system doesn't need to push notification to the users when the user left the device behind. Upon reflection, this is what I recollected doing. I propuse the json schema a"

    Eduardo C. - "I started asking some questions regarding the constrains of the system: An antena is emitting a signal that says if the tagged device was out of the room where the interview was happening. I was able to decide which would be the schema for the Antena's message. The antena is sending the info of multiple users. The system doesn't need to push notification to the users when the user left the device behind. Upon reflection, this is what I recollected doing. I propuse the json schema a"See full answer

    Software Engineer
    System Design
  • Anthropic logoAsked at Anthropic 
    Add answer
    Software Engineer
    Artificial Intelligence
    +5 more
  • Airbnb logoAsked at Airbnb 
    5 answers
    Video answer for 'Design Airbnb's search functionality.'
    +2

    "The back-of-the-envelope calculation is very well done!"

    Ushita S. - "The back-of-the-envelope calculation is very well done!"See full answer

    Software Engineer
    System Design
  • Google logoAsked at Google 
    1 answer

    "These are a set of utilities used to manage the heap memory as part of an application. The C standard library implements these functions. malloc(bytes) takes a number of bytes and returns a pointer to the start of the allocated buffer. If the allocation failed, a null pointer is returned instead. calloc(count, size) behaves like malloc(count * size), but also zero-initializes the allocated buffer, assuming the allocation succeeded. realloc(ptr, size) takes a pointer to a previously al"

    J R. - "These are a set of utilities used to manage the heap memory as part of an application. The C standard library implements these functions. malloc(bytes) takes a number of bytes and returns a pointer to the start of the allocated buffer. If the allocation failed, a null pointer is returned instead. calloc(count, size) behaves like malloc(count * size), but also zero-initializes the allocated buffer, assuming the allocation succeeded. realloc(ptr, size) takes a pointer to a previously al"See full answer

    Software Engineer
    Coding
    +1 more
Showing 121-140 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