← Back to Directory

Snap interview notes, page 20 of 22

Large Enterprises

Most of these Snap write-ups come from Software Engineers (117), then Machine Learning Engineers (65) and Data Scientists (18). The most reported rounds are the technical phone screen (149), the system design round (45), the behavioral / leadership round (11) and the product sense round (8).

216 interview notes · updated Jul 2026

Snap·Software Engineer·Technical Phone Screen

Jun 2026
Snapchat SWE interview that was basically one big design question dressed up as a coding problem. They wanted a full LRU cache with per-entry TTL support and expected you to reason through the data structures and tradeoffs live, not just recite LeetCode 146.
  • Design a cache that supports LRU eviction and per-entry TTL. get(key) should return -1 if the key is expired or missing, and accessing a key should refresh its recency. put(key, value, ttl) should insert or update with a TTL and evict expired entries before falling back to LRU eviction when the cache is full. Walk through the data structures you'd use and the complexity of each operation.

“I started with the standard hashmap plus doubly linked list setup for LRU and felt pretty solid until they pushed on the TTL piece.”

View Post

Snap·Software Engineer·Technical Phone Screen

Jun 2026
Snapchat iOS interview, one technical phone screen focused pretty heavily on Swift memory management. Not a brutal round but you really need to know your ARC internals cold.
  • What's the difference between `weak` and `unowned` references in Swift, when would you use each to break a retain cycle, and what actually happens at runtime if you access an `unowned` reference after the object it points to has been deallocated?

“This is one of those questions where you think you know it until someone asks you to explain the implementation side.”

View Post

Snap·Software Engineer·Technical Phone Screen

Jun 2026
Snapchat SWE interview with a BFS/graph traversal problem dressed up as a lock puzzle. The unit testing requirement caught me a little off guard since most coding rounds skip that entirely.
  • You have a 4-digit combination lock starting at '0000'. Each move rotates one digit up or down by 1 with wraparound. Given a target combination and a list of forbidden states you cannot pass through, find the minimum number of moves to reach the target, or return -1 if it's impossible. Then write unit tests covering: target is '0000', forbidden list includes '0000', unreachable targets, duplicate forbidden entries, and large forbidden sets.

“Classic BFS problem at its core but the forbidden states plus wraparound tripped me up at first.”

View Post

Snap·Machine Learning Engineer·Technical Phone Screen

Jun 2026
Snapchat ML Engineer interview with a coding round that leaned more algorithm-heavy than I expected. The main problem was a classic DP string decoding question but they kept pushing with follow-ups until it got pretty uncomfortable.
  • Given a string of digits representing an encoded message where each number maps to a letter (1 to 26), count the number of distinct ways to decode it. Then optimize your solution to run in linear time with constant extra space. Follow-ups included returning the count modulo 1,000,000,007 for very large inputs, and extending the solution to handle streaming input where digits arrive one at a time.

“I got the basic DP solution out fast enough, two variables tracking the last two states, felt good.”

View Post

Snap·Backend Engineer·Technical Phone Screen

Jul 2026
Phone screen for a backend role at Snapchat with two behavioral questions back to back. Pretty standard format but the pairing felt intentional, like they were stress-testing communication and composure at the same time.
  • Describe a time you had to explain a technical concept, decision, or trade-off to someone non-technical, like a PM, executive, or business partner. How did you adjust your message, confirm they understood, and use it to move a decision forward?
  • Tell me about a time something unexpected hit you mid-project or in production, like an incident, a sudden scope change, or a key teammate going missing. Walk through how you triaged, communicated, and got things back on track.

“The part that tripped me up was the 'drive a decision' bit.”

View Post

Snap·Software Engineer·Technical Phone Screen

Jul 2026
Snapchat software engineer interview where they had me build a scrollable color grid live in Xcode. Pretty hands-on, more about getting something working than talking through theory.
  • Using SwiftUI or UIKit, build a scrollable grid of squares where the number of rows and columns are passed in as parameters. Tapping a cell should change it to a random color.

“The parameterization part tripped me up more than I expected.”

View Post

Snap·Software Engineer·Onsite - System Design / Architecture

Jul 2026
Snapchat system design round focused entirely on ad infrastructure, specifically how you'd track impressions and spend at scale and then serve that aggregated data back to the ad server fast enough to be useful. Pretty deep dive, more backend-heavy than I expected for an ads-adjacent role.
  • Design a system that tracks ad impressions and ad spend at scale, and serves aggregated data back to the ad server with low latency, given that each user request involves looking up data for roughly 10,000 candidate ads.

“The 10k candidate ads per request detail is what made this tricky.”

View Post

Snap·Software Engineer·Take-home Assignment

Jul 2026
Snapchat SWE interview where they had me build a tappable color-changing grid in iOS, either SwiftUI or UIKit, right there in Xcode. Pretty hands-on, more of a practical coding exercise than a whiteboard thing.
  • Build a scrollable grid of squares with a fixed number of rows and columns. Tapping a square should toggle or change that cell's color. Use SwiftUI or UIKit and run it locally in Xcode.

“I went with SwiftUI and LazyVGrid because I knew it cold.”

View Post

Snap·Software Engineer·Technical Phone Screen

Jul 2026
Snapchat SWE interview with a deep parallel systems follow-up that honestly caught me off guard. The core problem was already tricky but then they pushed into multi-threaded territory and I had to think on my feet about trade-offs I hadn't fully prepared for.
  • If you have multiple threads available, how would you parallelize a BFS solution for the rotating-lock problem? Walk through how you'd split work across threads, keep level ordering intact, build a thread-safe visited set and queues, avoid re-exploring the same state, and weigh the trade-offs around contention, memory, and whether the result stays deterministic.

“This one went sideways pretty fast.”

View Post

Snap·Machine Learning Engineer·Technical Phone Screen

Jul 2026
Snapchat ML engineer loop, heavy on fundamentals. Five questions and every single one was a proper deep-dive, no warmup fluff. Left feeling like I'd been wrung out.
  • What is the relationship between cross-entropy and KL divergence, and can you derive why cross-entropy equals entropy plus KL divergence?
  • How does dropout create a mismatch between training and inference, and what are the practical ways to fix it? When would you use inverted dropout versus Monte Carlo dropout?
  • Why do large language models use LayerNorm rather than BatchNorm? What are the implications for variable sequence lengths, micro-batching, and training stability?
  • Compare SGD, SGD with momentum, and Adam: walk through the update rules, convergence properties, generalization behavior, and how you decide which to use.
  • Why does PPO use clipping or a KL penalty to constrain policy updates, and how does that stabilize training? What hyperparameters matter most and what are the common failure modes?

“I knew the punchline but fumbled the derivation live.”

View Post