Amazon Interview Experience for SDE-1 (Off-Campus)
Recruiter reached out to me on LinkedIn in the month of September stating that Amazon is actively recruiting for SDEs and that my profile matches. She sent me the Job Description and asked me if I wanted to proceed. I did. I am no competitive coder and wasn’t even actively preparing for a product based company but I was up for the challenge. I wanted to use these as mock rounds and learn from my mistakes and improve. I’ve never had a coding interview before despite having 1 year work experience and 6 months internship in a startup.
Round 1: Online Assessment
- Describe approach used and write time complexity of above solutions.
Phone Interview with Recruiter: [Duration: 45 minutes]
- Tell me about yourself
- Willing to relocate?
- Current Team structure at work and responsibilities.
- What percentage of my job is dedicated to developing new features, maintenance, testing, code review and architecture?
- Quick sort, merge sort, radix sort, insertion sort and heap sort. Advantages and disadvantages of each. Suitable for which input types?
- HashTable, HashSet and HashMap differences. Time complexities in best case and worst case.
- What are hash collisions and what are some methods to avoid them?
- When to use BFS and DFS traversals? What are some algorithms?
After 2 weeks – my virtual interviews were scheduled. I practiced on GfG Amazon Interview Sets, LeetCode, Educative.Io, etc.
There were 4 rounds spanning 2 consecutive days.
Virtual Interview – Round 1: [Duration 1 hour]
- Favorite principle from Amazon Leadership Principles.
- Time when I failed after a huge obstacle
- Time when I succeeded after a huge obstacle
- When I didn’t have sufficient requirements.
- Design an Office Structure with different classes interactive classes like (Employees, Insurance, Clients) and implement functions for the queries that Interviewer gave.
Virtual Interview – Round 2: [Duration 1 hour]
- What I like and dislike about my current employer.
- Time when I worked against deadlines to get a job done.
- Set a goal to do better and failed.
- Honest Review of how I prepared for Amazon
- Given a Pile of Books store it in an efficient data structure and implement retrieval, insertion and deletion functions – specific books, random books, set of books. Was asked about the internal working of Data Structures that I chose and was asked about the time complexity of each. I was asked to write a production ready code which handles edge cases and throws appropriate Exception messages.
(I let some bad inputs slip through which was pointed out by the interviewer and then when I got to solve it – the time was up. I think this was a bad sign on my end too.)
Virtual Interview – Round 3 [Duration 1 hour]:
- Implement an emergency response system with an observer pattern.
- Time when I couldn’t solve a technical problem
(This round was shorter because I was experiencing Internet issues. This negatively impacted my performance – I was scared and went blank. I think this could be detrimental in my candidacy)
Virtual Interview – Round 4: [Duration 1 hour]
- Time when I stepped up and led a team
- Time when I went above and beyond the said job description
- Implement code for the Given Venn Diagram of 2 objects and write functions for some properties of intersections like A ∩ B and A ∩ B ⊆ A.
(This was actually a fun round and it got easier once I had an example given to me.)
Verdict: Unsuccessful. But I’m happy I made it this far with moderate prep.
- They spend about 30 minutes on behavioral questions and want to get to the depth of it. So get to all the nitty gritty stuff.
- Stay confident with your answer and try to defend it to the best ability. If there’s an error, or edge case the interviewer will let you know. Acknowledge it and work it from there. They want to know that you’d be coachable too.
- Ask loads of clarifying questions, discuss approaches before and if the interviewer asks to proceed – only then code. I made the mistake of diving code first in one of the rounds and the interviewer asked me to start from the beginning.
- In the 3 coding rounds, you can mess up in only 1 round as it’s a cumulative offer. You should display consistency so that the other 2 interviewers can defend your skillset for the hard round.