Round 1: DSA
Questions:
Interviewer asked to code directly on Leetcode. Solved both.
Candidate's Approach
No approach provided.
Interviewer's Feedback
No feedback provided.
Round 2: HLD
Questions:
- Discussed a variant of LRU caching with a cache store divided into two parts: untouched data and touched data.
- Questions included:
- Decide on cache sizes and handle cache replacements using LRU algorithm.
- Assumed sizes to be n/3 and 2n/3 and asked to implement fully functional code.
- Additional questions on database indexing and normalization.
Candidate's Approach
No approach provided.
Interviewer's Feedback
No feedback provided.
Round 3: LLD
Questions:
/** Write a class to manage Student Test Scores data A user should be able to enter student details which include 1. Id e.g UC11A345 , UC11A346 2. Name e.g Sidharth Suresh, Shyam Dixit e.t.c A user should be able to enter marks for a given student in percentage e.g ENG = 20 , MATH =80 e.t.c From a given inserted data, a user should be able to figure out the marks of a given student for a given subject From a given inserted data, a user should be able to figure out who has the highest marks for given subject Note: Students can have marks in zero or more subjects. Not all students will have marks for a given subject Since there is no db. Store the data in class variables. In a main method add the following data; 1 id = UC11A345 Name = Sidharth Suresh Score in MATH = 30% Score in ENG = 80% 2 id = UC11A346 Name = Shyam Dixit Score in ENG = 90% 3 id = UC11A347 Name = Manav Awasthi Score in MATH = 20% 1. Get the MATH score of Manav Awasthi 2. Get the highest score in ENG and who scored it **/
This interview took around 1.5 hours. Implemented the full runnable code, interviewer was happy.
Candidate's Approach
No approach provided.
Interviewer's Feedback
No feedback provided.
Round 4: Techno-Managerial Round
Questions:
- Asked to design an API including request, response, security handling (public-private key + SSL certificates), authentication, and authorization.
- Questions on how data is stored in databases and how sharding works.
- Discussed Redis as a distributed cache, explained high-level design including replication and hot partitioning using consistent hashing.
- Additional questions on internal workings of databases and standard managerial questions.
Candidate's Approach
No approach provided.
Interviewer's Feedback
No feedback provided.
Verdict: Rejected, last round didn't go very well. Expected the same. However, got promoted at Amazon to SDE-2 around the same time while giving the last round.