As asked
You are joining a SaaS company that has Salesforce, Stripe, and a PostgreSQL application database. Design the full warehouse architecture from raw ingestion to BI consumption, including tools, layers, and governance touchpoints.
Sample answer outline
The architecture starts with an ELT ingestion layer using Fivetran or Airbyte to land raw data into a raw schema in Snowflake or BigQuery. A staging layer in dbt creates clean, typed views on top of raw tables 1:1. An intermediate layer applies business logic and joins. Mart tables serve specific domains like finance_mart and sales_mart. A semantic layer (dbt Semantic Layer or Looker) sits on top of marts for metric consistency. Governance includes row-level security for PII columns, dbt source freshness monitoring, CI/CD for model changes, and a data catalog. A strong answer discusses cost controls, environment isolation (dev/staging/prod schemas), and the decision of which warehouse platform to choose based on workload patterns.
Expect these follow-ups
- How would you handle PII from Stripe (card-holder names, emails) within this architecture?
- At what scale would you consider moving from a single Snowflake account to multi-cluster or multi-account?