Carousell logo

Growth · Software Engineer Interview Guide

Sign up to see ATSHeadquartered in Singapore

Interview language: English

How to Pass the Carousell Software Engineer Interview in 2026

The Carousell DNA (TL;DR)

Carousell's 'Act like an owner' principle guides the evaluation of candidates, seeking those who demonstrate initiative and impact within their domain. Interviewers grade for resourcefulness in navigating constraints, particularly in scaling the Carousell marketplace or improving user trust with features like CarouPay.

The Carousell 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 Carousell interview outcomes, avoid these common traps:

  • Not handling edge cases like empty lists, invalid price ranges, or K being larger than the number of unique categories.
  • Focusing on syntax errors instead of logical or runtime errors.
  • Using a simple polling mechanism instead of push notifications.
  • Sorting the entire stream every time the median is requested.

Test Yourself: Real Carousell Questions

Three real prompts pulled from our database.

Type · design

How would you design a real-time notification system for Carousell? Users should receive timely alerts for new messages, offers, and price drops on items they follow. Consider delivery guarantees and fan-out.

Type · ownership

Tell me about a time you encountered a significant technical challenge or bug in a production system that was impacting users. What steps did you take to diagnose, resolve, and prevent recurrence?

Type · code-clarity

Refactor this piece of code [provide a complex, poorly structured function] to improve its readability, maintainability, and testability, while preserving its original functionality. Explain your changes.

+ many more questions, signals, and worked examples

Sign up to unlock the full Carousell grading rubric

Unlock the Carousell rubric, free

Carousell Interview Question Bank

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

9 of 14 questions shown

1

Recruiter Screen

1
  1. 1

    Type · motivation

    What interests you about working at Carousell, specifically within our retail tech domain, and what kind of impact do you hope to make here as a Software Engineer?
2

Coding Screen

3
  1. 2

    Type · algorithmic

    Given a list of product listings, each with a price and a category, write a function to find the top K most frequent categories within a given price range. Assume prices are integers.
  2. 3

    Type · algorithmic

    Design a function that takes a list of user search queries and returns a list of suggested related queries. Consider common misspellings, synonyms, and popular related searches.
  3. + 1 more questions in this round (sign up to unlock)
3

System Design

3
  1. 4

    Type · design

    Design a system to recommend similar products to users based on their browsing history and purchase data on Carousell. Consider scalability for millions of users and products.
  2. 5

    Type · design

    How would you design a real-time notification system for Carousell? Users should receive timely alerts for new messages, offers, and price drops on items they follow. Consider delivery guarantees and fan-out.
  3. + 1 more questions in this round (sign up to unlock)
4

Onsite Coding

4
  1. 6

    Type · algorithmic

    Implement a function to efficiently find the median of a stream of numbers. The numbers arrive one by one, and you need to be able to query the median at any point.
  2. 7

    Type · algorithmic

    Given a large dataset of user interactions (views, clicks, purchases) on product pages, design an algorithm to identify 'sessions' of user activity. A session ends after a period of inactivity (e.g., 30 minutes).
  3. + 2 more questions in this round (sign up to unlock)
5

Behavioral / Leadership

3
  1. 8

    Type · ownership

    Tell me about a time you encountered a significant technical challenge or bug in a production system that was impacting users. What steps did you take to diagnose, resolve, and prevent recurrence?
  2. 9

    Type · collaboration

    At Carousell, we often balance immediate feature delivery with long-term marketplace stability. Tell us about a time you had to advocate for technical debt reduction or infrastructure refactoring while the product team was pushing for a rapid feature launch. How did you align the technical requirements with the business urgency?
  3. + 1 more questions in this round (sign up to unlock)

Unlock all 14 Carousell questions, free

No credit card. Every question with its framework, the grading signals interviewers score against, and a worked answer for each.

Unlock all 14 Carousell questions

Interview tracks at Carousell

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

Compare Carousell with similar employers

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

Practice Carousell interviews end-to-end

Sample answers

What a strong answer to these Carousell interview questions shows.

How would you design a real-time notification system for Carousell? Users should receive timely alerts for new messages, offers, and price drops on items they follow. Consider delivery guarantees and fan-out.

A strong answer shows: Use of message queues (e.g., Kafka, RabbitMQ) for decoupling and buffering.; Strategies for managing user connections and push notifications (e.g., WebSockets, APNS, FCM).; Consideration of fan-out patterns and efficient message distribution.; Discussion of latency, throughput, and fault tolerance..

Tell me about a time you encountered a significant technical challenge or bug in a production system that was impacting users. What steps did you take to diagnose, resolve, and prevent recurrence?

A strong answer shows: Clear description of the problem and its impact.; Systematic approach to diagnosis.; Effective resolution and validation of the fix.; Proactive steps taken to prevent future occurrences (e.g., adding monitoring, improving tests, code changes).; Demonstration of ownership throughout the process..

Frequently asked questions

WorkfiveExplore careers on Workfive

Unlock the free Carousell interview guide

Sign up