McKinsey · Primly Community

McKinsey data engineer interview: pipelines, SQL, and what surprised me

de_derek · 4 replies

went through the McKinsey data engineer interview process last month for a role within their analytics delivery team. going to share the specifics because i couldn't find much when i was prepping.

four rounds total: recruiter screen (30 min, career history, basic logistics) technical screen with an engineer (60 min) virtual onsite: two technical rounds + one PEI round team fit call with the hiring manager

what showed up technically

SQL was heavier than i expected. not just basic stuff. i got: a multi-join aggregation query, a question about query optimization (indexes, when NOT to use them), and one where i had to spot a subtle bug in someone else's SQL. be comfortable explaining query plans at a high level.

pipeline architecture questions were more design-oriented than coding. they described a scenario: 'client has 50 sources, batch and streaming, inconsistent schemas, data going into a warehouse used by analysts and ML teams.' they wanted me to whiteboard the architecture: ingestion layer, transformation layer, storage, monitoring, schema evolution strategy. nothing exotic, but you need to actually know why you'd pick dbt over something else, what you do when sources send malformed data, how you handle late-arriving records.

Python showed up briefly, one question on how i'd test a transformation function. they weren't looking for full TDD religion, just that i think about correctness.

what i didn't expect

half the conversation was business context. they kept anchoring every technical question in 'a client is doing X, the analysts need Y.' so you need to connect your technical choices to outcomes non-technical people care about. that was more McKinsey-specific than any coding shop i've interviewed at.

also the PEI for a DE role was the same format as what DS/PM folks describe. pick your stories early, know the numbers, expect drilling.

the pace longer overall than pure tech companies. recruiter was responsive but there were gaps of a week between rounds. total was about 6 weeks start to offer.

4 replies

backend_bekah

the 'explain it to a non-technical client' framing is very McKinsey. i've heard this across roles. did they ever ask you straight-up leetcode style algorithm questions or was it all applied/systems?

de_derek

no leetcode at all in my loop. zero. it was entirely SQL and system design. which honestly felt more relevant but i was still nervous in round 2 expecting an array problem to drop at any second.

ds_dmitri

the 'spot the bug in someone else's SQL' question is interesting. saw something similar in my DS round. i think they reuse some of these problems across adjacent roles.

ops_omar

six weeks is long. does McKinsey expedite the timeline at all if you have competing offers? or is it pretty rigid?