Skip to main content

Amazon Software Engineer Interview Questions

Review this list of 148 Amazon Software Engineer interview questions and answers verified by hiring managers and candidates.
  • Amazon logoAsked at Amazon 
    22 answers
    +18

    "I will use below 4 pillars to rate and prioritize those 5 projects: Analyze the impact of those 5 projects, to our team and to the whole company maybe Find out if those 5 projects have any dependency between each other Clarify the timeline of each project Identity the status of resources to work on those 5 projects and also the status of their dependencies"

    Dean Z. - "I will use below 4 pillars to rate and prioritize those 5 projects: Analyze the impact of those 5 projects, to our team and to the whole company maybe Find out if those 5 projects have any dependency between each other Clarify the timeline of each project Identity the status of resources to work on those 5 projects and also the status of their dependencies"See full answer

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

  • 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
  • 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
  • Amazon logoAsked at Amazon 
    11 answers
    +8

    "In my time at Snapp! I was in charge of communicating the product backlog to our CEO. We had a shared Jira board that he had access to and I made specifically for him. One day he saw me in the office and said he doesn’t know anything about our backlog and that’s because I failed to communicate with him. I got upset at first because of the fact that I made the dashboard exclusively for him. But I tried to ask questions to understand his point of view in depth. He then mentioned he doesn't have t"

    Ra R. - "In my time at Snapp! I was in charge of communicating the product backlog to our CEO. We had a shared Jira board that he had access to and I made specifically for him. One day he saw me in the office and said he doesn’t know anything about our backlog and that’s because I failed to communicate with him. I got upset at first because of the fact that I made the dashboard exclusively for him. But I tried to ask questions to understand his point of view in depth. He then mentioned he doesn't have t"See full answer

    Software Engineer
    Behavioral
    +9 more
  • Amazon logoAsked at Amazon 
    9 answers
    +6

    "I use a data driven approach by ensuring there is a deep-dive on all alternatives. My approach to tradeoffs is around how to achieve the customer experience needed. I ensure there is an immediate path to green for a solution and a follow-up solution addressing the problem rightly."

    Syed I. - "I use a data driven approach by ensuring there is a deep-dive on all alternatives. My approach to tradeoffs is around how to achieve the customer experience needed. I ensure there is an immediate path to green for a solution and a follow-up solution addressing the problem rightly."See full answer

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

    "function longestCommonPrefix(arr1, arr2) { const prefixSet = new Set(); for (let num of arr1) { let str = num.toString(); for (let i = 1; i <= str.length; i++) { prefixSet.add(str.substring(0, i)); } } let longestPrefix = ""; for (let num of arr2) { let str = num.toString(); for (let i = 1; i <= str.length; i++) { let prefix = str.substring(0, i); if (prefixSet.has(prefix)) { "

    Maykon henrique D. - "function longestCommonPrefix(arr1, arr2) { const prefixSet = new Set(); for (let num of arr1) { let str = num.toString(); for (let i = 1; i <= str.length; i++) { prefixSet.add(str.substring(0, i)); } } let longestPrefix = ""; for (let num of arr2) { let str = num.toString(); for (let i = 1; i <= str.length; i++) { let prefix = str.substring(0, i); if (prefixSet.has(prefix)) { "See full answer

    Software Engineer
    Data Structures & Algorithms
    +1 more
  • Amazon logoAsked at Amazon 
    13 answers
    Video answer for 'Design a rate limiter.'
    +9

    "Rate Limiter is to limit the number of request from a particular IP Address. Rate limiter will block the IP address to reduce the load on server. It should be highly available and handle concurrent requests. Blocked IP addresses should be kept in a pool which is present in shared cache. We need to keep threshold value after it reaches threshold value it should start blocking IP address. All these ip address to be kept in No SQL DB. Batch will run that will clear the cache and delete all the bloc"

    Ashish G. - "Rate Limiter is to limit the number of request from a particular IP Address. Rate limiter will block the IP address to reduce the load on server. It should be highly available and handle concurrent requests. Blocked IP addresses should be kept in a pool which is present in shared cache. We need to keep threshold value after it reaches threshold value it should start blocking IP address. All these ip address to be kept in No SQL DB. Batch will run that will clear the cache and delete all the bloc"See full answer

    Software Engineer
    System Design
    +1 more
  • +2

    "Referring to https://www.forbes.com/sites/forbesbusinesscouncil/2022/03/23/15-strategies-for-balancing-competing-stakeholder-priorities/?sh=7c82aa68262f Understand the conflicting priorities and align it with the goal/ objectives and the company mission. Start with the Least Common Denominator between the conflicting priorities to come to a commonality and start from there to objectively approach the next imp priority Always keep communication on and be transparent with 'equality' an"

    Pramod V. - "Referring to https://www.forbes.com/sites/forbesbusinesscouncil/2022/03/23/15-strategies-for-balancing-competing-stakeholder-priorities/?sh=7c82aa68262f Understand the conflicting priorities and align it with the goal/ objectives and the company mission. Start with the Least Common Denominator between the conflicting priorities to come to a commonality and start from there to objectively approach the next imp priority Always keep communication on and be transparent with 'equality' an"See full answer

    Software Engineer
    Behavioral
    +6 more
  • Amazon logoAsked at Amazon 
    2 answers

    "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
  • Amazon logoAsked at Amazon 
    4 answers
    +1

    "Situation - A time I dealt with conflict while on a team was while I was working at Shopify on physical and digital gift card refund point of sale solutions. The situation was that we were dealing with complex technical constraints including not changing particular UI components behavior to act as they should be intended. On the refund screen, the existing design was using a toggle on the same screen to bring up a modal for gift card selection to either select digital or physical options. Thi"

    Ben G. - "Situation - A time I dealt with conflict while on a team was while I was working at Shopify on physical and digital gift card refund point of sale solutions. The situation was that we were dealing with complex technical constraints including not changing particular UI components behavior to act as they should be intended. On the refund screen, the existing design was using a toggle on the same screen to bring up a modal for gift card selection to either select digital or physical options. Thi"See full answer

    Software Engineer
    Behavioral
    +5 more
  • Amazon logoAsked at Amazon 
    8 answers
    +5

    "t"

    Srikhar S. - "t"See full answer

    Software Engineer
    Behavioral
    +4 more
  • Amazon logoAsked at Amazon 
    56 answers
    Video answer for 'Merge Intervals'
    +48

    "const mergeIntervals = (intervals) => { const compare = (a, b) => { if(a[0] b[0]) return 1 else if(a[0] === b[0]) { return a[1] - b[1] } } let current = [] const result = [] const sorted = intervals.sort(compare) for(let i = 0; i = b[0]) current[1] = b[1] els"

    Kofi N. - "const mergeIntervals = (intervals) => { const compare = (a, b) => { if(a[0] b[0]) return 1 else if(a[0] === b[0]) { return a[1] - b[1] } } let current = [] const result = [] const sorted = intervals.sort(compare) for(let i = 0; i = b[0]) current[1] = b[1] els"See full answer

    Software Engineer
    Data Structures & Algorithms
    +6 more
  • 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
Showing 21-40 of 148