As asked
Design a system that ingests data from 50 different sources (REST APIs, Postgres databases, S3 files, Kafka topics) into a central Snowflake warehouse on a mix of real-time, hourly, and daily schedules. Cover the ingestion layer, orchestration, schema management, and observability.
Sample answer outline
Strong answers describe a layered architecture: a connector layer (Fivetran, Airbyte, or custom connectors) for lift-and-shift sources, Kafka Connect for change-data-capture, and custom Airflow/Dagster DAGs for complex REST sources. Data lands in a raw schema with append-only tables and ETL promotes to a staging then production schema. Schema changes are versioned in dbt. Observability uses dbt tests plus a freshness check dashboard. Candidates should discuss the make-vs-buy decision for off-the-shelf connectors.
Expect these follow-ups
- How do you handle a source that goes down for 12 hours? Does your system auto-recover or require manual intervention?