Hi,
I got interviewed by Amazon India in Nov, 2020.
Screening Round:
There were 2 options:
1. Hackerrank test.
2. virtual screening in coderpad.
I chose hackerrank test.
Time Duration: 90 minutes
Q1: LC mediunm, Heap based Solution.
Status: Accepted, with 3 TCs failed.
Q2: LC hard, DP problem
Status: Accepted, all TCs passed. Recruiter reverted after 4-5 days with status and updates on next steps:
1st Round:
Type: Coding
Duration: 1 hour.
Q1: LC Medium: https://leetcode.com/problems/course-schedule-ii/
Status: Solved within first 20 minutes
Q2: LC Medium: Priority Queue/ Heap based Question + Follow up questions on modifying the question a bit.
Status: Solved within 10 minutes.
Behavioral: Current Work + Behavioral
2nd Round:
Type: Coding
Q1: LC hard: https://leetcode.com/problems/serialize-and-deserialize-binary-tree/
Question was not asked directly, it was asked in a verbose format in a real life scenario of a software infrastructure.
I had to come up with this solution/ approach first and explain, that how would it solve the problem statement in a large scale software infrastructure, and then coded the solution.
Status: Solved within ~20-25 minutes.
Q2: LC medium: https://leetcode.com/problems/keys-and-rooms/
Status: Solved within ~15 minutes.
Behavioral: Current Work + Behavioral
3rd Round:
Type: Design + Managerial
Behavioral: Current work + behavioral for first 10 minutes.
HLD: Designing a Notification service in a distributed system.
Follow up questions on:
1. DB selection.
2. Caching layer selection.
3. Configuration management.
4. handshaing and communication.
5. Scaling and availability.
6. Choices of services.
7. Trade-offs between theads Vs Processes while designing.
8. xoxo
Discussion went for ~20-30 minutes.
Behavioral for ~5-10 minutes.
LLD: A large problem statement was given.
Breakdown of the problem statement:
Had to design an interface which would integrate multiple devices(Kindle/ Alexa/ Echo and so on) in a single platform.
The interface shall be an user interface which would receive commands from end user and perform the task through it's interface:
1. Play "Ed Shereen" music. --> Shall be performed by Alexa
2. What's the weather forecast? --> Shall be done by echo && Alexa
3. Show me the "X" chapter of "Y" book. --> Shall be done by Kindle
4. Have to provide exceptions correctly, such as Echo can't "show"/ Kindle can't "play" and so on.
5. To make sure interface takes care of forwarding the calls to respective classes and objects accordingly to perform the requisite task.
6. Followup questions on my deign and the design paterns chosen.
I used:
Abstract factory + Builder + Aggregation mostly.
4th Round:
Type: Design + managerial
HLD: Design "UBER" like infra for world wide demographic location.
Special attention was provided on how do I create a large scale system, which can resolve a world wide demographic solution.
1. Design of mapper service, to scale the system eficiently and support world wide demography.
2. Break down of all the system, component wise.
Behavioral: Current Work + behavioral.After a day, recruiter informed me that I had been selected for an L5 role.
Please upvote, if this information helps.
Preparation:
TC Details:
https://leetcode.com/discuss/compensation/1195653/Amazonor-SDE2