Snap·Software Engineer·Technical Phone Screen
Apr 2026
Snapchat SWE interview that went pretty deep into co-occurrence counting, which I wasn't fully expecting. The question started simple and then kept expanding into streaming, memory constraints, and complexity analysis. Left feeling like I handled the code okay but fumbled some of the design discussion.
- Given a stream of purchase orders (each order is a list of product IDs bought together), implement a function that returns the k products most frequently bought alongside a given product ID. Ties should be broken by smaller product ID. Then discuss how you'd handle streaming updates, memory limits for large product ID spaces, and the time/space complexity of both building and querying the co-occurrence data.
“I started with the batch case, used a dict of dicts to store co-occurrence counts, and that part went fine.” The rest of the author's notes on Software Engineer interview at Snap, Technical Phone Screen round, covers how they worked through the question, what the panel pushed back on, and what they would do differently.
View Post