i
Amazon
Proud winner of ABECA 2025 - AmbitionBox Employee Choice Awards
Filter interviews by
You are provided with 'K' sorted linked lists, each sorted in increasing order. Your task is to merge all these lists into one single sorted linked list and return the head of t...
Merge k sorted linked lists into one single sorted linked list.
Create a min-heap to store the heads of all k linked lists.
Pop the smallest element from the heap and add it to the result list.
If the popped element has a next element, push it back into the heap.
Repeat until all elements are merged into a single sorted list.
You are provided with an array of integers ARR
of length N
. Your task is to determine the next smaller element for each array element.
The Next Smaller...
Given an array of integers, find the next smaller element for each element in the array.
Iterate through the array from right to left and use a stack to keep track of elements.
Pop elements from the stack until a smaller element is found or the stack is empty.
If no smaller element is found, output -1 for that element.
Given a two-dimensional integer array/list 'ARR' of size (N x M), your aim is to print the elements of 'ARR' in a sine wave order. This means that you should print elem...
Print elements of a 2D array in a sine wave order.
Traverse the array in a zigzag pattern, alternating between top to bottom and bottom to top for each column.
Use two pointers to keep track of the current row and column while printing the elements.
Handle edge cases such as empty arrays or arrays with only one row or column.
Example: For input [[1, 2], [3, 4]], the output should be [1, 3, 2, 4].
Given a singly linked list and two integers 'N' and 'M', traverse the linked list to retain 'M' nodes and then delete the next 'N' nodes. Continue this process...
Implement a function to delete N nodes after M nodes in a linked list.
Traverse the linked list while retaining M nodes and deleting N nodes after each M nodes.
Use two pointers to keep track of the nodes to be retained and deleted.
Update the next pointers accordingly to skip the nodes to be deleted.
Repeat the process until the end of the linked list is reached.
What people are saying about Amazon
ACID properties ensure database transactions are processed reliably and consistently.
Atomicity: All operations in a transaction are completed successfully or none at all.
Consistency: Database remains in a consistent state before and after the transaction.
Isolation: Transactions are isolated from each other until they are completed.
Durability: Once a transaction is committed, changes are permanent and survive syste...
Given an array ARR
consisting of non-negative integers, rearrange the numbers to form the largest possible number. The digits within each number cannot be changed.
Rearrange array elements to form the largest number possible by concatenating them.
Sort the array elements in a custom way where the concatenation of two numbers results in a larger number.
Use a custom comparator function to sort the array elements.
Convert the sorted array elements to a single string to get the largest possible number.
Given an array of integers, determine the contiguous subarray that produces the maximum product of its elements.
A subarray can be derived from the...
Find the contiguous subarray with the maximum product of elements in an array.
Iterate through the array and keep track of the maximum and minimum product ending at each index.
Update the maximum product by taking the maximum of current element, current element * previous maximum, and current element * previous minimum.
Update the minimum product by taking the minimum of current element, current element * previous ma...
Given an array of integers with 'N' elements, determine the length of the longest subsequence where each element is greater than the previous element. This ...
Find the length of the longest strictly increasing subsequence in an array of integers.
Use dynamic programming to solve this problem efficiently.
Initialize an array to store the length of the longest increasing subsequence ending at each index.
Iterate through the array and update the length of the longest increasing subsequence for each element.
Return the maximum value in the array as the length of the longest inc...
You are provided with the Inorder and Level Order traversals of a Binary Tree composed of integers. Your goal is to determine the height of this Binary Tree without actually construct...
Calculate the height of a Binary Tree using Inorder and Level Order traversals without constructing the tree.
Use the properties of Inorder and Level Order traversals to determine the height of the Binary Tree.
The height of a Binary Tree is the number of edges on the longest path from the root to a leaf node.
Consider edge cases like a single node tree or empty tree while calculating the height.
You have a sequence of consecutive nonnegative integers. By appending all integers end-to-end, you formed a string S
without any separators. During this proc...
Find the missing number in a string of consecutive nonnegative integers.
Iterate through the string to find the missing number by checking the consecutive integers.
If there is more than one missing number, all integers are present, or the string is invalid, return -1.
Handle cases where the missing number is at the beginning or end of the string.
Consider edge cases such as single-digit strings or strings with leadin...
I applied via LinkedIn and was interviewed in Sep 2024. There were 2 interview rounds.
Easy Questions- Can be done with decent practice
Coding test had 2 medium level coding questions
I applied via Approached by Company and was interviewed in Aug 2024. There were 2 interview rounds.
2 coding questions of easy to medium difficulty
Sliding window problem where you can only pick fruits from two different baskets
Use a sliding window approach to keep track of the maximum number of fruits in two baskets
Keep track of the types of fruits and their counts in the window
Update the window by removing fruits from the beginning and adding fruits from the end
Keep track of the maximum number of fruits seen so far
I applied via Campus Placement and was interviewed in Aug 2024. There were 2 interview rounds.
2 leetcode easy problems, arrays and strings.
Find the smallest substring in a string that contains all characters of another string.
Use two pointers to maintain a sliding window over the string.
Count characters in the target string using a hash map.
Expand the window by moving the right pointer and contract it by moving the left pointer.
Example: For s = 'ADOBECODEBANC' and t = 'ABC', the result is 'BANC'.
Keep track of the minimum length and starting index of valid...
Find the minimum sum of a subarray within an array of integers.
Iterate through the array and keep track of the current sum of subarray
Update the minimum sum if a smaller sum is found
Consider using Kadane's algorithm for an efficient solution
I appeared for an interview in Mar 2025, where I was asked the following questions.
BFS (Breadth-First Search) is an algorithm for traversing or searching tree or graph data structures level by level.
Level Order Traversal: BFS explores all neighbors at the present depth prior to moving on to nodes at the next depth level.
Queue Data Structure: BFS uses a queue to keep track of nodes to be explored, ensuring nodes are processed in the order they are discovered.
Shortest Path: In unweighted graphs, BFS ca...
I appeared for an interview in Dec 2024, where I was asked the following questions.
I applied via Approached by Company and was interviewed in May 2024. There were 2 interview rounds.
It had very basic dsa problem I don't not remember the exact question. It was based on array manipulation.
The Rotten Oranges problem involves determining the time taken for all oranges to rot in a grid.
Model the grid as a graph where each cell represents an orange.
Use BFS to simulate the rotting process, starting from all initially rotten oranges.
Count the minutes taken for all reachable fresh oranges to rot.
Example: In a 2D grid, rotten oranges spread to adjacent fresh oranges every minute.
I applied via LinkedIn and was interviewed in Jun 2024. There were 2 interview rounds.
Basic aptitude and data structures along with some personality based questions
The sliding window algorithm efficiently solves problems involving contiguous subarrays or substrings.
Used to find maximum/minimum in a subarray of fixed size. Example: max sum of any 3 consecutive elements.
Helps in counting distinct elements in a substring. Example: count of unique characters in 'abcabc'.
Can be applied to problems like longest substring without repeating characters. Example: 'abcabcbb' -> 'abc'.
Use...
Binary search is an efficient algorithm for finding an item from a sorted list of items.
Binary search works on sorted arrays. Example: [1, 2, 3, 4, 5].
It divides the search interval in half. If the target is less than the middle element, search the left half.
Time complexity is O(log n), making it faster than linear search (O(n)).
Example: To find 3 in [1, 2, 3, 4, 5], check middle (3), found it immediately.
If the target...
LC Medium - 2 questions
Two-pointer technique is used to solve problems involving arrays or linked lists by using two pointers to traverse the data structure.
Start with two pointers at different positions in the array or linked list
Move the pointers based on the problem requirements (e.g. one pointer moves faster than the other)
Commonly used in problems like finding a pair of elements that sum up to a target value
I applied via Referral and was interviewed in Mar 2024. There was 1 interview round.
Some of the top questions asked at the Amazon Software Developer Intern interview -
The duration of Amazon Software Developer Intern interview process can vary, but typically it takes about 2-4 weeks to complete.
based on 43 interview experiences
Difficulty level
Duration
based on 91 reviews
Rating in categories
Customer Service Associate
4k
salaries
| ₹1.8 L/yr - ₹5 L/yr |
Transaction Risk Investigator
3.1k
salaries
| ₹2.4 L/yr - ₹6.5 L/yr |
Associate
3.1k
salaries
| ₹2 L/yr - ₹5.5 L/yr |
Senior Associate
2.6k
salaries
| ₹4 L/yr - ₹9 L/yr |
Software Developer
2.4k
salaries
| ₹23.3 L/yr - ₹43.4 L/yr |
Flipkart
TCS
Netflix