Data engineering interview questions
What is the difference between repartition and coalesce in Apache Spark?
What is the difference between SparkSession and SparkContext in Spark?
What is the difference between cache() and persist() in Spark? When would you use each?
What is the difference between groupByKey and reduceByKey in Spark?
What is the difference between narrow and wide transformations in Apache Spark? Explain with examples.
What strategies can you use to handle skewed data in Spark?
Can you explain the architecture of Apache Spark and its components?
Describe the difference between Spark RDDs, DataFrames, and Datasets.
Explain the difference between Spark's map() and flatMap() transformations.
How does Spark's Catalyst Optimizer work? Explain its stages.
How do you handle late-arriving data in Spark Structured Streaming?
What is the difference between Managed and External tables in Hive/Spark?
What is the small-file problem in Spark, and how do you solve it?
Explain the concept of Broadcast Join in Spark. When should it be used?
How do you optimize Spark jobs for better performance? Mention at least 5 techniques.
Architecturally, how would you justify or challenge Hadoop vs. a cloud-native data lake (S3 + EMR/Databricks) for a greenfield enterprise data platform? Discuss scalability ceilings, cost model trade-offs, and operational complexity.
When would you architecturally choose Dataset[T] over DataFrame in a Scala Spark pipeline, and what are the scalability and portability trade-offs? Include type-safety benefits vs. operational constraints.
Convert complex SQL (CTEs, window functions, subqueries) to production-grade PySpark. Discuss when to use spark.sql() vs. DataFrame API, and the implications for testability, partitioning, and execution predictability.
Design a cost-aware resource strategy for a Databricks workload with spiky and batch jobs. Explain Dynamic Resource Allocation, when to disable it, and how min/max executors and spot instances affect cost and SLAs.
Design an anti-skew strategy for a join on a high-cardinality key with a long-tail distribution (e.g., a few keys hold 80% of rows). Cover salting, split-skew, AQE, and cost/operational trade-offs.
Type or paste your answer to any of these questions and our AI Coach scores it, highlights gaps, and rewrites it at FAANG quality. Free to try.
The most common Spark interview topics are: the difference between RDDs and DataFrames, transformations vs actions, data skew and how to handle it, partition strategies, shuffle optimization, and the catalyst optimizer. Delta Lake and Structured Streaming are increasingly tested.
If you're targeting mid-to-senior roles at companies processing large datasets, yes. Spark/Big Data questions appear in most data engineering interviews at scale-up and enterprise companies. Even companies using other tools test Spark as a proxy for distributed systems knowledge.
Use Databricks Community Edition (free), Google Colab with PySpark, or local Docker setups. Focus on understanding concepts like partitioning, broadcast joins, and lazy evaluation. Most interview questions test conceptual understanding, not syntax.
Data skew handling and performance tuning are the most challenging areas. Interviewers ask how to diagnose skew in a Spark job, strategies to fix it (salting, repartitioning, broadcast joins), and how to read Spark UI for performance bottlenecks.