Just finished the Adobe data engineer interview loop for a role on the Digital Experience platform team. Sharing because I couldn't find much current info when I was prepping.
The recruiter screen was pretty standard. About 20 minutes, mostly clarifying what team I was applying to and confirming I'd done Spark/Airflow type work. Nothing technical.
First technical round: SQL. And I mean SQL. Not the "write a basic GROUP BY" kind. They gave me a realistic schema (something resembling event data from a web analytics product) and asked me to do multi-step aggregations, window functions (LAG, RANK, DENSE_RANK), and one query that required a self-join. About 60 minutes. I did it in a shared doc, not a real IDE, which adds pressure. Know your window functions cold.
Second technical round: pipeline design. This was a system design round but scoped tightly to data pipelines. They described an ingestion problem (high-volume clickstream events, some late-arriving data) and wanted me to walk through architecture choices. I talked through Kafka for ingest, Spark Structured Streaming vs. batch tradeoffs, partitioning strategy, and how I'd handle schema evolution. The interviewer pushed hard on the late data question. Know your watermarking story.
Third round: past project deep-dive. They picked one project off my resume and went three levels deep. How did you define success metrics, what broke first, what would you do differently. Pretty behavioral but engineering-flavored.
Fourth round: hiring manager. More of a fit/vision chat. She described the team's current stack (Databricks, some legacy Hadoop they're migrating away from, dbt on the transformation side) and asked what excited me about it.
Total time from recruiter screen to offer: about 5 weeks. The pipeline design round was the hard one for me. Prep that specifically.