Panda Guru LogoPanda
Guru

Phonepe | Software Engineer | Pune | Accepted

Round 1: Machine Coding Round

Questions: 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:

    • 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 operations?
    • c) What is the average write time of this Multi-Level Cache System for last 5 WRITE operations?

Good to Have/Extensions:

  1. Implementation of storage change based on Level
  2. Implement Cache Manager as a library
  3. Extend STAT Operations data points
Candidate's Approach

No approach provided.

Interviewer's Feedback

No feedback provided.


Round 2: DSA Round

Questions:

  1. Number of provinces
  2. Rain water trapping problem
  3. Minimum number of platforms required
Candidate's Approach

No approach provided.

Interviewer's Feedback

No feedback provided.


Round 3: Design Round

Questions: Design a subscription suggestion and management service for an existing ecommerce application.

Requirements:

  1. On Order summary/Cart page of an ecommerce application, we should suggest a subscription (gold/silver/platinum etc.) based on the amount of the cart. If the 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.

Discussion points included API Designing, database schema design, system orchestration, microservices segregation.

Candidate's Approach

No approach provided.

Interviewer's Feedback

No feedback provided.


Round 4: Hiring Manager Round

Questions:

  1. Why do you want to join PhonePe?
  2. Why are you leaving your current company?
  3. Have you encountered any situation where you had a conflict on code reviews with your reviewer and how did you manage?
  4. What does your day look like in your current company?
  5. How would you start and proceed with the development of a new feature? What is Software Development Life Cycle (SDLC)?
  6. What is your onboarding strategy during the first 90 days after joining?
Candidate's Approach

No approach provided.

Interviewer's Feedback

No feedback provided.


Additional Information: Every week only one round was scheduled. The complete process took more than a month. After the hiring manager round, I received a call after a week that I was selected and there was an offer discussion call with the hiring manager.

Compensation Details: Leetcode Compensation Discussion

Offer accepted.