Grab Interview Questions 2026

Published July 22, 2026 · Updated July 22, 2026

10 real interview questions asked at Grab. Covers Data Engineering / Airflow, System Design / Ride Matching, DSA / Arrays, Airflow / Scheduling, SQL / Analytics, Behavioral, Microservices / Communication, Redis / Geospatial, API Testing, System Design / Surge Pricing. Reported by engineers who went through the Grab process.

Questions Interview GuidesInterview Guides
10 questions
196 engineers asked
307 upvotes

Data Engineering / Airflow (1)

Grab Hard Scenario round 5–8 YearsPython

You need to run a DAG that processes 10,000 files daily — one task per file. How do you design this in Airflow without creating 10,000 static tasks?

↑ 122 upvotes · 95 engineers asked this · Data Engineer

System Design / Ride Matching (1)

Grab Hard System Design round 4-8 yearsSystem DesignDistributed Systems

Design the driver-passenger matching system for a ride-hailing app operating across Southeast Asia, where network connectivity is inconsistent in parts of the region. How does that constraint change your design versus a similar system in a market with reliable connectivity?

↑ 27 upvotes · 15 engineers asked this · Senior SDE

DSA / Arrays (1)

Grab Medium Technical round 2-5 yearsJavaPython

Given an array of ride fare amounts collected over a day, find the maximum sum of any contiguous subarray of exactly k rides (a sliding window problem). Walk through the O(n) approach.

↑ 25 upvotes · 17 engineers asked this · Senior SDE

Airflow / Scheduling (1)

Grab Medium Technical round 2-6 yearsAirflow

Your Airflow DAG needs to process each day's ride data only after all regional data files for that day have landed, but files can arrive up to 6 hours late from some regions. How would you design the trigger logic?

↑ 20 upvotes · 11 engineers asked this · Data Engineer

SQL / Analytics (1)

Grab Medium Technical round 2-5 yearsSQL

Write a query to find, for each city, the percentage of rides that were cancelled within 2 minutes of being booked, given a Rides table with city, booked_at, and cancelled_at.

↑ 22 upvotes · 13 engineers asked this · Data Engineer

Behavioral (1)

Grab Easy HR round 2-6 years

Grab operates across many Southeast Asian markets with different regulatory and infrastructure realities. Tell me about a time you had to adapt a solution because of constraints specific to one market or region.

↑ 18 upvotes · 9 engineers asked this · Senior SDE

Microservices / Communication (1)

Grab Medium Technical round 2-5 yearsMicroservices

Two microservices in your architecture (Trip Service and Payment Service) need to communicate when a trip ends. Would you use synchronous REST calls or an async event, and why?

↑ 19 upvotes · 10 engineers asked this · SDE2

Redis / Geospatial (1)

Grab Medium Technical round 2-5 yearsRedis

How does Redis's GEO command family (GEOADD, GEORADIUS) let you find nearby drivers efficiently, and what data structure underlies it?

↑ 18 upvotes · 9 engineers asked this · SDE2

API Testing (1)

Grab Medium Technical round 1-4 yearsPostman

How would you test that a "cancel ride" API endpoint correctly refunds a rider only when the cancellation happens within the free-cancellation window, and charges a fee otherwise?

↑ 15 upvotes · 7 engineers asked this · QA Engineer

System Design / Surge Pricing (1)

Grab Hard System Design round 4-8 yearsSystem Design

Design a dynamic (surge) pricing system that adjusts fares in near real-time based on local supply and demand, without causing prices to flicker wildly for a rider mid-booking.

↑ 21 upvotes · 10 engineers asked this · Senior SDE

Practice these questions with AI feedback

Get instant grading on your answers, identify your weak areas, and generate a personalised 14-day study plan — all free.

Build my study plan →

Grab interview guides by role

Grab Data Engineer Guide Grab Senior SDE Guide

More companies

Amazon Google Microsoft Flipkart Swiggy Meta Apple Netflix Uber Airbnb Stripe Razorpay PhonePe Paytm Zomato Salesforce Oracle Adobe LinkedIn Atlassian Accenture Deloitte Wipro Infosys TCS Capgemini PayU General Anthropic OpenAI TikTok JPMorgan Walmart Spotify DoorDash Goldman Sachs Revolut Canva Capital One Lyft SAP Siemens Shopify Cognizant LTIMindtree Myntra Hotstar Twitter Snowflake

Frequently asked questions

You need to run a DAG that processes 10,000 files daily — one task per file. How do you design this in Airflow without creating 10,000 static tasks?
You need to run a DAG that processes 10,000 files daily — one task per file. How do you design this in Airflow without creating 10,000 static tasks?
Design the driver-passenger matching system for a ride-hailing app operating across Southeast Asia, where network connectivity is inconsistent in parts of the region. How does that constraint change your design versus a similar system in a market with reliable connectivity?
Design the driver-passenger matching system for a ride-hailing app operating across Southeast Asia, where network connectivity is inconsistent in parts of the region. How does that constraint change your design versus a similar system in a market with reliable connectivity?
Given an array of ride fare amounts collected over a day, find the maximum sum of any contiguous subarray of exactly k rides (a sliding window problem). Walk through the O(n) approach.
Given an array of ride fare amounts collected over a day, find the maximum sum of any contiguous subarray of exactly k rides (a sliding window problem). Walk through the O(n) approach.
Your Airflow DAG needs to process each day's ride data only after all regional data files for that day have landed, but files can arrive up to 6 hours late from some regions. How would you design the trigger logic?
Your Airflow DAG needs to process each day's ride data only after all regional data files for that day have landed, but files can arrive up to 6 hours late from some regions. How would you design the trigger logic?
Write a query to find, for each city, the percentage of rides that were cancelled within 2 minutes of being booked, given a Rides table with city, booked_at, and cancelled_at.
Write a query to find, for each city, the percentage of rides that were cancelled within 2 minutes of being booked, given a Rides table with city, booked_at, and cancelled_at.