Skip to main content

Software Engineer Interview Questions

Review this list of 665 Software Engineer interview questions and answers verified by hiring managers and candidates.
  • Amazon logoAsked at Amazon 
    4 answers
    +1

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

    Reno 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
  • +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
  • Apple logoAsked at Apple 
    2 answers
    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
  • Google logoAsked at Google 
    23 answers
    Video answer for 'Design TikTok.'
    +18

    "I watched a couple of videos like this, one of them by Exponent staff (I think). It was disappointing that the architecture diagram and the walkthrough was a general layered architecture that you can apply to any backend system. I was wondering if there are videos that can be considered a reference material to watch, learn and improve on the tech (sys design) skills, and not so much about the soft skills."

    BriskD - "I watched a couple of videos like this, one of them by Exponent staff (I think). It was disappointing that the architecture diagram and the walkthrough was a general layered architecture that you can apply to any backend system. I was wondering if there are videos that can be considered a reference material to watch, learn and improve on the tech (sys design) skills, and not so much about the soft skills."See full answer

    Software Engineer
    System Design
    +2 more
  • Amazon logoAsked at Amazon 
    13 answers
    Video answer for 'Tell me about a time when you proposed an idea that was not agreed on.'
    +10

    "Disagreement --> persistent ---> more data insights ---> positive relationship ---> mentor/trust"

    Sam - "Disagreement --> persistent ---> more data insights ---> positive relationship ---> mentor/trust"See full answer

    Software Engineer
    Behavioral
    +2 more
  • 🧠 Want an expert answer to a question? Saving questions lets us know what content to make next.

  • American Express logoAsked at American Express 
    3 answers

    "Thanks you for sharing insight about the app which I would liek to summarize in 2 structures: functional 2 technical requirement. Requirements: Functional requirement: Able to share messages, siles , and other content like photos, sounds Create groups for conversaion Size: 500 million users, 50m DAU -> 500M active chats daily Files not stored in the system but is can be shared.. Integaration with other APPs Technical requirement: Availability: Can you help me to understand the a"

    Istvan K. - "Thanks you for sharing insight about the app which I would liek to summarize in 2 structures: functional 2 technical requirement. Requirements: Functional requirement: Able to share messages, siles , and other content like photos, sounds Create groups for conversaion Size: 500 million users, 50m DAU -> 500M active chats daily Files not stored in the system but is can be shared.. Integaration with other APPs Technical requirement: Availability: Can you help me to understand the a"See full answer

    Software Engineer
    System Design
    +2 more
  • Anthropic logoAsked at Anthropic 
    Add answer
    Software Engineer
    Coding
  • Amazon logoAsked at Amazon 
    3 answers

    "Request inputs/feedback on my response below with regards to this question and ways to improve and if it looks apt for this question. As a TPM at xxx, I was responsible for delivering a feature that would provide prescription (medications) alternatives to users in the Prescription Shopping Consumer Experience App. The project had a tight deadline as it was something that our account management team promised to a client who wanted it for their employees. My goal was to ensure smooth development"

    Pavani B. - "Request inputs/feedback on my response below with regards to this question and ways to improve and if it looks apt for this question. As a TPM at xxx, I was responsible for delivering a feature that would provide prescription (medications) alternatives to users in the Prescription Shopping Consumer Experience App. The project had a tight deadline as it was something that our account management team promised to a client who wanted it for their employees. My goal was to ensure smooth development"See full answer

    Software Engineer
    Behavioral
    +1 more
  • Amazon logoAsked at Amazon 
    11 answers
    Video answer for 'Describe a time when your project failed.'
    +7

    "I feel this is more about "Describe a time when I failed or struggled" rather than "Project Failure"."

    Anjali V. - "I feel this is more about "Describe a time when I failed or struggled" rather than "Project Failure"."See full answer

    Software Engineer
    Behavioral
    +4 more
  • Amazon logoAsked at Amazon 
    5 answers
    +2

    " To clarify on what we are trying to solve for and get the definition of a distributed scheduler straight . So A Distributed Scheduler refers to a system that can handle job scheduling and execution in a scalable and fault-tolerant manner by distributing the workload across multiple servers or nodes. we will make some assumptions with the design , as follows: we will assume 10,000 QPS for job submissions and should be able query for jobs status . Job execution should have minimal latency"

    Scott S. - " To clarify on what we are trying to solve for and get the definition of a distributed scheduler straight . So A Distributed Scheduler refers to a system that can handle job scheduling and execution in a scalable and fault-tolerant manner by distributing the workload across multiple servers or nodes. we will make some assumptions with the design , as follows: we will assume 10,000 QPS for job submissions and should be able query for jobs status . Job execution should have minimal latency"See full answer

    Software Engineer
    System Design
    +1 more
  • "This was a 60 minute assessment. The clock is ticking and you're being observed by a senior+ level engineer. Be ready to perform for an audience. The implementation for the system gets broken up into three parts: Implement creating accounts and depositing money into an account by ID Implement transferring money with validation to ensure the accounts for the transfer both exist and that the account money is being removed from has enough money in it to perform the transfer Implement find"

    devopsjesus - "This was a 60 minute assessment. The clock is ticking and you're being observed by a senior+ level engineer. Be ready to perform for an audience. The implementation for the system gets broken up into three parts: Implement creating accounts and depositing money into an account by ID Implement transferring money with validation to ensure the accounts for the transfer both exist and that the account money is being removed from has enough money in it to perform the transfer Implement find"See full answer

    Software Engineer
    Coding
    +1 more
  • Amazon logoAsked at Amazon 
    17 answers
    +14

    "I will divide my answer in 2 parts: Process I use for managing risks in any Project I will explain a real life situation where a Risk occurred and how I managed it Process for Risk Management can be broken down into 3 parts: Risk Identification: Risk identification is a team effort and is an ongoing process that happens throughout the Project. Technical Risks are usually identified during design/build/testing stage. I maintain a Risk register document to capture all the risks identified"

    Saket S. - "I will divide my answer in 2 parts: Process I use for managing risks in any Project I will explain a real life situation where a Risk occurred and how I managed it Process for Risk Management can be broken down into 3 parts: Risk Identification: Risk identification is a team effort and is an ongoing process that happens throughout the Project. Technical Risks are usually identified during design/build/testing stage. I maintain a Risk register document to capture all the risks identified"See full answer

    Software Engineer
    Behavioral
    +4 more
  • Mastercard logoAsked at Mastercard 
    Add answer
    Software Engineer
    Artificial Intelligence
    +2 more
  • Uber logoAsked at Uber 
    2 answers

    "why not python def mininsertionsoptimal(s: str) -> int: """ Returns the minimum number of insertions needed to make 's' a palindrome, using O(n^2) DP. """ n = len(s) rev = s[::-1] `"

    Gowtham R. - "why not python def mininsertionsoptimal(s: str) -> int: """ Returns the minimum number of insertions needed to make 's' a palindrome, using O(n^2) DP. """ n = len(s) rev = s[::-1] `"See full answer

    Software Engineer
    Data Structures & Algorithms
    +1 more
  • Amazon logoAsked at Amazon 
    15 answers
    Video answer for 'Design a reservation and payment system for a parking garage.'
    +12

    "Since there is a need for the data to be accurate and consistent without any latency to allocate a spot, can't the data be synchronously synced to replicas after every write as the number of writes are not many per min, instead of read lock phenomena Let me know if i am on a wrong thought here."

    Chitapuram N. - "Since there is a need for the data to be accurate and consistent without any latency to allocate a spot, can't the data be synchronously synced to replicas after every write as the number of writes are not many per min, instead of read lock phenomena Let me know if i am on a wrong thought here."See full answer

    Software Engineer
    System Design
    +2 more
  • Freshworks logoAsked at Freshworks 
    12 answers
    Video answer for 'Design Twitter.'
    +9

    "In the API design, the interviewer is switching between RPC style (operation based endpoints) and REST style (resource oriented). Sticking to one convention and explaining why it is preferred over the other e.g. REST if the twitter domain maps nicely to resources e.g. /tweet or /follower or /user would help to create a more consistent and unified API. It would make it easier for clients to integrate with the API as well."

    dreamingincode - "In the API design, the interviewer is switching between RPC style (operation based endpoints) and REST style (resource oriented). Sticking to one convention and explaining why it is preferred over the other e.g. REST if the twitter domain maps nicely to resources e.g. /tweet or /follower or /user would help to create a more consistent and unified API. It would make it easier for clients to integrate with the API as well."See full answer

    Software Engineer
    System Design
    +2 more
  • Microsoft logoAsked at Microsoft 
    13 answers
    +8

    "Assumptions: Platform: iOS/Android and Web Application Service Type: Renting Bicycles (hourly, daily, weekly), possibility of buying or selling Geography: Focusing on Asian markets, e.g., India, where bicycles are a popular mode of transportation Role: Product Manager at Microsoft Objective: Design an app focusing on customer engagement and new customer acquisition Setting the Stage: Why a Renting Business? Market Potential: In Asian markets, a si"

    Nagendra S. - "Assumptions: Platform: iOS/Android and Web Application Service Type: Renting Bicycles (hourly, daily, weekly), possibility of buying or selling Geography: Focusing on Asian markets, e.g., India, where bicycles are a popular mode of transportation Role: Product Manager at Microsoft Objective: Design an app focusing on customer engagement and new customer acquisition Setting the Stage: Why a Renting Business? Market Potential: In Asian markets, a si"See full answer

    Software Engineer
    Product Design
    +1 more
  • +2

    "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
Showing 41-60 of 665