Amazon SDE Internship (6m) (Jan - June' 26) (On Campus)
Summary
I successfully navigated the Amazon SDE Internship interview process for the Jan-June '26 term, which began with an online assessment featuring two DSA problems and concluded with a technical interview, where I received an offer.
Full Experience
The process began with an Online Assessment (OA) lasting 70 minutes. Eligibility required specific branches (CSE, ECE, EEE), no active backlogs, and a CGPA of at least 6.5. The OA consisted of two coding questions. The first question involved counting retailers serving a query point based on rectangular service areas. The second question asked to find the sum of distinct differences between the highest and second-highest elements of all possible subsequences. Following the coding section, there were 2-3 untimed sections to assess behavioral and cultural fit. Out of many applicants, 38 students, including myself, were shortlisted for the interviews, which took place three days after the OA.
The final round was a 60-minute Technical Interview. It started with my self-introduction, followed by questions about my summer internship and related basic concepts. Then, the interviewer posed two main coding questions. The first was about modifying a Binary Search Tree so that its in-order traversal would return nodes in non-increasing order. I clarified if flattening the tree was acceptable, but the interviewer guided me towards a solution that retained a more "binary tree" like structure. The second question required finding the minimum length of a subarray containing at least 'k' distinct elements, along with its start and end indices. I was also asked about the time and space complexity for both my solutions. The interviewer followed up with questions on real-life use cases of BSTs, general time complexities, and SQL indexing. The round concluded with my questions for the interviewer and their best wishes.
I gathered insights from other candidates as well; common problems included "Search in rotated sorted array," "Minimum coins," "Path Sum III," "Word Ladder," and "Next Greater Element." Interestingly, most others were only asked two DSA questions, with no fundamental or other topics discussed.
The results arrived the next day. A total of 15 people were selected, and 3 were waitlisted. I was among the selected candidates. The internship offered a stipend of INR 1,10,000/-, a relocation allowance of 400 USD per month, and a Rs. 1100 meal card monthly.
Interview Questions (9)
You are given an array of points (x, y) representing retailer locations. A retailer at (a, b) can serve all points within the rectangle formed by (a,b) with both axes. Given an array of query points, each containing a point, return an array counting the number of retailers that serve at the i-th query point.
Given an array of n integers, find the sum of different possible numbers that can be obtained as the difference of the highest and the second-highest elements of any subsequence of the given array.
Given a binary search tree, modify its structure such that an in-order traversal of the modified tree would yield the node values in non-increasing (descending) order. I clarified if flattening to a left-skewed list was acceptable, but the interviewer suggested a solution that still resembled a binary tree structure.
Given an array of product IDs and an integer k, find the minimum length of a contiguous subarray that contains at least k distinct elements. You also need to return the starting and ending indices of such a subarray.
Given a sorted array that has been rotated at some pivot unknown to you beforehand, search for a given target value. If it's not in the array, return -1.
Given an array of coin denominations and a total amount, find the minimum number of coins needed to make up that amount. If it's not possible, return -1.
Given the root of a binary tree and an integer targetSum, return the number of paths where the sum of the values along the path equals targetSum. The path does not need to start or end at the root or a leaf, but it must go downwards (traveling only from parent nodes to child nodes).
A transformation sequence from word beginWord to word endWord using a dictionary wordList is a sequence of words beginWord -> s1 -> s2 -> ... -> sk -> endWord such that: Every adjacent pair of words differs by a single letter. Every si for 1 <= i <= k is in wordList. Note that beginWord does not need to be in wordList. Return the number of words in the shortest transformation sequence from beginWord to endWord, or 0 if no such sequence exists.
Given an array, find the next greater element for each element. The next greater element of some element x is the first greater element to its right in the same array.