# A task-based Airflow deployment runs two tasks in sequence: compute_fct_orders writes fct_orders, co

Canonical URL: <https://datadriven.io/problems/a-task-based-airflow-deployment-runs-two-tasks-in-sequence-d5dd7e11>

Domain: Pipeline Design · Difficulty: medium

## Problem

A task-based Airflow deployment runs two tasks in sequence: compute_fct_orders writes fct_orders, compute_mart_revenue reads fct_orders and writes mart_revenue. The data dependency is in the engineer's head; the orchestrator does not know which tables each task touches. Apply the asset-vs-task framing this section just taught and add the asset-aware lineage layer. The structural footprint is a catalog node (DataHub, Atlan, Collibra, Marquez, or OpenLineage) that records which task produces which asset; the catalog turns implicit code-level lineage into orchestrator-queryable metadata. Replace the plain Snowflake mart with a lakehouse format (Iceberg, Delta, or Hudi) so the assets carry snapshot identity that the catalog can track. The deployment becomes hybrid: tasks still execute the work, but the catalog + lakehouse seam expose lineage at the asset level.

## Related

- [All practice problems](https://datadriven.io/problems)
- [Mock interview mode](https://datadriven.io/interview/a-task-based-airflow-deployment-runs-two-tasks-in-sequence-d5dd7e11)
- [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.