Amazon Software Engineer Interview Questions

Review this list of 106 Amazon software engineer interview questions and answers verified by hiring managers and candidates.
  • Amazon logoAsked at Amazon 
    +1

    "Provided an example from my work history where I asked to move the Go-live date to prevent launch date failure."

    Namu - "Provided an example from my work history where I asked to move the Go-live date to prevent launch date failure."See full answer

    Software Engineer
    Behavioral
    +2 more
  • Amazon logoAsked at Amazon 

    "I followed STAR format"

    Shashikant A. - "I followed STAR format"See full answer

    Software Engineer
    Behavioral
    +3 more
  • Amazon logoAsked at Amazon 
    Software Engineer
    System Design
  • Amazon logoAsked at Amazon 

    "One time at Lifetime Fitness 2019, One student was throwing a lot of towels in the counter which made things very disorganized, then I made a compromise with my coworker to put 2 towels at a time and then it worked well because it made the workspace very organized."

    Amparo L. - "One time at Lifetime Fitness 2019, One student was throwing a lot of towels in the counter which made things very disorganized, then I made a compromise with my coworker to put 2 towels at a time and then it worked well because it made the workspace very organized."See full answer

    Software Engineer
    Behavioral
  • Amazon logoAsked at Amazon 
    Video answer for 'Describe an experience working in a cross-functional team.'
    Software Engineer
    Behavioral
    +3 more
  • 🧠 Want an expert answer to a question? Saving questions lets us know what content to make next.

  • Amazon logoAsked at Amazon 
    Software Engineer
    Behavioral
  • Amazon logoAsked at Amazon 
    +3

    " The Situation A few months ago, our trading platform started experiencing significant latency issues during peak trading hours. This latency was affecting our ability to process real-time market data and execute trades efficiently, potentially leading to substantial financial losses and missed opportunities. Identifying the Problem The first step was to identify the root cause of the latency. I organized a team meeting with our data engineers, DevOps, and network specialists to gather"

    Scott S. - " The Situation A few months ago, our trading platform started experiencing significant latency issues during peak trading hours. This latency was affecting our ability to process real-time market data and execute trades efficiently, potentially leading to substantial financial losses and missed opportunities. Identifying the Problem The first step was to identify the root cause of the latency. I organized a team meeting with our data engineers, DevOps, and network specialists to gather"See full answer

    Software Engineer
    Behavioral
    +3 more
  • Amazon logoAsked at Amazon 
    +4

    "function canFinish(numCourses, prerequisites) { if (prerequisites.length === 0) return true; const dependencies = new Map(prerequisites); const visited = new Set(); for (let [course, precourse] of prerequisites) { visited.add(course); while (!visited.has(precourse)) { visited.add(precourse); if (dependencies.has(precourse)) { precourse = dependencies.get(precourse); if (visited.has(precourse)) { "

    Tiago R. - "function canFinish(numCourses, prerequisites) { if (prerequisites.length === 0) return true; const dependencies = new Map(prerequisites); const visited = new Set(); for (let [course, precourse] of prerequisites) { visited.add(course); while (!visited.has(precourse)) { visited.add(precourse); if (dependencies.has(precourse)) { precourse = dependencies.get(precourse); if (visited.has(precourse)) { "See full answer

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

    "delete"

    David P. - "delete"See full answer

    Software Engineer
    Behavioral
    +1 more
  • Amazon logoAsked at Amazon 
    Video answer for 'Move all zeros to the end of an array.'
    +42

    "Initialize left pointer: Set a left pointer left to 0. Iterate through the array: Iterate through the array from left to right. If the current element is not 0, swap it with the element at the left pointer and increment left. Time complexity: O(n). The loop iterates through the entire array once, making it linear time. Space complexity: O(1). The algorithm operates in-place, modifying the input array directly without using additional data structures. "

    Avon T. - "Initialize left pointer: Set a left pointer left to 0. Iterate through the array: Iterate through the array from left to right. If the current element is not 0, swap it with the element at the left pointer and increment left. Time complexity: O(n). The loop iterates through the entire array once, making it linear time. Space complexity: O(1). The algorithm operates in-place, modifying the input array directly without using additional data structures. "See full answer

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

    "In 2019, I was given a very important problem to solve. In a team of 3 we had to build a mobility assist device. The customer segment we would go for was something we could decide. The project was very close to me as I had lost someone I loved because of cancer and I saw how reduced mobility was a huge pain point in not being able to do physical activities. My team could only think of elderly people as the main target market. As the Head of Product what I did was: 1) I helped them dive even d"

    Soumya S. - "In 2019, I was given a very important problem to solve. In a team of 3 we had to build a mobility assist device. The customer segment we would go for was something we could decide. The project was very close to me as I had lost someone I loved because of cancer and I saw how reduced mobility was a huge pain point in not being able to do physical activities. My team could only think of elderly people as the main target market. As the Head of Product what I did was: 1) I helped them dive even d"See full answer

    Software Engineer
    Behavioral
    +2 more
  • Amazon logoAsked at Amazon 
    +8

    "Without using a recursive approach, one can perform a post-order traversal by removing the parent nodes from the stack only if children were visited: def diameterOfTree(root): if root is None: return 0 diameter = 0 stack = deque([[root, False]]) # (node, visited) node_heights = {} while stack: curr_node, visited = stack[-1] if visited: heightleft = nodeheights.get(curr_node.left, 0) heightright = nodehe"

    Gabriele G. - "Without using a recursive approach, one can perform a post-order traversal by removing the parent nodes from the stack only if children were visited: def diameterOfTree(root): if root is None: return 0 diameter = 0 stack = deque([[root, False]]) # (node, visited) node_heights = {} while stack: curr_node, visited = stack[-1] if visited: heightleft = nodeheights.get(curr_node.left, 0) heightright = nodehe"See full answer

    Software Engineer
    Data Structures & Algorithms
    +1 more
  • Amazon logoAsked at Amazon 
    Video answer for 'Design Uber Eats.'
    +5

    "basic drew the diagram"

    Aswath B. - "basic drew the diagram"See full answer

    Software Engineer
    System Design
    +2 more
  • Amazon logoAsked at Amazon 

    "input_logs = [ f"{senderid} {receiverid} {transaction_count}" "1 2 2", "3 2 42", "2 2 22", "1 1 12", "2 1 1", "2 5 4", "4 2 15" ] input_threshold = 20 exptected_output = [ list of user_ids that made more than 20 transactions sorted by number of transactions in descending order "3", # 42 transactions "2", # 27 transactions (22 + 1 + 4) #"4", # 15 transactions #"1" # 14 transactions (2 + 12 + 1) ] def gettopapi_users(logs, thres"

    Anonymous Unicorn - "input_logs = [ f"{senderid} {receiverid} {transaction_count}" "1 2 2", "3 2 42", "2 2 22", "1 1 12", "2 1 1", "2 5 4", "4 2 15" ] input_threshold = 20 exptected_output = [ list of user_ids that made more than 20 transactions sorted by number of transactions in descending order "3", # 42 transactions "2", # 27 transactions (22 + 1 + 4) #"4", # 15 transactions #"1" # 14 transactions (2 + 12 + 1) ] def gettopapi_users(logs, thres"See full answer

    Software Engineer
    Coding
    +1 more
  • Amazon logoAsked at Amazon 

    "I told a story about how our team was focussed on moving a key metric i.e. NPS and to do that we build 3 top requested user feature. Post release the detractors % didn't move even though the detractors request for features shipped went down. Then I connect with users and did some analysis post which we realised that we need to pivot our focus from shipping features to enabling complete workflows for our users i.e. shipping all those feature which are used together in a feature as then only users"

    Aditya S. - "I told a story about how our team was focussed on moving a key metric i.e. NPS and to do that we build 3 top requested user feature. Post release the detractors % didn't move even though the detractors request for features shipped went down. Then I connect with users and did some analysis post which we realised that we need to pivot our focus from shipping features to enabling complete workflows for our users i.e. shipping all those feature which are used together in a feature as then only users"See full answer

    Software Engineer
    Behavioral
    +1 more
  • Amazon logoAsked at Amazon 

    "Understanding the Basics Choosing Learning Resources Practicing and Applying Knowledge Seeking Help and Staying Updated Leveraging Modern Tools"

    An D. - "Understanding the Basics Choosing Learning Resources Practicing and Applying Knowledge Seeking Help and Staying Updated Leveraging Modern Tools"See full answer

    Software Engineer
    Behavioral
  • Amazon logoAsked at Amazon 
    Video answer for 'Implement k-means clustering.'

    "i dont know"

    Dinesh K. - "i dont know"See full answer

    Software Engineer
    Coding
    +5 more
  • Amazon logoAsked at Amazon 

    "Was the statement very similar to the leetcode or was it changed and only the main idea remained?"

    Anonymous Wombat - "Was the statement very similar to the leetcode or was it changed and only the main idea remained?"See full answer

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

    "A few months ago I joined a micro-services platform engineering team as their manager, at that time my team was struggling to deliver towards an upcoming production deadline for a customer facing product. Production date had been moved 5 times already and there were about 40% of product features which were remaining to be tested and signed off to move to production . I was made responsible to deliver the release of this product within the deadline and turnaround the software delivery throughput."

    Shuchi A. - "A few months ago I joined a micro-services platform engineering team as their manager, at that time my team was struggling to deliver towards an upcoming production deadline for a customer facing product. Production date had been moved 5 times already and there were about 40% of product features which were remaining to be tested and signed off to move to production . I was made responsible to deliver the release of this product within the deadline and turnaround the software delivery throughput."See full answer

    Software Engineer
    Behavioral
    +2 more
  • Amazon logoAsked at Amazon 

    "Count items between indices within compartments compartments are delineated by by: '|' items are identified by: '*' input_inventory = "*||||" inputstartidxs = [1, 4, 6] inputendidxs = [9, 5, 8] expected_output = [3, 0, 1] Explanation: "*||||" 0123456789... indices ++ + # within compartments ^ start_idx = 1 ^ end_idx = 9 -- - # within idxs but not within compartments "*||||" 0123456789... indices "

    Anonymous Unicorn - "Count items between indices within compartments compartments are delineated by by: '|' items are identified by: '*' input_inventory = "*||||" inputstartidxs = [1, 4, 6] inputendidxs = [9, 5, 8] expected_output = [3, 0, 1] Explanation: "*||||" 0123456789... indices ++ + # within compartments ^ start_idx = 1 ^ end_idx = 9 -- - # within idxs but not within compartments "*||||" 0123456789... indices "See full answer

    Software Engineer
    Data Structures & Algorithms
    +1 more
Showing 41-60 of 106