Current Details:
Education: B.tech from NIT
Experience: SDE 2 with 3 years 3 months in product based companyI applied through referral. After a week got a call from recruiter for basic details and discuss interview process.
First round: Machine Coding Round
Recruiter shared problem statement through mail and deadline to submit working solution was 24 hours.
Problem statement:
Design and implement a Multiple Level Cache Management System with N levels: L1,L2,...Ln. Each layer will store Key-Value pairs of data. L1 is the top most layer with the most priority. LN is the last layer with least priority. Each layer has its capacity, read time, write time.
Mandatory Requirements:
1. READ KEY Operation: Read will start from L1 level. Keep doing this until the value of KEY is
found at any level or the last level has been reached. If the value of KEY is found at any level, then
this VALUE should also be written into all previous levels of cache which have higher priority than
this level. Total Read time is the sum of Read time of all levels where READ operation was
attempted and Write time of all levels where WRITE operation was attempted. You have to print the
VALUE of KEY and total time taken to read it.
2. WRITE KEY Operation: Write will start from L1 level. Write the value of KEY at this level and all levels below it. If at any level value of KEY is the same as the given VALUE then don’t write again and return. Total Write time is the sum of WRITE time of all levels where WRITE operation was attempted and Read time of levels where READ operation was attempted. You have to print the total time taken to write this KEY-VALUE information.
3. STAT Operation
Stat operations prints three information:
a) What is the current usage of each level of cache, i.e. Filled / Total size
b) What is the average read time of this Multi-Level Cache System for last 5 READ operation?
c) What is the average write time of this Multi-Level Cache System for last 5 WRITE operation?
Good to Have/Extensions
1. Implementation of storage change based on Level
2. Implement Cache Manager as a library
3. Extend STAT Operations data pointsAfter code submission, recruiter scheduled an evaluation round. Below things were the highlights of this round:
Second round: DSA Round
1. number of provinces
2. rain water trapping problem
3. minimum no. of platforms requiredThird round: Design Round
Design a subscription suggestion and management service for an existing ecommerce application.
Requirement:
1. On Order summary/Cart page of an ecommerce application, we should suggest a subscription (gold/silver/platinum etc.)based on amount of the cart. If user modifies the cart, subscription should be suggested accordingly.
2. The subscription should be added as a cart item with by default not selected.
3. User can select or deselect the subscription and based on this the amount of the cart should also change.
4. Orchestration and management of this subscription.
We have discussed mainly about API Designing, database schema design, system orchestration, microservices seggregation.Fourth round: Hiring Manager Round
Detailed discussions about my past experiences, projects. Apart from this some behavioral questions like below:
Every week only one round was scheduled. Complete process took more than a month. After the hiring manager round, I got a call after a week that I am selected and there is a offer discussion call with hiring manager. This was offer discussion call where the compensation was discussed.
Compensation Details: https://leetcode.com/discuss/compensation/6025443/Phonepe-or-Software-Engineer-or-Pune
Offer accepted.