Yoe : 3 years
Education - Tier-3
LC solved - 250+
Currently employed: mid-sized unicorn startup
Round-1 (Technical Interview on Chime, 1 hour)
There were 2 LC Medium coding questions
1:) https://leetcode.com/problems/knight-probability-in-chessboard/
2:) https://leetcode.com/problems/unique-paths/
I started with the brute force approach first and kept moving forward in the direction of optimizing the solution (As I did both of them before).
After discussing the optimized solution with time and space complexity, I wrote the working code for the same.
After clearing the first round, I was told that they'll like to move ahead and scheduled interviews on the same day after a week. All interviews were virtual and were taken on Amazon Chime. A link to codeshare is provided for each interview.
Round-2 (Technical Interview on Chime, 1 hour)
There was 1 very common LC question, 1 LLD question and followed by some LP.
1:) https://leetcode.com/problems/sliding-window-maximum/
I was able to solve this one by priority queue correctly.
2:) Implemnet Linux find command as an api ,the api willl support finding files that has given size requirements and a file with a certain format like
find all file > 5mb
find all xml
Assume file class{
get name()
directorylistfile()
getFile()
}Create a library that is flexible, Design clases ,interfaces.
As I started with the solution they kept on adding requirements to it, to check my class design and how I have applied SOLID principles to it.
They were looking more into my design, what patterns I have applied, variable naming and code writing style, etc.
Leadership Principal -
What is the hardest technical challenge you have faced till now?
Have you ever helped someone outside your team? How does it affect your timelines? How did you talk to your manager about the same? And what was his response?
After this round, I got feedback that everything was well but I need to keep my variable names more logical and also asked me to prepare more on LLD for further rounds.
Round-3 (Hiring Manager round, 1 hour)
Book My Show HLD design
4-5 Leadership Principal questions.
I did quite well in this round and got a green flag for the next round.
Round-4 (LLD Round, 1 hour)
Design a class diagram of vending machine
1:) What all classes would be there and how the transaction will flow?
2:) How would you handle currency changes?
3:) What all design patterns will you apply to it?
Had a discussion with him for 45 mins, then we moved on to some LP questions.
Why Amazon?
How do you handle conflicts with your manager?
Soon after this round, they told me that they would like to schedule by Bar-Raiser round after 2 days.
And I was quite happy to hear that.
Round-5 (BR Round, 1 hour)
1:) Asked me about my project. How did you design it? What challenges you have faced while designing it.
What is the scale of your project?
Asked me to explain the architecture of the same.
2:) How will design a Notification system (HLD)?
What all API contracts would be there? Write all the API contracts with proper response in JSON format.
How will help other teams to integrate your notification system
3:) Some LP questions
4:) Find the element in a 2D matrix sorted by column only.
I was not quite happy with this round, as BR kept on mocking me throughout, It was the worst interview experience. He was not at all satisfied with my answers and at some part of the interview, I felt like he was contradicting himself.
After this round, I got a mail followed by a call that they have selected me for the upper-level SDE-1 role due to not performing well in the design round.
It is a mixed feeling for me now as someone with 3 Yoe would focus more on the SDE-2 role (reason being a compensation itself too), as promotions are not very promising early in Amazon.
Through this post, I would like to give back to the LeetCode community for helping me throughout my learning.
Tips -
Be confident, consistent and motivated, Do Leetcode on the daily basis.
Speak out loud in every process, it's okay if you are thinking in the wrong direction, It would help the interviewer to correct you and give you hints.
Be precise with your communication, Try to keep it to the point and crisp as you would have less time in the interview.
The Leadership Principle questions are very important. Prepare well. Never take them casually.
Important Links -
https://leetcode.com/discuss/general-discussion/623011/A-guide-for-dummies-(like-me)
https://leetcode.com/discuss/general-discussion/651719/how-to-solve-dp-string-template-and-4-steps-to-be-followed
https://leetcode.com/discuss/general-discussion/657507/sliding-window-for-beginners-problems-template-sample-solutions
https://leetcode.com/discuss/general-discussion/665604/important-and-useful-links-from-all-over-the-leetcode
https://leetcode.com/discuss/general-discussion/675445/facebook-interview-experiences-all-combined-from-lc-till-date-07-jun-2020
https://leetcode.com/discuss/general-discussion/677506/top-50-google-tagged-questions-with-links
https://leetcode.com/discuss/interview-experience/750054/how-to-ace-amazon-behavioral-interview