My analysis is this.
I almost did well more or less in coding rounds and solved all coding related questions(may not be most optimized though).
Where I feel I didn't perform well is in design rounds.
Yes I read about lots of design problems prior and also watched lots of youtube videos but in our day to day work in office (atleast in my case), I have never designed a complete distributed/scalable system myself as mostly we work on small features/enhancement to the existing well established product.
Key takeaways from this experience is this.
- Do not underestimate the content in your resume.
- Fundamentails of data structures must be cleared- solve lots of medium questions on leetcode and cover breadth of all the fundamental algorithms and data structures- this helped in solving coding questions.
- Amazon focuses a lot on behavioural questions - I dont know why they consider everybody to have experiece on all amazon principles- https://www.amazon.jobs/en-gb/principles
- Best of luck on design round. Only more knowledge/reading around distributed and scalabale systems and little experience may help here.
- If first telephonic round is cleared , they take 5 rounds for sure no matter how you perform in each round. I mean next round is not dependent on how you performed in previous round.
- Yes they take 6,7 rounds for almost everybody(In india atleast)
- . Keep at it, It is just a matter of time.
Round 1 - Online Coding challenge
- Sort Sentences based on some common string in it like a date(Not exactly this but almost same)
ans: Solved all test cases
- Find minimum cost in a matrix from top left to some cell with a particular value
ans: Tried backtracking. solved almost 60% of test cases
Round 2 - Telephonic Desing Interview
-
Design a parking lot system
ans: Tried template methd design pattern
-
In depth explanation of projects in a resume
Round 3 - Onsite (Design)
-
Desing a system to store massive data in forms of key-value pair
ans: I did not know about Amazons Dynamo db
-
Design a flight booking system
Round 4 - Coding
- Find missing element in array in O(n) time
- Find longest palindrome substring in a string
- Find if a particular element exist in array of size m with atmost m+1 comparisons.
ans: Could not found a good solution during interview but after interview clicked.
Round 5
- Multiple Behavioural quesions based of amazon leadership principles - Best of luck
- Given a graph, check if it is a tree
Round 6
- In depth questions based on resume
- Desing a URl shortner service
ans: availbale on grokking a system design interview
Round 7
- Print binary tree in a zigzag fashion(Question was not straight forward though)
ans: solved with two stacks
- Given a number pad and its alphabets(like old phones keypad). Given a sequence of numbers , find all possible strings that can be formed.
ans: Tried with backtracking