Round 1 ( HM )
Questions:
- CAP theorem
- About Distributed System
- Sharding
- Some Behavioural Questions
Candidate's Approach
No approach provided.
Interviewer's Feedback
No feedback provided.
Round 2 ( DSA )
Questions:
- DSA - 2 medium questions
- Jump game 2
- Find if Array Can Be Sorted
You are given an array of positive integers. In one operation, you can swap any two adjacent elements if they have the same number of set bits. You are allowed to do this operation any number of times (including zero). Return true if you can sort the array, else return false.
Example 1:
Input: nums = [8,4,2,30,15]
Stack = [2,15]
Output: true
- Some time left so asked LLD question
- Design a Fintech Loan System
X is a fintech company offering 2 different types of loan under scheme_1 and scheme_2. scheme_2 offers lower interest rates.
Every customer joins scheme_1 first. Once they pay off their first loan in any scheme they are rewarded with points.
10% customers with highest rewards automatically gets upgraded to scheme_2.
Product also requires a way to manually offer a scheme to a group of customers.
If the customer has an open loan under any scheme, we don’t want to offer them another scheme until they pay off the open loan.
We want to maintain the history of the offered schemes.
- Design a Fintech Loan System
Candidate's Approach
No approach provided.
Interviewer's Feedback
No feedback provided.
Round 3 ( System Design )
Questions:
In this section, we will design a Payment system that is responsible for disbursing the money to user’s bank account via Third Party Bank API. Some assumptions are: - initial acknowledgement from 3rd party bank api is fast - the actual process from 3rd party bank api could take up to several hours to complete Metrics: - 500,000 records per day Discussion topics: - DB choice & design - API design - overall system design & flow
Candidate's Approach
No approach provided.
Interviewer's Feedback
No feedback provided.
Round 4 ( LLD )
Questions:
Design book my show. The system should allow users to view movies playing in different cinemas, select a showtime, choose seats, and make a booking. Focus on the booking module of the system. Requirements: List Movies: Users should be able to view movies currently playing in different cinemas. They should be able to select a movie to view its details including available showtimes. Choose Showtime and Cinema: After selecting a movie, users should be able to choose a cinema and a showtime for which they want to book tickets. Seat Selection: Users should be able to select one or more seats for the chosen showtime. The system should display available seats and should update this information in real-time as users book or release seats. Booking Confirmation: After selecting their seats, users proceed to confirm their booking by making a payment. Upon successful payment, the booking should be confirmed, and an e-ticket should be generated. Handle Concurrent Bookings: The system should handle concurrent seat bookings where multiple users might attempt to book the same seat at the same time.
Candidate's Approach
No approach provided.
Interviewer's Feedback
No feedback provided.
Verdict: Selected
Compensation details: Compensation Discussion