Thank you LC Community for all the support. Connect with me on Linkedin if you have any follow up questions. Link is in the bio.
This is an extension of the below link and hereby my attempt to give back to the LC community by sharing my interview experience with Rippling. While I wrote the below post, this process was still in progress and now it is completed but I stuck to my decision of joining FalconX. Kindly upvote if you liked it.
So the entire process of Rippling comprised of 6 rounds (1 API Design + 1 + Problem Solving + 3 Design Rounds + 1 Hiring manager) which were held over a span of 7 weeks and was one of the main reasons why I am not joining it because by that time I had already made my mind to join FalconX as it was taking way too long to complete.
Round 1 - API Design
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 2 - System Design
It was typical HLD round where I was asked to design something like Personalized Google Feed
Round 3 - Problem Solving
It was a problem solving round which starts off with a simple question for which we just discussed the approach and time complexity. Question was something like-
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 was a N-ary tree problem and I gave the solution. It followed by question of finding common manager of two employees in this tree. Again we discussed the approach.
The final problem was that we are given weights to each node of this tree. We need to find the branch of the tree with minimum weights with the condition that if we choose a node for the weight sum, we cannot choose its immediate children or parent (basically any directly connected node)
We discussed the optimal approach to this problem and later on I coded this solution.
Round 4 - System Design
Again a HLD round where we discussed instagram timeline feed round. This one was many cross questions of why SQL and not NOSQL; Do we really need ACID properties; Memory capacity of Cache and so on and so forth.
Round 5 - System Design
HLD round where we discussed to 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 6 - Hiring manger Round
Typical HM round with questions around past projects and Leadership skills.
Verdict - Offer for L6 but rejected because it wasn't matching the offer of FalconX and also it was pretty late by the time the process completed. I was already on board in FalconX.