Use this as revision, not a promise of mastery
This suggested plan assumes you already have some SQL and programming knowledge. Reserve a manageable daily practice block and use the actual job description to set priorities. If a topic is new, extend the schedule. The goal is to reveal weak spots and practise reasoning aloud.
Day 1: SQL joins and data grain
Create small customer and order tables. Find customers without orders, calculate revenue per customer and explain what happens when a customer has several orders. Before running a query, state the expected number of rows. Include a missing customer ID and a duplicate key so you can discuss the result.
Day 2: SQL ranking and edge cases
Practise the latest record per entity, top products within each category and running totals. Decide how tied timestamps should behave. Write down the difference between keeping all ties and selecting one deterministic winner. Check your answer on a tiny dataset before trying a larger one.
Day 3: PySpark transformations
Load sample data with an explicit schema, parse dates, handle nulls and aggregate by a business key. Explain when execution occurs and why collecting a large result to the driver can be a problem. Document a malformed input row and your chosen treatment rather than silently dropping it.
Day 4: Spark troubleshooting
Choose one slow-job scenario. Describe the observations you would gather before changing configuration: execution plan, task duration, input size and partition distribution. Compare possible causes such as an expensive join or uneven data distribution. Explain how you would test a change under comparable conditions.
Day 5: Pipeline design
Design a daily orders pipeline on paper. Cover ingestion, validation, transformations, storage and monitoring. Then ask: What if the source arrives late? What if yesterday's job runs again? What if the schema changes? Discuss recovery and duplicate prevention rather than drawing only the happy path.
Day 6: Your own projects
Prepare a two-minute explanation of a project: problem, constraints, your contribution, a tradeoff and the result. Be ready to explain what a teammate owned. Bring a small example or architecture sketch that contains no private employer information.
Day 7: Mock interview and targeted review
Practise one SQL problem, one design scenario and one behavioural question aloud. Review incorrect assumptions and unclear explanations. Repeat the weakest topic after checking the answer; repeating an entire question bank without understanding mistakes is less useful.
A simple review rubric
- Did I clarify ambiguous requirements?
- Did I cover nulls, duplicates or failure conditions where relevant?
- Could I explain my approach before writing code?
- Did I validate the output with an example?
- Did I distinguish assumptions from facts?
Use the Data Engineer question library for targeted practice, then try Mars AI Interview for a spoken or typed session. Treat generated feedback as a practice aid and check technical claims against documentation or a runnable example.