Building a Junk Dimension

Concepts covered: dmDimensionTables

When the interviewer points to five boolean flags on your fact table and asks 'where do these go?', they are testing whether you know the consolidation pattern. Saying 'leave them on the fact table' is a weak answer. Saying 'create five separate dimensions' is worse. The strong answer names the junk dimension pattern and designs one in 30 seconds. The Schema You Should Be Able to Write in 60 Seconds 32 rows How You Load It: The Detail Interviewers Probe Pre-population is the strong answer. It makes the fact load a pure lookup with no dimension-side writes, which simplifies concurrency and makes the pipeline idempotent. How You Query It: Show the Interviewer It Works Your query answer: 'The query reads exactly like it would if the flags were on the fact table. JOIN dim_order_flags, filter o

About This Interactive Section

This section is part of the Junk and Degenerate Dimensions: Advanced lesson on DataDriven, a free data engineering interview prep platform. Each section includes explanations, worked examples, and hands-on code challenges that execute in real time. SQL queries run against a live database. Python runs in a sandboxed Docker container. Data modeling problems validate against interactive schema canvases. All content is framed around what data engineering interviewers actually test at companies like Meta, Google, Amazon, Netflix, Stripe, and Databricks.

How DataDriven Lessons Work

DataDriven combines four interview rounds (SQL, Python, Data Modeling, Pipeline Architecture) with adaptive difficulty and spaced repetition. Easy problems get harder as you improve. Weak concepts resurface until you master them. Your readiness score tracks progress across every topic interviewers test. Every lesson section ends with problems you solve by writing and running real code, not by picking multiple-choice answers.