Background
I got a referral from my friend who currently works at Nutanix.
Current YOE ~ 3 years
- SDE-1 at Amazon (2 yrs)
- CSE from NIT
- Current Comp - 24 base + (4 + 3.5 bonus vested over 2 yrs, was in my last yr)
Expectation
- Base > 35
Interview Experience
Round-1 DSA
https://leetcode.com/problems/minimum-cost-to-make-all-characters-equal/description/
https://leetcode.com/problems/minimum-time-to-collect-all-apples-in-a-tree/description/
Interviewer asked to code directly on Leetcode. Solved both
Round-2 HLD
Was asked a variant of LRU caching. Something like there is a cache store divided in two parts, first part contains data which are untouched (get operation is a touch). Second part contains data which are touched at-least once. Questions were like :
- Decide on cache sizes, how to handle cache replacements (LRU algo). The multi-touch will be larger. Later assumed sizes to be n/3 and 2n/3 and asked to implement the fully functional code.
Some uber level questions around database indexing and normalization.
Round-3 LLD
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.5hrs. Implemented the full runnable code, interviewer was happy.
Round-4 Techno-Managerial Round
This round was with a senior engineer.
- Asked to design an API [request, response, how to handle security (public-private key + SSL certificates), authentication, authorization, internal workings]. Didn't knew much about SSL, and around auth interviewer asked around OAuth and tokens didn't knew much.
- How data is stored in DBs, how sharding works.
- Since I have worked around caching, was asked how Redis works as a distributed cache. Explained A uber level HLD. replication + hot partitioning using consistent hashing.
- Some more questions on internal working on database. It was a pain point for me ;(
- standard managerial questions
Verdict : Rejected, last round didn't went very well. Expected the same. But got promoted at Amazon SDE-2 around the same time while giving last round :)


