Chime

Chime Software Engineer Interview Questions

17+ questions from real Chime Software Engineer interviews, reported by candidates.

17
Questions
2
Round Types
8
Topic Areas

Round Types

Onsite 10 Phone 7

Top Topics

Questions

## Problem Given stock prices over days, find the maximum profit from a single buy-sell transaction. ## Likely LeetCode equivalent LeetCode 121 - Best Time to Buy and Sell Stock. ## Tags arrays, greedy, dynamic_programming

## Problem Build a simplified credit card processing system. Implement the following operations: - `add_card(name, limit)` -- create a card with given credit limit. - `charge(name, amount)` -- charge the card; silently ignore if it would exceed the limit. - `credit(name, amount)` -- apply a payment (can go above zero, i.e., a credit balance). - `summary() -> list[str]` -- return each card's name and current balance, sorted by name. ```python class CreditCardSystem: def add_card(self, name: str, limit: int) -> None: ... def charge(self, name: str, amount: int) -> None: ... def credit(self, name: str, amount: int) -> None: ... def summary(self) -> list[str]: ... ``` **Example:** ``` sys.add_card("Tom", 1000) sys.charge("Tom", 500) sys.charge("Tom", 800) # ignored -- would exceed limit sys.credit("Tom", 200) sys.summary() -> ["Tom: $300"] ``` ## Follow-ups 1. Operations on an unknown card name -- how should the system handle them? 2. Add an interest calculation method: `apply_interest(rate)` adds `balance * rate` to each positive balance. 3. How would you persist this system to disk so it survives restarts? 4. Concurrency: two threads charge the same card simultaneously. How do you prevent a race condition?

## Problem Given an array of n-1 integers in range 1 to n, find the one missing number using sum formula or XOR. ## Likely LeetCode equivalent LeetCode 268 - Missing Number. ## Tags arrays, math, hash_table

## Problem Design a food rating system that supports updating ratings and querying the highest-rated food in a cuisine. ## Likely LeetCode equivalent Similar to LC 2353 but not confirmed as identical. ## Tags hash_table, heap, design

## Problem Given a list of buildings where each building is `[left, right, height]`, return the skyline silhouette as a list of `[x, height]` key points. A key point marks where the visible height changes. ```python def get_skyline(buildings: list[list[int]]) -> list[list[int]]: pass ``` **Example:** ``` buildings = [[2,9,10],[3,7,15],[5,12,12],[15,20,10],[19,24,8]] output -> [[2,10],[3,15],[7,12],[12,0],[15,10],[20,8],[24,0]] ``` ## Approach Sweep-line + max-heap. At each event point (building start or end), update a max-heap of active heights. Emit a key point whenever the current maximum height changes. O(n log n). ## Follow-ups 1. What data structure would you choose for the active-height set if you also need efficient deletions? (Hint: lazy deletion on a heap vs. a sorted multiset.) 2. Two buildings share the same left edge. How do you break ties in your event ordering? 3. Extend to 3D: given box footprints and heights, project the silhouette onto the X-axis. 4. You receive buildings as a stream. How do you output skyline updates incrementally?

## Problem Given a phone number string, return all possible letter combinations using a T9 keypad mapping via backtracking. ## Likely LeetCode equivalent LeetCode 17 - Letter Combinations of a Phone Number. ## Tags backtracking, strings, recursion

## Problem Find the length of the longest strictly increasing path in a 2D matrix, moving in four directions. ## Likely LeetCode equivalent LeetCode 329 - Longest Increasing Path in a Matrix. ## Tags matrix, dynamic_programming, graph, recursion

## Problem Select k engineers to maximize team performance defined as sum of speeds times minimum efficiency, using a heap-based greedy approach. ## Likely LeetCode equivalent LeetCode 1383 - Maximum Performance of a Team. ## Tags heap, greedy, sorting

## Problem Find the mine that, when detonated, triggers the most chain explosions given each mine has a blast radius. ## Likely LeetCode equivalent LeetCode 2101 - Detonate the Maximum Bombs. ## Tags graph, bfs, arrays

## Problem Given an array of candy flavors, find the number of unique flavors remaining after removing K consecutive candies using a sliding window. ## Likely LeetCode equivalent No direct unambiguous LC match. ## Tags sliding_window, hash_table, arrays

## Problem You are given a list of `(employee, manager)` pairs representing a company org chart. The root node has no manager. Print the hierarchy as an indented ASCII tree where each level of depth adds 2 spaces. ```python def print_hierarchy(pairs: list[tuple[str, str]]) -> None: pass ``` **Example:** ``` pairs = [("Bob","Alice"),("Carol","Alice"),("Dave","Bob"),("Alice",None)] output: Alice Bob Dave Carol ``` ## Approach Build an adjacency list (parent -> children). DFS from the root, passing current depth to compute indent. Sort children alphabetically for determinism. ## Follow-ups 1. What if the input contains a cycle (data error)? How do you detect and report it? 2. The company has 1 million employees. The recursion overflows the call stack. How do you convert the DFS to iterative? 3. Add the ability to print only the subtree rooted at a given employee. 4. Output valid JSON instead of ASCII, preserving the nested hierarchy structure.

## Problem Guess a secret number or value using binary search or interactive API calls to minimize guesses. ## Likely LeetCode equivalent No direct unambiguous match. ## Tags binary_search, math

## Problem Given a sentence and a screen of rows x cols, count how many times the sentence can fit on the screen. ## Likely LeetCode equivalent LeetCode 418 - Sentence Screen Fitting. ## Tags dynamic_programming, strings

## Problem Traverse or generate an m x n matrix in spiral order. ## Likely LeetCode equivalent LeetCode 54 - Spiral Matrix. ## Tags matrix, arrays

## Problem Find the maximum sum of non-adjacent elements in an array, a classic house-robber style DP problem. ## Likely LeetCode equivalent LeetCode 198 - House Robber. ## Tags dynamic_programming, arrays

## Problem Implement a T9 phone keyboard input method that maps digit sequences to possible word suggestions. ## Likely LeetCode equivalent No direct unambiguous match. ## Tags strings, hash_table, backtracking

## Problem Determine if a partially filled 9x9 Sudoku board is valid according to row, column, and box constraints. ## Likely LeetCode equivalent LeetCode 36 - Valid Sudoku. ## Tags backtracking, hash_table, matrix

What Chime Looks for in Software Engineer Interviews

Chime Software Engineer interviews are calibrated against the level and scope expected of the role. Across 17+ verified candidate reports on LeakCode, the consistent signals interviewers look for: clear problem decomposition before coding, explicit complexity reasoning, structured handling of edge cases, and the ability to articulate trade-offs between two reasonable approaches.

The discriminator between candidates who advance and candidates who do not is rarely the final correctness of the solution. It is the path to the solution: did you ask clarifying questions, did you state your approach before coding, did you handle edge cases without prompting, and did you communicate your reasoning throughout. Reports tagged "no hire" frequently cite a working solution with poor communication; reports tagged "strong hire" cite clear thinking even when the final solution was incomplete.

How To Use This Question Set

Real interview reports are a calibration tool, not a memorization target. Companies update their question pools every 2-4 months; memorizing exact problems risks misleading you when the interviewer uses a variant. The high-leverage use: identify the patterns that appear repeatedly in Chime Software Engineer reports, practice those patterns on similar (not identical) problems, and use the reports to understand the interviewer's typical follow-up depth.

Filter the questions below by round type, difficulty, and recency. Focus first on reports from the past 6-12 months; older reports may reference questions that have since rotated out of Chime's pool. Reports tagged with quantified difficulty (e.g., "medium-hard") are higher-signal than reports without difficulty tags.

Round-by-Round Expectations

Chime Software Engineer loops typically span 4-6 rounds across phone screens and on-site or virtual on-site interviews. The structure varies by company: some run 1 recruiter screen + 1 technical phone + 3-4 on-site rounds; others run 1 recruiter screen + 1 OA + 4-5 on-site rounds. The recruiter screen is logistics and culture-light; the technical phone screen is medium-difficulty coding; the on-site loop covers coding, system design (at L4+ levels), and behavioral rounds.

Each round is designed to surface a specific signal. Coding rounds: correctness, code quality, complexity reasoning, communication. System design rounds: requirements clarification, design judgment, operational thinking. Behavioral rounds: ownership scope, leadership, ambiguity tolerance, conflict navigation. Strong candidates explicitly hit each signal dimension out loud during the round; weak candidates focus only on solving the prompt.

Common Interview Mistakes At This Combination

Reports tagged "no hire" at Chime Software Engineer commonly cite: jumping into code without clarifying requirements, coding silently for 10+ minutes without verbalizing approach, missing edge cases (empty input, single element, very large input, overflow), and producing a working solution that the candidate cannot explain or refactor when probed. Strong candidates avoid these patterns by following a consistent template: clarify, verbalize approach, code with narration, test with examples.

Behavioral and design rounds have their own failure modes. Behavioral: stories that use "we" instead of "I" diluting individual signal, stories with no quantified outcome, defensiveness when probed about failure. Design: not asking clarifying questions, not stating requirements out loud, designing for a single server when the prompt clearly implies scale, ignoring operational concerns (deployment, monitoring, rollback). These show up in roughly half of Chime Software Engineer interview retrospectives on LeakCode.

See All 17 Chime Software Engineer Questions

Full question text, answer context, and frequency data for subscribers.

Get Access