grab logo

Grab Interviews

5 experiences105 reads17 questions20% success rate
GRAB SSE
grab logo
Grab
SDE IIBangalore
July 2, 20256 reads

Summary

This post details my 3-round interview experience at Grab for an SSE role, covering DSA, System Design, and a behavioral round.

Full Experience

Date : March 2025

Total number of rounds : 3
It was the hiring drive

Round 1: DSA
https://leetcode.com/problems/paint-house-iii/

Round 2 : System design
Design UPI like system.

Round 3 : HM
Mostly behavioural


-------
Verdict : https://leetcode.com/discuss/post/6742731/grab-sse-bangalore-by-anonymous_user-ey68/

Interview Questions (2)

Q1
Paint House III
Data Structures & Algorithms

The problem asked was Paint House III. The full problem statement can be found at the provided LeetCode link.

Q2
Design a UPI-like System
System Design

Design a system similar to India's Unified Payments Interface (UPI).

Grab | SSE | Bangalore | Offer
grab logo
Grab
SDE IIBangalore
April 21, 20257 reads

Summary

I interviewed for a Senior Software Engineer (SSE) position at Grab in Bangalore, completing three rounds covering data structures, algorithms, system design of payment systems, and leadership principles, ultimately receiving an offer.

Full Experience

Round 1 (~1 hours)

Problem 1: Graph colouring problem. Dont remember exact problem but related to bipartite graphs and dividing graph into two. Solved with solution. Medium

Problem 2: Linked list problem. Deep copying a linked list with Next pointer and Random pointer on every node. Solved with solution with a follow up (required some help here). Medium

Additional: Brief discussion on my experience with scale and payment systems.

Round 2 (~1.5 hours)

Focus: HLD of payment systems.

We started with a simple payment service and then had in-depth discussion on availability and reliability aspects of payment systems.

Also discussed a scheduler service.

Used excalidraw for diagrams and texts.

Round 3 (~1.5 hours)

Focus: HLD of Payment systems.

Discussion around vendor integration and challenges faced in order completion flow. On reconciliation systems.

Emphasis was placed on system scalability, fault tolerance, and real-world trade-offs.

Used excalidraw for diagrams and texts.

Discussion on LPs like disagree and commit, leading by example etc.

Offer details

https://leetcode.com/discuss/post/6673237/grab-sse-offer-bangalore-by-littlestar64-8rfy/

Interview Questions (5)

Q1
Bipartite Graph Coloring
Data Structures & AlgorithmsMedium

A graph colouring problem related to bipartite graphs, focusing on dividing the graph into two sets.

Q2
Deep Copy Linked List with Random Pointer
Data Structures & AlgorithmsMedium

A linked list problem requiring deep copying a linked list where each node has a 'next' pointer and a 'random' pointer.

Q3
High-Level Design of a Payment System with Scheduler
System Design

Design a payment service, discussing availability, reliability aspects, and a scheduler service. Diagrams were used.

Q4
High-Level Design of Payment System with Vendor Integration and Reconciliation
System Design

Design a payment system, focusing on vendor integration, challenges in order completion flow, and reconciliation systems. Emphasis on system scalability, fault tolerance, and real-world trade-offs. Diagrams were used.

Q5
Behavioral Questions on Leadership Principles
Behavioral

Discussion on various leadership principles (LPs) such as 'disagree and commit' and 'leading by example'.

Grab | Senior Software Engineer | Interview Experience
grab logo
Grab
Senior Software EngineerBangalore6 yearsOffer
February 18, 202544 reads

Summary

I recently interviewed at Grab for a Senior Software Engineer position in Bangalore. The process included four rounds covering Data Structures & Algorithms, System Design, Hiring Manager discussion, and a Cultural Fitment round, ultimately leading to an offer.

Full Experience

I had the opportunity to interview at Grab for a Senior Software Engineer role in Bangalore, bringing approximately 6 years of experience in backend development. The interview process was structured into four distinct rounds.

Round 1: Data Structures & Algorithms (1 hour)
This round focused on my problem-solving skills with two exact LeetCode problems. I was asked to solve Longest Palindromic Substring and Trapping Rain Water.

Round 2: System Design - High-Level Design (1 hour)
This was a challenging and engaging round. I was tasked with designing a payment system, specifically how it would operate when a user attempts to pay a merchant via card using a QR code. The interviewer presented three distinct scenarios to consider:

  • Both the merchant and the user are onboarded on Grab.
  • The merchant is onboarded, but the user is not.
  • The user is onboarded, but the merchant is not.
The discussion delved deep into the mechanics of intermediary bodies like NPCI (relevant for UPI in India) and similar systems in other countries, such as Paynow in Singapore. I was also asked to detail the schema for such a system.

Round 3: Hiring Manager (1 hour)
This round revolved around my past experiences and projects. It primarily involved standard project-related and behavioral questions, where I discussed my contributions and challenges in previous roles.

Round 4: Cultural Fitment (30 minutes)
The final round was a standard cultural fitment interview, designed to assess how well my values and working style aligned with Grab's culture.

Following these rounds, I received an offer from Grab.

Interview Questions (3)

Q1
Longest Palindromic Substring
Data Structures & AlgorithmsMedium

Given a string s, return the longest palindromic substring in s.

Q2
Trapping Rain Water
Data Structures & AlgorithmsHard

Given n non-negative integers representing an elevation map where the width of each bar is 1, compute how much water it can trap after raining.

Q3
Design a Payment System (Grab Context)
System Design

I was asked to design how a payment system would work, considering a user, a merchant's QR, and the user attempting to pay the merchant via card. The design should specifically address three scenarios:

  • Merchant & user both onboarded on Grab.
  • Merchant is onboarded but the user is not.
  • User is onboarded but the merchant is not.
The discussion also delved into the workings of intermediary bodies like NPCI (India's UPI) and similar systems in other countries like Paynow (Singapore), and I was asked for the schema.

GRAB | SDE1 | Bangalore | NOV-DEC 2021 [REJECT]
grab logo
Grab
SDE IBangalore1 yearsRejected
December 26, 202124 reads

Summary

I interviewed for an SDE I role at Grab in Bangalore. Despite performing well in the coding rounds, I struggled with the system design question and was ultimately rejected.

Full Experience

I was referred by a friend for an SDE I position at Grab. After getting a call from recruiters, I proceeded with the virtual interview rounds.

ROUND 1: DS/Algo

The interviewer introduced himself and immediately presented two coding questions on an online IDE. The first problem was Next Greater Element III, which I struggled with initially, taking a considerable amount of time to find the most optimal solution. The interviewer was very helpful throughout, and I eventually coded it quickly. For the second question, Subarray Sum Equals K, I had encountered it before, so I quickly provided multiple approaches, including the optimal one, and coded it. The interviewer seemed convinced.

ROUND 2: DS/Algo

Two interviewers joined, though only one was active. After introductions, I discussed my current project and work, answering a few simple questions mainly focused on understanding my responsibilities. Then, I was asked to solve Merge k Sorted Lists. I implemented a heap-based approach, and after taking some time to code it, the interviewer seemed satisfied. We discussed alternative solutions and complexity handling, including the complexity of heap creation and its implementation, touching upon Java's PriorityQueue. This round also went quite well.

ROUND 3: Design

This was the round where I believe I faltered. The interviewer, who seemed a bit rude, immediately asked me to design an ATM machine without any prior introduction. Lacking significant experience in system design, I struggled immensely. The interviewer offered no assistance, perhaps expecting me to generate ideas independently. I asked numerous clarifying questions due to my confusion. I sensed during the interview that I wasn't performing well, panicked, and eventually gave up. We briefly discussed some details, but I couldn't answer many of his questions, and even now, I'm unsure how to categorize this as HLD or LLD. I was, and still am, very confused about this round.

ROUND 4: Manager/Behavioral

The interviewer introduced himself and engaged me in a detailed discussion about my work, the technologies I use (DB, cache, AWS, etc.), and my project. I had already prepared a template for explaining my current and college projects, which proved very helpful. This round concluded within 30 minutes.

Unfortunately, I received a quick rejection email without any call or feedback.

Interview Questions (4)

Q1
Next Greater Element III
Data Structures & AlgorithmsMedium

Given a positive 32-bit integer n, you need to find the smallest 32-bit integer which has exactly the same digits in n and is greater in value than n. If no such positive 32-bit integer exists, you should return -1.

Q2
Subarray Sum Equals K
Data Structures & AlgorithmsMedium

Given an array of integers nums and an integer k, return the total number of continuous subarrays whose sum equals to k.

Q3
Merge k Sorted Lists
Data Structures & AlgorithmsHard

You are given an array of k linked-lists lists, each sorted in ascending order. Merge all the linked-lists into one sorted linked-list and return it.

Q4
Design an ATM Machine
System Design

I was asked to design an ATM machine without any introduction. I struggled significantly with this question, asking many clarifying questions due to my lack of experience in system design. The interviewer was unhelpful, and I ultimately panicked and gave up.

Preparation Tips

I prepared a detailed template for explaining my current and college projects, which significantly helped me articulate my experience clearly during the managerial/behavioral round. My key advice for others is to be adequately prepared for basic system design questions and, crucially, to try and remain calm and avoid panicking during challenging rounds.

GRAB | SDE-1 | Bangalore, India | Nov 2021 [Reject]
grab logo
Grab
SDE IBangalore, India0.7 yearsRejected
December 22, 202124 reads

Summary

I interviewed for an SDE-1 position at Grab in Bangalore, India, in late 2021. Despite performing well in most technical rounds, I was ultimately rejected due to my performance in the Low-Level Design round, which involved implementing an LFU cache.

Full Experience

I have approximately 0.7 years of experience, holding a B.Tech from a Tier-3 institution, having graduated in 2020. My background in problem-solving is extensive, with over 1000+ LeetCode questions solved, an 1800+ rating on Codechef, and a Codeforces Specialist title.

Each interview round was meticulously structured for 1 hour.

Online Assessment:

The online assessment consisted of three questions administered on Codility, where I achieved a perfect 100% score. The problems included an array-based question (LeetCode Medium), a binary tree with path tracing problem (LeetCode Medium), and a graph theory question (LeetCode Medium).

Systems Design:

This round was conducted by two interviewers. After a brief period of general introductions, we delved into the core problem: designing a Microsoft Teams-like Employee Report System. My task was to implement five specific APIs. These APIs covered functionalities such as providing a list of all reportees for a given manager, identifying an employee's direct manager, removing a manager and reassigning their succeeding employees to higher-level managers, and calculating various employee counts. This round leaned heavily towards a machine coding or Low-Level Design (LLD) style, requiring implementation using Object-Oriented Programming (OOP) principles. I utilized a graph algorithm to address the problem. The follow-up discussion explored strategies for preprocessing and caching values to enhance performance for high-volume API requests. Additional discussions touched upon Python, Operating Systems, Stack, Heap, and my motivations for joining Grab. Overall, I felt this round went quite well.

Data Structures and Algorithms:

As I was particularly confident in Data Structures and Algorithms, I approached this round with enthusiasm. I successfully solved a binary tree-based question (LeetCode Medium) within 10 minutes and an array-based question (LeetCode Medium) in another 10 minutes. A follow-up question, requiring an in-place solution for the array problem, took me an additional 20 minutes. With time still remaining, the interviewer presented another string-based question (LeetCode Medium), which I also solved with an optimal approach.

Low Level Design:

In this round, I was tasked with implementing an In-Memory Cache incorporating the Least Frequently Used (LFU) eviction policy. This was a new problem for me, and despite receiving numerous hints, I could only manage to devise an inefficient, heap-based solution. This round proved to be quite challenging, demanding not only the implementation of an in-memory cache but also the intricate LFU algorithm, all while adhering to SOLID/OOP principles. My performance in this round garnered mixed reviews.

Hiring Manager:

The hiring manager round progressed smoothly. We engaged in discussions about my past projects, my current responsibilities, and various technical concepts such as Microservices, Concurrency, Database Management Systems (DBMS), Operating Systems (OS), and REST principles. A specific design question also arose concerning the data model for a system akin to BookMyShow.

Verdict:

Ultimately, I was rejected, primarily due to my performance in the Low-Level Design round. I found the LLD round to be overly difficult, as implementing a complete LFU cache from scratch with full adherence to SOLID/OOP principles seemed impractical within the given time constraints. However, I received positive feedback for all other rounds, and I appreciated the helpful demeanor of the interviewers.

Interview Questions (3)

Q1
Design Employee Report System (Microsoft Teams-like)
System Design

Design a Microsoft Teams-like Employee Report System. I was required to implement 5 APIs that would handle functionalities such as providing all reportees for a manager, identifying the direct manager of an employee, managing the removal of a manager and redirecting their reports to higher managers, and calculating employee counts. The implementation should follow OOPS principles (similar to a machine coding/LLD exercise). Follow-up discussions involved strategies for preprocessing and caching values to ensure faster results for high-volume API requests.

Q2
Implement In-Memory Cache with LFU Eviction Policy
Low Level Design

Implement an In-Memory Cache along with the Least Frequently Used (LFU) eviction policy. This task required applying SOLID/OOPS principles throughout the implementation of both the cache and the LFU algorithm.

Q3
Design BookMyShow Data Model
System Design

During the hiring manager round, I was asked to discuss and design the data model for a system similar to BookMyShow.

Preparation Tips

My preparation for the interviews involved extensive problem-solving practice. I completed over 1000+ LeetCode questions, achieved an 1800+ rating on Codechef, and became a Codeforces Specialist, which significantly bolstered my confidence in algorithmic challenges.

Have a Grab Interview Experience to Share?

Help other candidates by sharing your interview experience. Your insights could make the difference for someone preparing for their dream job at Grab.