Skip to main content

Amazon Software Engineer Interview Questions

Review this list of 127 Amazon Software Engineer interview questions and answers verified by hiring managers and candidates.
  • 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 
    Software Engineer
    System Design
  • Amazon logoAsked at Amazon 

    "class Node: def init(self, value): self.value = value self.children = [] def inorder_traversal(root): if not root: return [] result = [] n = len(root.children) for i in range(n): result.extend(inorder_traversal(root.children[i])) if i == n // 2: result.append(root.value) if n == 0: result.append(root.value) return result Example usage: root = Node(1) child1 = Node(2) chil"

    Teddy Y. - "class Node: def init(self, value): self.value = value self.children = [] def inorder_traversal(root): if not root: return [] result = [] n = len(root.children) for i in range(n): result.extend(inorder_traversal(root.children[i])) if i == n // 2: result.append(root.value) if n == 0: result.append(root.value) return result Example usage: root = Node(1) child1 = Node(2) chil"See full answer

    Software Engineer
    Data Structures & Algorithms
    +1 more
  • Amazon logoAsked at Amazon 
    Video answer for 'Implement a k-nearest neighbors algorithm.'
    +10

    "Even more faster and vectorized version, using np.linalg.norm - to avoid loop and np.argpartition to select lowest k. We dont need to sort whole array - we need to be sure that first k elements are lower than the rest. import numpy as np def knn(Xtrain, ytrain, X_new, k): distances = np.linalg.norm(Xtrain - Xnew, axis=1) k_indices = np.argpartition(distances, k)[:k] # O(N) selection instead of O(N log N) sort return int(np.sum(ytrain[kindices]) > k / 2.0) `"

    Dinar M. - "Even more faster and vectorized version, using np.linalg.norm - to avoid loop and np.argpartition to select lowest k. We dont need to sort whole array - we need to be sure that first k elements are lower than the rest. import numpy as np def knn(Xtrain, ytrain, X_new, k): distances = np.linalg.norm(Xtrain - Xnew, axis=1) k_indices = np.argpartition(distances, k)[:k] # O(N) selection instead of O(N log N) sort return int(np.sum(ytrain[kindices]) > k / 2.0) `"See full answer

    Software Engineer
    Coding
    +2 more
  • Amazon logoAsked at Amazon 
    +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
  • 🧠 Want an expert answer to a question? Saving questions lets us know what content to make next.

  • Amazon logoAsked at Amazon 
    Video answer for 'What is your leadership style?'
    +7

    "My leadership style is flexible and adaptive, it varies depending on the team members and the needs of the company. My leadership goal is to empower the team and inspire and grow leaders. In order to achieve that, I combine transformational, democratic and coaching leadership styles. Usually when we are facing a new type of challenge, or at the early stage of a project, I like to adapt the transformational leadership which allows me to listen to all the suggestions from the team members and sta"

    onering2ruleall - "My leadership style is flexible and adaptive, it varies depending on the team members and the needs of the company. My leadership goal is to empower the team and inspire and grow leaders. In order to achieve that, I combine transformational, democratic and coaching leadership styles. Usually when we are facing a new type of challenge, or at the early stage of a project, I like to adapt the transformational leadership which allows me to listen to all the suggestions from the team members and sta"See full answer

    Software Engineer
    Behavioral
    +5 more
  • Amazon logoAsked at Amazon 
    +47

    " from typing import List def two_sum(nums: List[int], target: int) -> List[int]: """ Iterate the list Create a hashmap for tracking seen complements For each element: Check if target - current was seen If so, return the index of the current and the index of the complement If not, add the current number in the hashmap as key, and the index of the current number as value. Return an empty array if the loop e"

    Jorge G. - " from typing import List def two_sum(nums: List[int], target: int) -> List[int]: """ Iterate the list Create a hashmap for tracking seen complements For each element: Check if target - current was seen If so, return the index of the current and the index of the complement If not, add the current number in the hashmap as key, and the index of the current number as value. Return an empty array if the loop e"See full answer

    Software Engineer
    Data Structures & Algorithms
    +5 more
  • Amazon logoAsked at Amazon 
    Video answer for 'Design a URL shortener.'
    +19

    "I studied Exponent's TinyURL system design video. My interviewer was asking many detailed questions on API design, schema, as well as data required to store. I found system design questions are bit high level instead of depth. I think should have detail design of API, schema and some additional flavors."

    Yag S. - "I studied Exponent's TinyURL system design video. My interviewer was asking many detailed questions on API design, schema, as well as data required to store. I found system design questions are bit high level instead of depth. I think should have detail design of API, schema and some additional flavors."See full answer

    Software Engineer
    System Design
    +1 more
  • Amazon logoAsked at Amazon 
    Video answer for 'Given an nxn grid of 1s and 0s, return the number of islands in the input.'
    +14

    " from typing import List def getnumberof_islands(binaryMatrix: List[List[int]]) -> int: if not binaryMatrix: return 0 rows = len(binaryMatrix) cols = len(binaryMatrix[0]) islands = 0 for r in range(rows): for c in range(cols): if binaryMatrixr == 1: islands += 1 dfs(binaryMatrix, r, c) return islands def dfs(grid, r, c): if ( r = len(grid) "

    Rick E. - " from typing import List def getnumberof_islands(binaryMatrix: List[List[int]]) -> int: if not binaryMatrix: return 0 rows = len(binaryMatrix) cols = len(binaryMatrix[0]) islands = 0 for r in range(rows): for c in range(cols): if binaryMatrixr == 1: islands += 1 dfs(binaryMatrix, r, c) return islands def dfs(grid, r, c): if ( r = len(grid) "See full answer

    Software Engineer
    Data Structures & Algorithms
    +4 more
  • Amazon logoAsked at Amazon 
    Software Engineer
    System Design
  • "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
  • 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
  • "MOD = 10**9 + 7 def max_stability(reliability, availability): max_stability = 1 for r, a in zip(reliability, availability): Compute stability of the current server stability = r * a if stability != 0: Multiply into max_stability and take modulo maxstability = (maxstability * stability) % MOD return max_stability reliability = [1, 2, 2] availability = [1, 1, 3] print(max_stability(reliability, availability)) # Output the result mo"

    K.nithish K. - "MOD = 10**9 + 7 def max_stability(reliability, availability): max_stability = 1 for r, a in zip(reliability, availability): Compute stability of the current server stability = r * a if stability != 0: Multiply into max_stability and take modulo maxstability = (maxstability * stability) % MOD return max_stability reliability = [1, 2, 2] availability = [1, 1, 3] print(max_stability(reliability, availability)) # Output the result mo"See full answer

    Software Engineer
    Coding
  • "def mostefficientseqscore(parentheses, efficiencyratings): mes = [] for i in range(len(parentheses)): mes.append((parentheses[i], max(efficiency_ratings[i])) return sum([m[1] for m in mes]) `"

    Nathan C. - "def mostefficientseqscore(parentheses, efficiencyratings): mes = [] for i in range(len(parentheses)): mes.append((parentheses[i], max(efficiency_ratings[i])) return sum([m[1] for m in mes]) `"See full answer

    Software Engineer
    Coding
  • Amazon logoAsked at Amazon 
    Video answer for 'How do you consider the impact of your work on the world?'
    +13

    "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 

    " I have told about the challenge I have faced while designing the Automation Framework for Angular and React website and why we have to use 1 library puppeteer sharp over selenium e.g. we need to handle the asynch calls correctly when an object is selected in the UI and result is awaited for it."

    Kanwal jeet singh L. - " I have told about the challenge I have faced while designing the Automation Framework for Angular and React website and why we have to use 1 library puppeteer sharp over selenium e.g. we need to handle the asynch calls correctly when an object is selected in the UI and result is awaited for it."See full answer

    Software Engineer
    Technical
    +2 more
  • Amazon logoAsked at Amazon 

    "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
  • Amazon logoAsked at Amazon 

    "Functional Requirement Monitor health, metrics Alert in case of failure/anomaly Visualize the live health Analyse machines on periodic basis Non Functional Should not exert load on machines low latency Highly scalable Logs/Metrics Gathering push - machine gather and send to system and low priority background thread along with batching pull - heart beat check (for offline machines) Processing Real time streaming using Kafka/kinesis + Flink TimeSeries database for stor"

    Sourabh G. - "Functional Requirement Monitor health, metrics Alert in case of failure/anomaly Visualize the live health Analyse machines on periodic basis Non Functional Should not exert load on machines low latency Highly scalable Logs/Metrics Gathering push - machine gather and send to system and low priority background thread along with batching pull - heart beat check (for offline machines) Processing Real time streaming using Kafka/kinesis + Flink TimeSeries database for stor"See full answer

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

    "Ask Follow up Questions Is this for specific type of user or open? Do we have any past research that has been done? Do we have an idea of company and user goals? Do we have metrics of success? Are there any existing constraints? Why  |  5 min Why is this product or feature important? How does this product benefit customers? What business opportunities does it create? What is our hypothesis? What are our company goals? Who  |  3 min Who are the different types"

    Ben G. - "Ask Follow up Questions Is this for specific type of user or open? Do we have any past research that has been done? Do we have an idea of company and user goals? Do we have metrics of success? Are there any existing constraints? Why  |  5 min Why is this product or feature important? How does this product benefit customers? What business opportunities does it create? What is our hypothesis? What are our company goals? Who  |  3 min Who are the different types"See full answer

    Software Engineer
    Product Design
    +1 more
  • Amazon logoAsked at Amazon 

    "Follow STAR Example: In my most recent role at x, we've been working every quarter to set our quarterly goals or even decide for the year but given in 2022 we've been through a great resignation phase there was a high attrition because of which we have overloaded engineering teams. During last quarterly planning, I started to question with my manager about giving a focus to our engineering, so we complete one thing absolutely fine which is more impactful for our customers and add immediate val"

    Ash I. - "Follow STAR Example: In my most recent role at x, we've been working every quarter to set our quarterly goals or even decide for the year but given in 2022 we've been through a great resignation phase there was a high attrition because of which we have overloaded engineering teams. During last quarterly planning, I started to question with my manager about giving a focus to our engineering, so we complete one thing absolutely fine which is more impactful for our customers and add immediate val"See full answer

    Software Engineer
    Behavioral
    +3 more
Showing 61-80 of 127