Round1: Problem Solving
If we have something like a org tree of a company where we have tree like structure
which represents the total number of employees directly reporting to him and then
if we scroll further each branch further expands to the employees reporting to the
current employee and so on. Question was to find the total number of direct repotees
of a given manager. (Not the total employees under him but the direct ones)
It starts with a small problem round which was extended to mould into something
like API designing. Things which will come up are -
How to take complex inputs, read the JSON objects, necessary checks to make sure your
input won't bring down your APIs and solve the actual problem. This was further extended
to more like a LLD design problem where I had to introduce design pattern to solve it.
Round 3: System Design
design something like a analytical system which take input from other services
and prepares a performance matrix of the system. We need to consider that we are
getting constant stream of input from various channels and this matrix is supposed
to give almost real time results.
Round 4: System Design
Newsfeed system design for systems like feedly
Design rounds are very open ended. Lot of cross questions are asked.
Things like why/which databases. All design choices are questioned.
At this point in time I was told that the feedback for the design rounds are not positive.
They offered to reasses me through one more design round.
Round 5: System Design
Photo sharing app like instagram
Round 6: HM
Past experiences & few situatuinal questions.
I got to know that I was being interviewed for L7.
After debrief, they downgraded me to L6