Just wrapped my Morgan Stanley data engineer loop for a VP-level DE role in their enterprise data platform group. Sharing notes while they're fresh because I could not find good specifics when I was prepping.
The loop had four rounds: Recruiter screen (30 min, standard) Technical SQL and data modeling (60 min, one interviewer) Data pipeline design / architecture (60 min, senior engineer interviewer) Behavioral (30 min, hiring manager)
No live coding in a traditional DSA sense. This is not a LeetCode-heavy loop. It's very focused on data engineering specifically.
SQL round:
Actual SQL, not pseudocode. We were in a shared editor. Questions included: Complex window functions (running totals, rank within partition, lag/lead for time-series analysis) A multi-table join question with a schema that looked like trade history + account data. The schema was given. One question about query performance: given a slow query, how would you diagnose and fix it. They wanted to hear: check the query plan, look at indexes, consider partitioning for large time-series tables.
The SQL questions were harder than most SQL interview questions I've gotten elsewhere. They assume you actually use SQL, not just know what SELECT is.
Pipeline design round:
Prompt: design a pipeline that ingests real-time market data, processes it for downstream risk calculations, and stores it in a way that supports both historical queries and live dashboards.
They wanted specifics on: Kafka vs. alternatives for ingestion, batch vs. streaming processing (Spark, Flink, or similar), storage layer choices (why columnar for analytics), and latency SLAs. They probed data quality: what happens when a message arrives out of order or is duplicated.
The financial domain matters here. They pushed on "what happens if you miss a tick" and the answer is not "retry later," the answer is "here's how we detect gaps, here's how we backfill, here's how we alert."
Tools they seemed familiar with: Kafka, Spark, dbt, Snowflake, internal proprietary systems they mentioned by name but I didn't recognize.