
Citi Data Engineer interviews often include a Karat-run technical screening with live SQL and Python coding, followed by rounds on PySpark, Spark internals, Hadoop/Oozie, or Databricks scaling questions; behavioral questions are typically straightforward project and feedback stories, with mixed outcomes reported.
$128K
Avg. Base Comp
$180K
Avg. Total Comp
2-4 rounds
Typical Rounds
Not reported
Process Length
Citi's Data Engineer interviews typically open with an application through Workday followed by a recruiter screen, though at least one candidate moved straight into a phone interview that doubled as a background discussion and technical check. A recurring pattern across several reports is Citi's use of third-party Karat interviewers for technical screening — candidates describe live, timed SQL exercises where you write queries and generate output while being watched, plus a mandatory coding task in a language of your choice even when your background is in a tool like Ab Initio.
Beyond that stage, later rounds vary by team. Some candidates describe a heavier Hadoop-ecosystem focus — SCD Type 2 in Hive, Oozie scheduler internals, shell scripting, and Spark tuning topics like partitioning and bucketing — while others face rounds built around PySpark, Spark internals, SQL, and a practical scaling question, such as how to process 10 TB of data in Databricks. Python coding, database fundamentals, and defending the specific projects on your resume come up repeatedly. Behavioral questions tend to stay simple: a challenging project, handling feedback, and resolving conflict. The evidence here comes from a handful of individual candidates rather than a single fixed process, and outcomes were mixed, so it's worth preparing broadly across live SQL, Python, and whichever big-data tooling (Spark, Hadoop, or Databricks) is most relevant to the specific team you're interviewing with.
Synthesized from 6 candidate reports by our editorial team.
Had an interview recently?
Share your experience. Unlock the full guide.
Real interview reports from people who went through the Citi process.
My interview process at Citi for the Data Engineer role had a straightforward structure: a video screening round followed by an in-person technical round with two senior leaders. The video call was conversational — mostly walking through my background, the tools I'd worked with, and specific projects from my resume. They didn't dig too deep, but it set the stage for what came next.
The in-person round was where things got technical. One interviewer focused heavily on migration projects and optimization strategies in the Hadoop ecosystem. We talked through handling SCD Type 2 scenarios in Hive, which led into deeper questions about Oozie orchestration — where jobs get scheduled, how to invoke them, where to monitor execution, what the coordinator does, and how to set up dependencies between actions. The second interviewer took a different angle, asking about shell scripting fundamentals: how to diff files, execute backend code, and schedule jobs using cron or shell scripts.
They also probed Spark optimization hard — partitioning, bucketing, salting, repartition versus coalesce, file format tradeoffs. One scenario-based question stuck with me: a job that suddenly started running longer than usual. How would you diagnose that? They wanted to see my debugging methodology, not just a textbook answer. I had to write a word count program on the spot as well, which they ran through to check correctness and logic.
The technical bar felt pitched at someone with solid hands-on experience in Hadoop pipelines and Spark tuning. They weren't looking for theoretical deep dives — they wanted to know if I could optimize queries, troubleshoot production issues, and navigate Oozie workflows. The process was direct and efficient, but the breadth of topics covered made it clear this role demanded versatility across big data tooling.
Prep tip from this candidate
Citi's Data Engineer interviews test practical Hadoop and Spark knowledge heavily — drill Oozie scheduler internals (coordinator, dependencies, job submission), SCD Type 2 implementations in Hive, and Spark tuning (partitioning, bucketing, file formats). Be ready to troubleshoot why a job suddenly runs slower and to write working code under time pressure; scenario-based debugging matters as much as the code itself.
Share your own interview experience to unlock all reports, or subscribe for full access.
Sourced from candidate reports and verified by our team.
Topics based on recent interview experiences.
Featured question at Citi
Write a query to show the number of users, transactions, and total order amount per month in 2020
| Question | |
|---|---|
| Attribution Rules | |
| Size of Joins | |
| Real-Time Transaction Streaming | |
| Hurdles In Data Projects | |
| Replace Words with Stems | |
| Dijkstra implementation | |
| Seller Type Modeling | |
| String Palindromes | |
| Concurrent LLM Serving | |
| Index Fund Return | |
| Above Average Product Prices | |
| International e-Commerce Warehouse | |
| Text Editor With OOP | |
| Unified Event Pipeline | |
| Client Solution Pushback | |
| Why Do You Want to Work With Us | |
| Concentric Circles | |
| Your Strengths and Weaknesses | |
| Data Cleaning Experiences | |
| Singly Linked List | |
| Student Tests | |
| Measuring Text Difficulty | |
| 2nd Highest Salary | |
| Empty Neighborhoods | |
| Rolling Bank Transactions | |
| Employee Salaries | |
| Merge Sorted Lists | |
| Subscription Overlap | |
| Comments Histogram |
Synthesized from candidate reports. Individual experiences may vary.
Candidates typically apply through Citi's Workday portal and, after a wait one candidate described as several weeks, receive a recruiter phone screen. This call generally covers background, visa status, and salary expectations before moving into the interview stages. One candidate instead reported moving directly from application into a first interview combining background discussion with technical questions, so the exact screening structure may vary by team.
Several candidates report a Karat-administered screening rather than one run by Citi staff, featuring a timed, shared-screen SQL exercise where you write and run queries while the interviewer watches, plus a mandatory coding exercise in a language of your choice (Python in multiple reports) even if your background is in another tool like Ab Initio. One candidate instead completed a 90-minute online assessment covering medium SQL, a PySpark question, and general data engineering questions before any live interview.
Technical rounds differ by team: some candidates were tested heavily on PySpark, Spark internals, SQL, and a practical scaling scenario such as processing 10 TB of data in Databricks; others faced Hadoop-ecosystem questions covering SCD Type 2 in Hive, Oozie scheduler internals, shell scripting, and Spark tuning topics like partitioning, bucketing, and diagnosing a job that suddenly runs slower. SQL problems such as finding top salaries without window functions and database fundamentals (keys, indexing) also appear. Expect to defend the specific projects and tools on your resume in detail.
The closing stage typically mixes behavioral questions (a challenging project, handling feedback, conflict resolution) with further technical or domain discussion. One candidate's final round focused on prior projects, testing, and domain knowledge, while another described a brief, conversational managerial round after the technical rounds concluded. Outcomes at this stage were mixed, with some candidates receiving offers and others not advancing further, so treat this as a real evaluation step rather than a formality.