Cabify logo

Growth · Software Engineer Interview Guide

Sign up to see ATS

How to Pass the Cabify Software Engineer Interview in 2026

The Cabify DNA (TL;DR)

The 'Why Cabify' interview round often probes for alignment with our mission to make cities better, emphasizing how candidates would contribute to improving urban mobility. They assess your ability to navigate complex logistical challenges, particularly in diverse markets like Barcelona or Buenos Aires Ciudad, and your capacity to adapt solutions.

The Cabify Interview Loop

Your onsite loop will typically consist of 5 rounds.

  1. 1

    Round 1

    Recruiter Screen
    Motivation, role fit, logistics.
  2. 2

    Round 2

    Coding Screen
    LeetCode-medium algorithmic problems under time pressure.
  3. 3

    Round 3

    System Design
    Distributed systems, trade-offs at scale, architecture under constraints.
  4. 4

    Round 4

    Onsite Coding
    LeetCode-hard, debugging, code clarity, edge cases.
  5. 5

    Round 5

    Behavioral / Leadership
    Past evidence of ownership, influence, resolving conflict.

The Danger Zone: Top Reasons Candidates Fail

Based on our database of Cabify interview outcomes, avoid these common traps:

  • Blaming the other party or focusing only on their shortcomings.
  • Using Euclidean distance instead of estimated driving time.
  • Inefficient data structure for frequency counting (e.g., linear scan for each lookup).
  • Describing a task that was clearly assigned and expected.

Test Yourself: Real Cabify Questions

Three real prompts pulled from our database.

Type · Architecture

How would you design a notification system to alert drivers about new ride requests? Consider factors like geographic proximity, driver availability, and minimizing notification fatigue.

Type · Edge Cases

Implement a function `get_available_cars(city_id, car_type)` that returns a list of available car IDs. Consider potential issues like database connection errors, invalid city/car types, and race conditions where a car might be assigned between the query and the result.

Type · Algorithm

Given a list of historical ride requests (each with pickup location, dropoff location, and timestamp), write a function to find the N most frequent pickup locations within a given time window. Assume locations can be represented as (latitude, longitude) tuples.

+ many more questions, signals, and worked examples

Sign up to unlock the JobMentis grading rubric

Unlock the rubric

Cabify Interview Question Bank

A sample from our database, grouped by round. Sign up to see the full set.

9 of 18 questions shown

1

Recruiter Screen

1
  1. 1

    Type · Motivation

    What interests you about working on the technical challenges at Cabify, specifically within the transport and mobility sector?
2

Coding Screen

3
  1. 2

    Type · Algorithm

    Given a list of historical ride requests (each with pickup location, dropoff location, and timestamp), write a function to find the N most frequent pickup locations within a given time window. Assume locations can be represented as (latitude, longitude) tuples.
  2. 3

    Type · Algorithm

    Implement a function that takes a list of active driver locations and a list of passenger requests (each with a desired pickup location) and returns a mapping of which driver is best suited to pick up each passenger. 'Best suited' can be defined as the closest driver, considering driving time (not just Euclidean distance). Assume you have a way to get estimated driving times between any two points.
  3. + 1 more questions in this round (sign up to unlock)
3

System Design

3
  1. 4

    Type · Architecture

    Design a real-time driver-passenger matching system for Cabify. Consider scalability, fault tolerance, and latency.
  2. 5

    Type · Architecture

    Design a system to estimate Estimated Time of Arrival (ETA) for passengers. How would you handle real-time traffic, driver behavior, and historical data?
  3. + 1 more questions in this round (sign up to unlock)
4

Onsite Coding

3
  1. 6

    Type · Algorithm

    You are given a stream of ride completion events, each containing `(driver_id, pickup_time, dropoff_time, pickup_location, dropoff_location)`. Design a system to calculate the average ride duration for each driver over the last hour, processing events in real-time. How would you handle potential out-of-order events?
  2. 7

    Type · Code Clarity

    Refactor this Python code for calculating driver earnings, making it more readable, maintainable, and robust. Add comprehensive unit tests.
  3. + 1 more questions in this round (sign up to unlock)
5

Behavioral / Leadership

8
  1. 8

    Type · Conflict Resolution

    Tell me about a time you had a significant disagreement with a cross-functional team member (e.g., engineer, marketer) on a product decision. How did you approach it, and what was the outcome?
  2. 9

    Type · Conflict Resolution

    Tell me about a time you had a significant technical disagreement with a colleague or manager. How did you approach the situation, and what was the outcome?
  3. + 6 more questions in this round (sign up to unlock)

Unlock the full Cabify question bank

Free signup, no credit card. You get every question + the framework, grading signals, and worked answer for each.

Unlock all questions

Interview tracks at Cabify

How Cabify's DNA translates across functions. Pick your role.

Compare Cabify with similar employers

Same DNA, different bar. Browse the closest companies in our database and see how their loops differ.

Practice Cabify interviews end-to-end

FAQ

WorkfiveExplore careers on Workfive