Microsoft SDE Intern Interview Experience
💼 LTIMindtree Interview Experience (On-Campus) | Fresher | 2026
Salesforce SMTS | Interview Experience | Rejected
JPMC | SDE2 (Associate) - Java Backend - Interview Experience + Compensation
Microsoft - SDE2 - Coding Round
Amazon | OA and Onsite | Rejected | SDE 1 / L4 Hybrid | US | July 2022
Summary
I interviewed with Amazon for an SDE 1 position in July 2022, which included an online assessment and a full-day onsite interview loop. Despite my efforts across multiple coding, system design, and behavioral rounds, my application was ultimately rejected.
Full Experience
My journey with Amazon began with multiple recruiters reaching out, which suggested a high demand for engineers. Initially, I had a 30-minute call with an engineering manager to discuss the SDE 1 position. There was a slight hurdle during the application process; despite having over a year of experience, I was still categorized as a student in their system, requiring the manager to intervene and provide a special job opening for me to apply to. I had hoped to apply for an SDE2 role, but was directed to SDE1.
Online Assessment (OA)
I received the OA link with a strict 7-day deadline. The assessment on Hackerrank lasted 105 minutes and comprised two coding questions, along with two questions asking for my algorithm's time/space complexity. The first coding question was a variant of K-Closest Points to Origin, but tailored for restaurants and users. I implemented a priority queue with a custom comparator to handle tie-breaking logic, achieving 24/25 test cases passed before hitting a time limit exception. The second coding question was K Most Popular Combos. For this, I sorted and used a priority queue, but only passed 8/15 test cases, with the rest failing due to time limits.
Following the coding part, I completed a 15-minute work style survey focusing on Amazon's leadership principles. It was a multiple-choice section where consistency with their values is crucial. I skipped the optional 5-minute feedback survey. Within a day, I heard back from the recruiter, and was invited to schedule the onsite interview.
Onsite Interview
After a two-week wait, my onsite interviews were scheduled. I signed an NDA and was required to download their Chime app for the whiteboard coding environment. The onsite consisted of three coding interviews, one OOP system design interview, and behavioral questions integrated into each 1-hour session, all conducted on the same day. The environment was a basic text editor without suggestions or compilation.
Coding Interview 1
The first coding interviewer, joined by a shadow, asked a problem about finding the maximum number of overlapping promotions given a list of intervals (start and end times), excluding end times for overlap. This reminded me of the interval partitioning/classroom greedy problem. I sorted the intervals with a special comparator and applied a similar pattern, which seemed to produce the expected results. However, I struggled to articulate the exact time/space complexity, which led the interviewer to question my understanding of my own code. I vaguely mentioned O(n log n + ...) for time and O(n) for space, explaining my choice not to mutate the original list. I don't recall the specific behavioral questions asked in this round.
Coding Interview 2
The second coding interview included behavioral questions such as "Tell me a time you took time in an area out of your responsibility? What resulted of it?" and "Tell me a time when you had to deal with tough or critical feedback and what you did in response?". The coding question was a variation of Group Anagrams, but with words of varying lengths. My approach involved counting character frequencies in a map and storing that map in an object for comparison. I was unable to optimize it further, and the interviewer seemed disappointed that I didn't consider hashing the strings, a solution I had avoided due to concerns about collisions. I also had difficulty confidently stating the time complexity.
OOP System Design Interview
In this round, joined by another shadow, I was asked behavioral questions like "Tell me a time that you were able to deliver on a tight deadline and what sacrifices did you make to do?" and "Tell me a time that you solved a complex problem with a simple solution?". The main technical question was to design a Tic-Tac-Toe game, assuming it was a single-player, local application without internet or multi-threading. I clarified requirements, considering support for multiple players, different board sizes, and various winning conditions. I proposed an interface-based game design pattern for flexibility, allowing different game states and start/end methods. For the Tic-Tac-Toe implementation, I created classes for the game (including a 2D matrix, players, moves) and a Player class. I incorporated an OOP pattern for undo/redo moves and a functional pattern for dynamic win/move checks, aiming for extensibility for different board sizes and rules. The interviewer found my design overly complex and suggested inheritance over composition, which I found to be a less ideal approach. He also questioned placing player input in the constructor, preferring it in a start method, which I disagreed with due to supporting game pausing and other states.
Coding Interview 3
The final coding interview, again with a shadow, started with behavioral questions: "Tell me the hardest bug you had to deal with and how you solved it and what impact it had?" and "Tell me a time you got really stuck and had to remove a serious block and what result it had?". The coding question was Generate all well-formed parentheses. I sought clarification on "well-formed" and then implemented a recursive solution, which seemed to satisfy the interviewer. The follow-up question was to extend the implementation to support other symbol pairs like [] and {}. My proposed solution involved mapping open and closing symbols and recursively generating well-formed sequences by iterating through all symbol types.
After Onsite
The day after my onsite interviews, HR informed me that I was rejected. They couldn't disclose specific feedback but suggested I could reapply in a year and recommended studying Cracking the Coding Interview. I believe my rejection was likely due to poor behavioral responses, non-optimal coding solutions despite focusing on readability, issues with accurately specifying time/space complexity, and potentially perceived criticism of the company in my questions.
Interview Questions (13)
Given a list of promotion intervals (start and end times), the task was to find the maximum number of promotions happening at the same time. End times were to be excluded, meaning if an end time and start time are the same, they are not considered overlapping. This problem reminded me of the interval partitioning / Classroom greedy problem.
Tell me a time you took time in an area out of your responsibility? What resulted of it?
Tell me a time when you had to deal with tough or critical feedback and what you did in response?
Tell me a time that you were able to deliver on a tight deadline and what sacrifices did you make to do?
Tell me a time that you solved a complex problem with a simple solution?
Design a game of tic tac toe, assuming it's not using the internet or multi-threaded. I clarified requirements regarding support for multiple players, different board sizes, different ways of winning, inputs, and outputs for system design clarifications.
Tell me the hardest bug you had to deal with and how you solved it and what impact it had?
Tell me a time you got really stuck and had to remove a serious block and what result it had?
The follow-up question was how to extend my current implementation to support generating well-formed sequences with lists of other symbol pairs, such as [], {}, etc.
Preparation Tips
My interview preparation was relatively casual. I spent about 1.5 weeks going through the first 150 questions on LeetCode, primarily focusing on understanding solutions and common techniques rather than extensive practice. I generally do not engage in dedicated LeetCoding, nor have I read "Cracking the Coding Interview" or studied system design concepts extensively. My approach stems from a differing view on how companies currently assess software engineers.