Amazon Data Engineer Interview Questions

Review this list of 20 Amazon data engineer interview questions and answers verified by hiring managers and candidates.
  • Amazon logoAsked at Amazon 
    Video answer for 'Tell me about a time you made a mistake.'
    +92

    "Let me tell you about a time where a website I managed suddenly showed slow performance and the mistake on our side was it was unnoticed until a user reported the issue to management. As a PM for that project, I took full responsibility of the situation and worked with the engineering team to quickly resolve it. This mistake taught me the importance of focusing and monitoring non functional requirements as well in addition to new feature development /adoption where I was mostly spending my time"

    Sreenisha S. - "Let me tell you about a time where a website I managed suddenly showed slow performance and the mistake on our side was it was unnoticed until a user reported the issue to management. As a PM for that project, I took full responsibility of the situation and worked with the engineering team to quickly resolve it. This mistake taught me the importance of focusing and monitoring non functional requirements as well in addition to new feature development /adoption where I was mostly spending my time"See full answer

    Data Engineer
    Behavioral
    +8 more
  • Amazon logoAsked at Amazon 
    +60

    "I most want to communicate a few principals of conflict resolution that I believe were integral in this situation, which are mutual respect, a results orientation, an unwavering focus on the user. To that end, here’s how I’d like to structure this answer: First, I’ll tell you about the project we were working on, to provide some background for you. Second, I’ll describe the disagreement. Third, I’ll describe how we arrived at a solution, and finally, I’ll discuss how those 3 conflict resolut"

    Ross B. - "I most want to communicate a few principals of conflict resolution that I believe were integral in this situation, which are mutual respect, a results orientation, an unwavering focus on the user. To that end, here’s how I’d like to structure this answer: First, I’ll tell you about the project we were working on, to provide some background for you. Second, I’ll describe the disagreement. Third, I’ll describe how we arrived at a solution, and finally, I’ll discuss how those 3 conflict resolut"See full answer

    Data Engineer
    Behavioral
    +7 more
  • Amazon logoAsked at Amazon 
    Video answer for 'Tell me about yourself.'
    +116

    "As you know, this is the most important question for any interview. Here is a structure I like to follow, Start with 'I'm currently a SDE/PM/TPM etc with XYZ company.... ' Mention how you got into PM/TPM/SDE field (explaining your journey) Mention 1 or 2 accomplishments Mention what you do outside work (blogging, volunteer etc) Share why are you looking for a new role Ask the interviewer if they have any questions or will like to dive deep into any of your experience"

    Bipin R. - "As you know, this is the most important question for any interview. Here is a structure I like to follow, Start with 'I'm currently a SDE/PM/TPM etc with XYZ company.... ' Mention how you got into PM/TPM/SDE field (explaining your journey) Mention 1 or 2 accomplishments Mention what you do outside work (blogging, volunteer etc) Share why are you looking for a new role Ask the interviewer if they have any questions or will like to dive deep into any of your experience"See full answer

    Data Engineer
    Behavioral
    +12 more
  • Amazon logoAsked at Amazon 
    Video answer for 'What is the project you are most proud of?'
    +49

    "I was working for my friend building streams at venues across the Chicago land area for FGC (fighting game tournaments), I adjusted and engineered his equipment to be set up permanently that's until covid came around at least. I used OBS to give visual appearances to stream watchers. So we're talking about subscribe, follow, and donation notifications and things of that nature for viewers to know they contributed in one of those ways. I set up proper sign-up scheduling for participants to lock t"

    Ayinde B. - "I was working for my friend building streams at venues across the Chicago land area for FGC (fighting game tournaments), I adjusted and engineered his equipment to be set up permanently that's until covid came around at least. I used OBS to give visual appearances to stream watchers. So we're talking about subscribe, follow, and donation notifications and things of that nature for viewers to know they contributed in one of those ways. I set up proper sign-up scheduling for participants to lock t"See full answer

    Data Engineer
    Behavioral
    +12 more
  • Amazon logoAsked at Amazon 
    Video answer for 'Tell me about a skill you recently learned.'
    +47

    "What are they looking for in the answer? "

    Astro S. - "What are they looking for in the answer? "See full answer

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

  • "I recently led the development and implementation of a data analytics platform tailored for credit unions and mortgage companies, which was suffering from fragmented systems, inconsistent data fields across LOS platforms, and outdated reporting practices. Here's how I managed the full lifecycle: ✅ Initiation / Discovery Conducted executive interviews across five financial institutions to understand reporting and visibility gaps. Shadowed loan officers and underwriters"

    Simran S. - "I recently led the development and implementation of a data analytics platform tailored for credit unions and mortgage companies, which was suffering from fragmented systems, inconsistent data fields across LOS platforms, and outdated reporting practices. Here's how I managed the full lifecycle: ✅ Initiation / Discovery Conducted executive interviews across five financial institutions to understand reporting and visibility gaps. Shadowed loan officers and underwriters"See full answer

    Data Engineer
    Behavioral
    +1 more
  • +3

    "select employeename, employeeid, salary, department, DR from ( select employeename, employeeid, salary, dense_rank() over (partition by department order by salary desc) DR, department from employee ) where DR <=3 order by department, DR"

    Sreeram reddy B. - "select employeename, employeeid, salary, department, DR from ( select employeename, employeeid, salary, dense_rank() over (partition by department order by salary desc) DR, department from employee ) where DR <=3 order by department, DR"See full answer

    Data Engineer
    Coding
    +1 more
  • "How do you find consecutive days for login (MySQL, SQL, date, subquery, MySQL 5.7, development)? 1 Follow Request Answer More All related (34) Recommended 📷 Trausti Thor Johannsson · Follow Been using MySQL for more than 16 yearsDec 27 There are functions like DATEDIFF but there are also BETWE"

    Hayatu H. - "How do you find consecutive days for login (MySQL, SQL, date, subquery, MySQL 5.7, development)? 1 Follow Request Answer More All related (34) Recommended 📷 Trausti Thor Johannsson · Follow Been using MySQL for more than 16 yearsDec 27 There are functions like DATEDIFF but there are also BETWE"See full answer

    Data Engineer
    Coding
    +1 more
  • Amazon logoAsked at Amazon 
    Video answer for 'Move all zeros to the end of an array.'
    +53

    "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

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

    "DFS with check of an already seen node in the graph would work from collections import deque, defaultdict from typing import List def iscourseloopdfs(idcourse: int, graph: defaultdict[list]) -> bool: stack = deque([(id_course)]) seen_courses = set() while stack: print(stack) curr_course = stack.pop() if currcourse in seencourses: return True seencourses.add(currcourse) for dependency in graph[curr_course]: "

    Gabriele G. - "DFS with check of an already seen node in the graph would work from collections import deque, defaultdict from typing import List def iscourseloopdfs(idcourse: int, graph: defaultdict[list]) -> bool: stack = deque([(id_course)]) seen_courses = set() while stack: print(stack) curr_course = stack.pop() if currcourse in seencourses: return True seencourses.add(currcourse) for dependency in graph[curr_course]: "See full answer

    Data Engineer
    Data Structures & Algorithms
    +4 more
  • "What do all data scientists need to know about how to work with very large datasets? 37 Follow Request Answer More All related (39) Recommended 📷 Corrin Lakeland · Follow , M.S. Data Science, University of St. Thomas, St. Paul (2018)6yData Science consultant and managerUpvoted by[Tom Halloin](https://www.quora"

    Hayatu H. - "What do all data scientists need to know about how to work with very large datasets? 37 Follow Request Answer More All related (39) Recommended 📷 Corrin Lakeland · Follow , M.S. Data Science, University of St. Thomas, St. Paul (2018)6yData Science consultant and managerUpvoted by[Tom Halloin](https://www.quora"See full answer

    Data Engineer
    Data Modeling
  • Amazon logoAsked at Amazon 

    "1) select avg(session) from table where session> 180 2) select round(sessiontime/300)*300 as sessionbin, count() as sessioncount from table group by round(sessiontime/300)300 order by session_bin 3) SELECT t1.country AS country_a, t2.country AS country_b FROM ( SELECT country, COUNT(*) AS session_count FROM yourtablename GROUP BY country ) AS t1 JOIN ( SELECT country, COUNT(*) AS session_count FROM yourtablename `GROUP BY countr"

    Erjan G. - "1) select avg(session) from table where session> 180 2) select round(sessiontime/300)*300 as sessionbin, count() as sessioncount from table group by round(sessiontime/300)300 order by session_bin 3) SELECT t1.country AS country_a, t2.country AS country_b FROM ( SELECT country, COUNT(*) AS session_count FROM yourtablename GROUP BY country ) AS t1 JOIN ( SELECT country, COUNT(*) AS session_count FROM yourtablename `GROUP BY countr"See full answer

    Data Engineer
    Coding
    +4 more
  • 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

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

    "function twoSum(nums, target) { let complements = new Map(); for (let i = 0; i < nums.length; i++) { let diff = target - nums[i]; if (complements.has(diff)) { return [complements.get(diff), i]; } complements.set(nums[i], i); } return []; } console.log(twoSum([2, 7, 11, 15], 9)); `"

    Jean-pierre C. - "function twoSum(nums, target) { let complements = new Map(); for (let i = 0; i < nums.length; i++) { let diff = target - nums[i]; if (complements.has(diff)) { return [complements.get(diff), i]; } complements.set(nums[i], i); } return []; } console.log(twoSum([2, 7, 11, 15], 9)); `"See full answer

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

    "SQL databases are relational, NoSQL databases are non-relational. SQL databases use structured query language and have a predefined schema. NoSQL databases have dynamic schemas for unstructured data. SQL databases are vertically scalable, while NoSQL databases are horizontally scalable."

    Ali H. - "SQL databases are relational, NoSQL databases are non-relational. SQL databases use structured query language and have a predefined schema. NoSQL databases have dynamic schemas for unstructured data. SQL databases are vertically scalable, while NoSQL databases are horizontally scalable."See full answer

    Data Engineer
    Concept
    +7 more
  • Amazon logoAsked at Amazon 

    "1) Have a common goal 2) Have a clear and fair accountability between teams 3) Ensure conflicts are resolved in time on common issues 4) Promote common Brain-storming , problem solving sessions 5) Most important , Have clear and effective communication established and practised"

    Saurabh N. - "1) Have a common goal 2) Have a clear and fair accountability between teams 3) Ensure conflicts are resolved in time on common issues 4) Promote common Brain-storming , problem solving sessions 5) Most important , Have clear and effective communication established and practised"See full answer

    Data Engineer
    Behavioral
    +5 more
  • Amazon logoAsked at Amazon 
    +7

    "from typing import List def traprainwater(height: List[int]) -> int: if not height: return 0 l, r = 0, len(height) - 1 leftMax, rightMax = height[l], height[r] res = 0 while l < r: if leftMax < rightMax: l += 1 leftMax = max(leftMax, height[l]) res += leftMax - height[l] else: r -= 1 rightMax = max(rightMax, height[r]) "

    Anonymous Roadrunner - "from typing import List def traprainwater(height: List[int]) -> int: if not height: return 0 l, r = 0, len(height) - 1 leftMax, rightMax = height[l], height[r] res = 0 while l < r: if leftMax < rightMax: l += 1 leftMax = max(leftMax, height[l]) res += leftMax - height[l] else: r -= 1 rightMax = max(rightMax, height[r]) "See full answer

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

    "OLTP (Online Transaction Processing) and OLAP (Online Analytical Processing) are two types of data processing systems, each designed for specific purposes in the context of database and data warehouse environments. OLTP (Online Transaction Processing):Purpose: OLTP systems are designed to manage and handle high volumes of transactions, such as inserting, updating, and deleting data. These systems are typically used in day-to-day business operations. Characteristics: Handles small, si"

    Nikunj V. - "OLTP (Online Transaction Processing) and OLAP (Online Analytical Processing) are two types of data processing systems, each designed for specific purposes in the context of database and data warehouse environments. OLTP (Online Transaction Processing):Purpose: OLTP systems are designed to manage and handle high volumes of transactions, such as inserting, updating, and deleting data. These systems are typically used in day-to-day business operations. Characteristics: Handles small, si"See full answer

    Data Engineer
    Technical
    +1 more
Showing 1-20 of 20