Writing this the morning after my Snowflake virtual onsite. Going to do stream-of-consciousness before the details fade.
Background: senior SWE candidate, 10 YOE, coming from embedded systems / infra. Applied because a friend works there and the distributed query engine work genuinely interested me. Not a traditional FAANG pipeline person.
Structure I had (may vary by team):
Five rounds over two sessions. Three rounds one morning, break, two rounds the following afternoon. Virtual via Zoom, coding in Coderpad.
Round 1: Coding - data structures Heap problem. More specifically, finding the K-th largest element in a streaming data feed with some constraints. Classic but the interviewer added a twist partway through. I got it but took longer than I'd have liked.
Round 2: Coding - systems-flavored Design and implement a simplified query planner. Not full system design, not pure LeetCode. Somewhere between: given a query AST, implement the execution order considering a simple rule set. This was Snowflake-flavored in a way I didn't expect. Interesting problem actually.
Round 3: System design Design a multi-tenant caching layer for a query engine. See my earlier notes on what they're looking for at L5+.
Round 4: Behavioral See the other thread on behavioral questions. Mine matched almost exactly.
Round 5: Hiring manager Chatted more about the team roadmap and my experience with distributed systems. Light technical depth, more about fit and whether I'd thrive in their eng culture. They asked what I find most challenging about working in distributed systems and then drilled down for 15 minutes on my answer.
Overall vibes: Interviewers were engaged and specific. No one looked bored. The coding problems required actual thought, not just pattern matching. The query-planner problem in particular is probably unique to Snowflake or at least rare to see elsewhere.
Expecting to hear back within a week. If you have questions about what it feels like on the day, ask below.