Jupiter Money | SDE-1 | Bangalore | April 2022 | Offer
Summary
I applied through Jupiter Money's job portal and received an offer for the SDE-1 role after successfully navigating through three technical rounds, a bar-raiser, and an HR interview.
Full Experience
Jupiter Money Interview Experience
I applied for the SDE-1 position through Jupiter Money's job portal, and their HR team reached out to me shortly after. The interview process was structured into three technical rounds, followed by a bar-raiser round, and concluded with a final HR discussion.
First Round
After a brief introduction, the interviewer presented me with two LeetCode medium questions. I found both problems to be quite straightforward and was able to solve them with ease.
Second Round
This round also consisted of two distinct questions. The first challenge was to determine the minimum steps required to reach a number 'b' from a starting number 'a', with permissible moves being either moving one step back or doubling the current step. I initially approached this using recursion and dynamic programming, but it seemed there might have been a more direct mathematical solution. The second question involved finding the bottom view of a binary tree, which I successfully solved.
Third Round (Design Round)
In this design round, I was tasked with designing a food delivery application. The interviewer asked me to articulate the requirements first, then discuss the system's overall flow, define the API routes, and finally move into designing the database schema. I experienced a slight hesitation when deciding between SQL and NoSQL databases, but the interviewer was incredibly supportive, engaging in a constructive discussion and questioning my choices, which ultimately helped me refine my design decisions. We also had a detailed discussion about my past projects during this round.
Interview Questions (5)
Design a system that manages seat reservations. Implement SeatManager(int n) which initializes a SeatManager object that manages n seats numbered from 1 to n. All seats are initially available. Implement int reserve() which fetches the smallest-numbered unreserved seat and reserves it. Implement void unreserve(int seatNumber) which unreserves the seat with the given seatNumber.
Find the minimum steps to reach from a number 'a' to a number 'b'. At any point, a player can go 1 step back (current_step - 1) or double the current step (2 * current_step).
Given a binary tree, return the bottom view of the tree. The bottom view of a binary tree is the set of all nodes that are visible when the tree is viewed from the bottom.
Design a food delivery application. This involved outlining requirements, discussing the system flow, defining API routes, and designing the database schema, including considerations for choosing between SQL and NoSQL databases.