Just finished my Google data engineer interview loop for a L5 role out of the NYC office. Sharing the breakdown because I couldn't find a good current post when I was prepping in early 2026.
The loop was 5 rounds plus a hiring manager chat. Here's what each one covered:
Coding (x2): Felt like LeetCode medium-hard, but both were explicitly data-flavored. One problem was about processing a stream of events and computing a rolling window aggregation. The other was a graph traversal problem in the context of dependency resolution for a DAG pipeline. Don't skip graph problems even if you're a pure SQL person.
SQL/Analytics: This round surprised me. They gave a schema with 4 tables (users, sessions, events, conversions) and asked me to write progressively complex queries. Started with a basic join, then windowing functions, then an efficiency question about how I'd rewrite a certain query to avoid a full scan. I'd say this was the round I felt most confident in, but they go deep. Know PARTITION BY cold.
System Design (data): Designing a pipeline that ingests real-time clickstream data, lands it in a warehouse, and serves aggregated dashboards with low latency. They care about: fault tolerance, exactly-once semantics, partitioning strategy, and backfill strategy. I talked through Pub/Sub to Dataflow to BigQuery and they asked good follow-ups about late-arriving data.
Behavioral: Standard Google Googleyness rubric. Leadership, ambiguity, cross-functional conflict. Have 5-6 STAR stories ready and be ready to go deeper on each one.
Overall the loop was tougher than I expected for a DE role. They treat it more like an SWE loop with data specialization layered on top, not a pure analytics or warehousing interview. LeetCode hard problems showed up in my specific loop.
Offer came back at L5 in the $320-340k TC range for NYC. Took about 3.5 weeks from recruiter screen to offer call. The debrief period was genuinely nerve-wracking because I knew I'd had a shaky coding round.
Happy to answer follow-ups.