Did the Slack data engineer interview loop last quarter. Specifically for the data infrastructure team. Writing this up because the data eng interview content online for Slack is thin and most of what exists is stale.
Five rounds total. The breakdown:
SQL/Data Modeling (45 min). Hardest technical round for me. Not CRUD queries. They wanted: schema design for an event-sourced system (given a set of Slack-like events, design a data model), then write queries against that schema. Window functions, nested aggregations, performance considerations. They specifically asked why I'd choose a particular partitioning strategy on a large events table. The answer they want involves thinking about query patterns, not just storage.
Data Pipeline Design (60 min). Describe an end-to-end pipeline for ingesting, processing, and serving a high-volume event stream. They asked about: batch vs. streaming tradeoffs for different use cases, late-arriving data handling, idempotency in pipeline steps, backfill strategy. Slack uses Kafka, Spark, and Airflow internally (this is somewhat public knowledge from their eng blog). Knowing those won't get you a pass but not knowing them will get you a fail.
Coding (45 min). Python or Scala. I did Python. A data manipulation problem: given a set of records with some cleaning requirements, write transformation logic. Felt more like the kind of code a DE would actually write in a job than a leetcode medium.
Systems/Scalability (45 min). Overlap with the pipeline round but more focused on infra choices. How do you design storage for time-series event data at petabyte scale? What are the tradeoffs between columnar storage (Parquet/ORC) and row-based? When does a data lake beat a data warehouse?
Behavioral (45 min). Standard. Cross-team work, project failures, technical ownership.
Total time: about 4.5 hours of interviews. Prep accordingly. The SQL and pipeline rounds are where candidates get cut.