Date: Aug-Oct 2024
YOE: 3 years
There were 6 rounds:
I was able to complete the first part and almost complete the second with a couple of bugs. Wasn't able to run completely the second part.
I kept reaching out to HR for feedback and got scattered responses that we'll get back. After almost 2 weeks the HR reached out and said that the feedback is positive. The delay was due to the fact that the opening I applied to got closed(still doesn't make sense to not say yes/no) so they are considering me for some other position.
HM round:
Went pretty smooth. One project deep dive and situational questions.
Coding Round:
Design key value store. Extended to transactions. See the previously attached interview experience or this.
Coding Round:
Design excel sheet. Two main functions:
set(cell, value/expression)
print() -> should print both raw and computed values.
Example:
set(A1, "=5+9+-8")
set(A2, "5")
Only +,- and in case of -, + would be preceding which made it easier to split. This was then extended to:
set(A1, "=A1+5")
set(A3, "=A1")
Created Cell class and Map<String, Cell> for the sheet. Cell had an isExpression variable which I populated by checking if the input starts with "=". I suggested having different cell types i.e. StaticCell, ExpressionCell(didn't implement) but interviewer wasn't particularly excited about this.
I calculated the expression values while printing lazily(I am not sure what he expected) but I told him at the end that we had a choice of calculating proactively using some sort of dependency graph or just do it lazily using recursion.
I wouldn't recommend my solution for the interview even though the feedback for the round was positive.
Feedback for this round was borderline.
The HR reached out and said the second position also got closed :) and told me I need to have a "call(read HM round)" with a manager.
A couple of days later I received the verbal confirmation of offer.
Compensation: https://leetcode.com/discuss/compensation/5900173/rippling-sde-2-l6-bangalore/2698630