# Two pipelines on the canvas

Canonical URL: <https://datadriven.io/problems/two-pipelines-on-the-canvas-the-first-is-an-airflow-dag-of-57e87dd0>

Domain: Pipeline Design · Difficulty: medium

## Problem

Two pipelines on the canvas. The first is an Airflow DAG of operators (extract, transform, load) with explicit task ordering and a cron schedule. The second is a Dagster software-defined-asset graph (raw_orders -> fct_orders -> revenue_dashboard_mart) with implicit ordering from the asset DAG and freshness policies driving the schedule. The section's framing: imperative answers 'what should run, in what order, when'; declarative answers 'what data assets should exist, derived from what other assets, and how fresh.' The right choice is workload fit, not tool preference. Pick declarative or imperative for each by adding a model-marker node whose name states the choice and the trade-off that drove it (mental model, schedule, backfill, cross-team boundaries).

## Related

- [All practice problems](https://datadriven.io/problems)
- [Mock interview mode](https://datadriven.io/interview/two-pipelines-on-the-canvas-the-first-is-an-airflow-dag-of-57e87dd0)
- [System Design Interview Questions](https://datadriven.io/data-engineering-system-design)
- [Data Engineering Interview Prep Guide](https://datadriven.io/data-engineer-interview-prep)
- [Daily Challenge](https://datadriven.io/daily)

---

Source: DataDriven (https://datadriven.io). 100% free data engineering interview prep. Live code execution against Postgres 16, Python 3.11, and Spark sandboxes. No paywall, no premium tier, no signup gate.