
Candidates describe Citi Data Engineer interviews as a mix of SQL, PySpark and Spark tuning, Python, and resume-based project discussion. Round counts vary by report, and some include a Karat screen.
$133K
Avg. Base Comp
$158K
Avg. Total Comp
Not reported
Typical Rounds
Not reported
Process Length
Candidates describe a technical Citi Data Engineer interview, and the specifics differ from report to report. SQL is the most common thread. Reports mention joins including self-joins, window functions, CTEs, CASE WHEN categorization, and a top-N salary question that ruled out window functions. One account also covered database design fundamentals such as primary keys, indexing, and data modeling.
Spark and PySpark depth is the second pattern. Candidates report questions on Spark internals, partitioning, bucketing, salting, repartition versus coalesce, file formats, and diagnosing a job that suddenly slowed down. One candidate was asked how to process 10 TB in Databricks, based on a resume project. A different account centered on Hadoop-era topics: Hive SCD Type 2, Oozie coordinators and dependencies, shell scripting, and cron scheduling, plus a live word count program.
Two candidates describe a Karat screen run by a non-Citi engineer, and a third mentions an interviewer from a third-party assessment platform. Content covered SQL, Python, Ab Initio, and general data engineering, and one candidate describes a visible timer on each section. Another candidate took a Codility online assessment before Karat. Python was a heavy focus for one candidate who felt the job description had not signaled it, and that person suggests asking the recruiter whether it will be a major part of the evaluation.
Later rounds lean on your resume. Candidates were asked to walk through project architecture, explain their own contributions, and discuss design choices and performance tuning. Behavioral questions touched on challenging projects, feedback, conflict, and what you want in a job. One candidate received an offer shortly after a conversational managerial round. Outcomes were mixed, with both offers and rejections, so practice explaining why you chose each approach.
Synthesized from 9 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.
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 | |
| Merge Sorted Lists | |
| Employee Salaries | |
| Subscription Overlap | |
| Comments Histogram |
Synthesized from candidate reports. Individual experiences may vary.
One candidate applied through Workday, waited several weeks, and then had a recruiter call for a phone screen. Another says the recruiter screen confirmed visa status and salary fit. A third describes a conversational video screen about background, tools, and resume projects. Asking the recruiter which technical areas, such as Python, will be emphasized may help.
One candidate describes a 90-minute Codility assessment with medium SQL, a PySpark task, and about ten general data engineering questions, finishable in about an hour. Tasks included CTEs, CASE WHEN categorization, and PySpark transformations such as derived columns and grouping. Not every candidate mentions this stage.
Two candidates report a Karat screen with a non-Citi engineer, and a third mentions a third-party interviewer. One hour-long screen covered SQL joins, including self-joins, and window functions. Another had timed sections on Ab Initio, a shared-environment SQL exercise, and Python coding. That candidate did not receive an offer after this stage.
Candidates report discussion of Spark internals and optimization, a 10 TB Databricks scenario, Hive and Oozie, shell scripting, and database design. One had to write a word count program live. Interviewers also asked candidates to explain why they made their design choices, so be ready for follow-ups.
Later conversations reportedly cover challenging projects, feedback, conflict, past work, and what candidates want in a job. One candidate received an offer shortly after a more conversational managerial round. Another described a final round focused on previous projects, testing, and domain knowledge.