Amazon Software Engineer Interview Questions

Review this list of 121 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
  • "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
  • 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
  • "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 'Implement a k-nearest neighbors algorithm.'
    +6

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

  • 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 

    "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
  • "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 
    Video answer for 'Given an nxn grid of 1s and 0s, return the number of islands in the input.'
    +11

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

    "Arrays.sort(inputarray) sliding window with a size of 2. Check for the sum in the sliding window. subtract the start when window moves"

    Sridhar R. - "Arrays.sort(inputarray) sliding window with a size of 2. Check for the sum in the sliding window. subtract the start when window moves"See full answer

    Software Engineer
    Data Structures & Algorithms
    +5 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 
    +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 
    Video answer for 'How do you consider the impact of your work on the world?'
    +12

    "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 

    "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 

    "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
  • Amazon logoAsked at Amazon 
    Software Engineer
    Behavioral
  • "I faced a problem about components re-rendering's and unnecessary requests API's which was causing performance complications in my applicactions. I had a structure that create, edit and delete task, so GET, POST, PUT and DELETE API's methods request was necessary and bring that to compliance without compromissing the performance is hard. I started involving componentes and async functions into the useMemo's and useEffect's to have more control, another improvement was take be careful with global"

    Rolemberg J. - "I faced a problem about components re-rendering's and unnecessary requests API's which was causing performance complications in my applicactions. I had a structure that create, edit and delete task, so GET, POST, PUT and DELETE API's methods request was necessary and bring that to compliance without compromissing the performance is hard. I started involving componentes and async functions into the useMemo's and useEffect's to have more control, another improvement was take be careful with global"See full answer

    Software Engineer
    Technical
    +2 more
  • "Our team were developing a HQ trivia for fitness. So at that moment our focus was developing an eye-catching animation for both iOS and Android. By the way, implementing an animation were hard without the progress of it. So we wanted to see an immediate progress. So I decided to use tools or libraries such as Lottie or Kite. Then it increased the quality and the productivity dramatically. So our designer were happy with it and also our dev team could reuse the code from the designed animation fr"

    Woongshik C. - "Our team were developing a HQ trivia for fitness. So at that moment our focus was developing an eye-catching animation for both iOS and Android. By the way, implementing an animation were hard without the progress of it. So we wanted to see an immediate progress. So I decided to use tools or libraries such as Lottie or Kite. Then it increased the quality and the productivity dramatically. So our designer were happy with it and also our dev team could reuse the code from the designed animation fr"See full answer

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

    "function addChildren(root, val, inorder) { const rootInOrderIndex = inorder.indexOf(root.value); const childrenInOrderIndex = inorder.indexOf(val); if (childrenInOrderIndex < rootInOrderIndex) { if (!root.left) { root.left = new TreeNode(val); } else { addChildren(root.left, val, inorder); } } else { if (!root.right) { root.right = new TreeNode(val); } else { addChildren(root.right,"

    Tiago R. - "function addChildren(root, val, inorder) { const rootInOrderIndex = inorder.indexOf(root.value); const childrenInOrderIndex = inorder.indexOf(val); if (childrenInOrderIndex < rootInOrderIndex) { if (!root.left) { root.left = new TreeNode(val); } else { addChildren(root.left, val, inorder); } } else { if (!root.right) { root.right = new TreeNode(val); } else { addChildren(root.right,"See full answer

    Software Engineer
    Data Structures & Algorithms
    +2 more
Showing 61-80 of 121