Chime

Chime Software Engineer Phone Screen Questions

8+ questions from real Chime Software Engineer Phone Screen rounds, reported by candidates who interviewed there.

8
Questions
7
Topic Areas
10+
Sources

What does the Chime Phone Screen round test?

The Chime phone screen typically lasts 45-60 minutes and evaluates core Software Engineer fundamentals. Candidates should expect 1-2 algorithmic problems, basic system design discussion at senior levels, and questions about relevant experience. The goal is to confirm technical competence before bringing candidates onsite.

Top Topics in This Round

Chime Software Engineer Phone Screen Questions

I just did a phone screen with Chime and received the hardest coding question I’ve ever seen. Idk if I’m mentally blocked here or this is straight ridiculous. The question was: You are given a string

## 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 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 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 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

See All 8 Questions from This Round

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

Get Access