went through the Block data engineer interview loop about six weeks ago. sharing because there wasn't much out there when i was prepping.
recruiter screen was standard. they want to know you've built something real, not just written queries against a sample dataset. i mentioned past experience with event-driven pipelines and that landed well.
phone screen (45 min with a senior DE) opened with resume walkthrough, then immediately pivoted to a SQL problem. the question was about session windowing: given a raw clickstream table, define sessions by a 30-minute inactivity gap and compute session-level metrics. fairly complex. they wanted to see me think through the edge cases out loud, not just arrive at an answer. window functions, handling nulls, probably a CTE or two.
they also asked: "how would you design a pipeline to keep this computation up to date as new events come in?" so you need to know both batch and streaming concepts. kafka, spark, flink, airflow came up naturally in my answer.
onsite (4 rounds) SQL/analytical: two problems, one was a funnel analysis (conversion rates across payment steps), the other was a cohort retention table. both heavily windowed. data modeling: given some product context (Square merchant dashboard), design the dimensional model. fact tables, slowly changing dims, grain decisions. they cared a lot about the "why" behind choices. system design for data: design a near-real-time fraud signal pipeline. this was the hardest round. latency vs. cost tradeoffs, what to compute offline vs. stream, how to backfill. behavioral: standard STAR questions. cross-team influence, incident postmortem, disagreeing with a stakeholder.
they use BigQuery internally and mentioned dbt but said prior experience wasn't required. knowing the concepts mattered more.
total time from first contact to offer was about 6 weeks. offer was competitive for the SF market, nothing jaw-dropping. i'll share comp in the comp thread if there's interest.