Monitoring watches known signals against thresholds you already defined: "alert if job fails," "alert if freshness > 2 hours," "alert if row count < 1,000."
Observability is the broader ability to understand system health from telemetry so you can debug unknown failures, not only the alerts you predicted.
monitoring: is fct_orders fresher than 2h? yes/no
observability: freshness + volume + schema + null rates
+ distribution shifts + lineage blast radius
+ recent deploy / DAG run contextData observability pillars (common interview list) 1. Freshness 2. Volume 3. Schema 4. Distribution (null rates, uniqueness, value shapes) 5. Lineage / downstream impact
Practical difference
A monitor fires: "row count dropped 80%." Observability helps you see *why*: upstream source empty, schema rename broke the join, or a filter bug in yesterday's deploy, and which dashboards are affected.
Interview tip: "Monitoring = predefined alerts; observability = enough telemetry and context to diagnose unknowns." List the pillars.