Data Engineering for AI Systems from First PrinciplesPost 20 of 21 · 21 of 21 written

20. Question bank for fluency

Data Engineering · 20 of 214 min readOct 2026

Fluency means asking the right question at the right moment. Use the first two lists in design reviews and incidents; use the self-test to check your understanding, covering the answer column first.

Design review: questions for any data system

  1. What is the grain of each table, and who owns its schema?
  2. Where is the source of truth, and how many copies exist?
  3. How fresh must the data be, and what does each step of freshness cost?
  4. If any step runs twice, what happens?
  5. How does late or out-of-order data get handled?
  6. What could make the output wrong without anything failing?
  7. Which checks block publishing, and who is alerted?
  8. Can we rebuild every layer from raw data, and how long would it take?
  9. Can we reproduce the exact dataset behind a given model or report?
  10. Who can read the data, is that logged, and how is deletion handled end to end?
  11. What does it cost per unit, and at ten times the volume?
  12. Which formats are open, and what would leaving this vendor require?

Debugging: questions when something looks wrong

  1. When did it start, and what changed then: code, data, schema or infrastructure?
  2. Do row counts match at every step, in and out?
  3. Are there duplicates on the key that should be unique?
  4. Are time zones, units and precision consistent across the join?
  5. Is the query reading what I think it reads? What does EXPLAIN say?
  6. Is one partition or one key doing all the work?
  7. For a model: does performance differ by slice, and did input distributions shift?
  8. For RAG: was the right chunk retrieved at all, and if so, why did the answer still miss it?

Self-test

Question One-line answer Section
Why do columnar formats speed up analytics? Queries read only the columns they need, values compress well, and engines process them in vectorized batches 2
What do Parquet footers enable? Column pruning and skipping row groups using min/max statistics 2
Why is object storage unsuitable for random small reads? Every request pays roughly 10–100 ms of latency 3
What makes a database durable after a crash? The write-ahead log, flushed before data pages change 4
B-tree or LSM-tree for a write-heavy workload? LSM-tree: buffered, sequential writes with background compaction 4
What is write skew? Two transactions each check a rule, then both write, jointly breaking it 4
Why does Type 2 history matter for ML? It preserves what was true at prediction time, preventing temporal leakage 5
What is idempotency, and why is it central? Running twice equals running once; it makes retries and backfills safe 6
How is “exactly once” actually achieved? At-least-once delivery plus idempotent or transactional processing, end to end 6
Why are shuffles expensive? Data is serialized, written to disk and sent across the network 7
What is skew, and one fix? One key or partition dominates the work; salting splits it 7
Event time versus processing time? When it happened versus when the system saw it 8
What does a watermark trade off? Latency of results against completeness 8
Why is CDC better than polling updated_at? It captures deletes and every intermediate change with little source load 8
How does a lakehouse commit stay atomic on object storage? New files are written first, then the catalog swaps one metadata pointer atomically 9
What is write-audit-publish? Write to staging, validate, then publish atomically only if checks pass 10
Name four kinds of leakage. Target, temporal, preprocessing, and group leakage 12
What is training-serving skew? Features computed differently in training and in production 12
How does MinHash estimate similarity? The chance two documents share a minimum hash equals their Jaccard similarity 13
Why decontaminate training data? Benchmark overlap inflates evaluation scores 13
Why combine BM25 with embeddings? Keywords catch exact tokens such as IDs and names that embeddings blur 14
What must change when the embedding model changes? Every vector must be recomputed; old and new vectors are incompatible 14
How do you know if training is data-bound? The GPU waits on the data loader between steps 15
Why shard training data? Large sequential reads avoid per-file latency 15
What does erasure require in an AI system? Finding and deleting every copy, including indexes, logs and training sets, guided by lineage 16
What is the cheapest way to make a query faster? Read fewer bytes: prune partitions, columns and row groups 17