SDE intern
Interview Date
—
Result
Selected
Difficulty
—
Rounds
—
Drive Type
On-Campus
Detailed experience
Technical Round 0: There were 2 DSA questions. One was a Greedy problem (easy–medium) and the other was a Dynamic Programming problem (medium to hard). Each question had 15 test cases. For the first problem, all 15 test cases passed. For the second problem, 10 out of 15 test cases passed. Technical Interview: There were 2 interviewers. One was asking the questions and the other was observing. The interview was virtual and conducted on Amazon Chime. The interviewer first asked me to introduce myself. After that, he informed me that this would be a pure DSA round of 1 hour with 2 questions. Question 1: The problem was similar to “Smallest String With Swaps” on LeetCode. I initially approached the problem using a DFS-based graph solution. I drew the graph on paper, wrote the pseudocode, and showed it on camera as requested. I explained my thought process clearly while writing. The interviewer was satisfied with the approach. I then coded the solution in about 10 minutes, explaining each step carefully. After completing the code, I discussed the time and space complexity. Before moving to the next question, I mentioned that the problem could also be solved using the Disjoint Set Union (DSU) approach. One interviewer said he was already satisfied, but the other asked me to go ahead. I implemented the DSU solution within 5 minutes. Question 2: The second question was similar to “Search in Rotated Sorted Array” on LeetCode, though the wording was different. I already knew the optimal solution, but I spent a few minutes carefully reading and thinking through the problem. I first suggested a linear search (brute force) approach. The interviewer was not satisfied and asked me to optimize it. I then mentioned using a HashMap, but the interviewer clarified that the values were stored in an array. After that, I moved to the binary search approach and explained it in detail. While coding, I handled integer overflow properly by calculating mid as: mid = low + (high - low) / 2 instead of (low + high) / 2, since the array size could be as large as 10^9. I completed the optimized solution in about 5 minutes and explained the time and space complexity. Follow-Up Questions: After finishing both problems in around 30 minutes, there were about 10 minutes of follow-up questions at a medium level. I explained my approach and coded the follow-up solutions while discussing them. The total interview duration was around 40 minutes. Verdict: I received the offer for a 6-month internship. It was truly a dream come true for me.