Phone Screen
Coding: Merge products by category. Given a bunch of tuples representing two products being in the same category, with transitivity, find how many categories there are in the end and the size of each group. Classic Union-Find — I solved it with BFS instead and it also passed.
Onsite (4 rounds)
System Design: Design a ride-hailing app. The core focus was on high-frequency GPS writes from the driver side (dedup/throttling), and geospatial indexing — Quadtree vs H3 tradeoffs, and the Redis GEO caching mechanism.
Coding 1: Classic graph BFS problem — a course schedule question, checking for conflicts and outputting the scheduling order. Straight-up Topological Sort. After I finished that, they also asked a prefix sum question, something like finding a subarray that sums to zero — they only wanted the approach, didn't have me write code for it.
Coding 2: String data stream. Find all anagrams of a target word in a stream in real time. I solved it with a fixed-size sliding window plus a frequency array, paying attention to the stream's boundary conditions.
OOD/Coding: Implement a simplified single-machine Pub/Sub system. Users can subscribe to topics, with priority.
Wishing everyone gets the offer they want!
Discussion
Loading comments…