Status: 0.7 YOE, B.Tech from Tier-3 (2020 passout)
Position: SDE1 at GRAB
Location: Bangalore, India
Date: Oct-Nov 2021
Background in problem solving :
Note : Each Round was 1 hour long.
Interview Experience:
Online Assessment : There were three questions in OA.
Systems Design : This round was taken by two interviewers. They started with general introductions which were soon followed by a question. The question was to design Microsoft Teams like Employee Report System. I had to implement 5 APIs. APIs included providing all reportees for a manager, direct manager to an employee, removing a manager and redirecting all succeeding employees to higher managers and employee count etc. It was more of a machine coding/ LLD kind of round as I had to implement it using the OOPS principle. I used a graph algorithm to solve the problem. The follow up discussion was to preprocess and cache the values and provide faster results when the upcoming requests for an API is huge.
The round went pretty well. Some other follow up questions on Python, Operating Systems, Stack, Heap and why GRAB.
Data Structures and Algorithms: I was pretty confident in DS and Algo.
Low Level Design : He asked me to implement an In Memory Cache along with implementing Least Frequently Used (LFU) eviction policy. I had never seen the question. So I, with many hints, came up with a heap based inefficient solution.
This round was pretty difficult as we had to implement the in memory cache using SOLID/OOPS principles and along with it writing the code for LFU. I got mixed reviews for the round.
Hiring Manager: Went pretty well. Discussion on past projects, work in current company, Microservices, Concurrency, DBMS, OS, REST, Designing BookMyShow data model etc.
Thoughts: I feel that the LLD round was a bit too difficult. Coming up with LFU and writing the algorithm along with implementing the cache isn't practical. Other than that every round went really well and got positive reviews for them. The interviewers were helpful.
Verdict : Rejected (due to LLD Round)
PS: This is my first post on leetcode. Please provide feedback to improve if I missed anything.
Hope it helps.