Leadership asks you to cut the cloud warehouse bill by 40 percent without hurting the business. What do you do?
What the interviewer wants to hear
- Measure first: attribute cost by warehouse, user, query and pipeline
- Remove waste: unused tables, idle compute, duplicate or over-frequent jobs
- Optimise heavy queries: partition pruning, clustering, fewer columns, incremental models
- Right-size compute with auto-suspend, sizing and workload isolation
- Tune storage: retention, time travel, lifecycle tiers
- Add guardrails: budgets, alerts, quotas and cost ownership
Model answer
I would not guess; I would measure. Using query history and billing data, I attribute spend to warehouses, service accounts, dbt models and dashboards, and usually a handful of jobs drive most of the cost. Quick wins come from waste: warehouses that never suspend, jobs running hourly when daily is enough, full-refresh models that could be incremental, and tables or dev copies nobody reads. Next I tune the heaviest queries: filter on partition and cluster columns so pruning works, stop SELECT * on wide tables, pre-aggregate dashboard sources, and fix exploding joins. I right-size compute, separate workloads so a big batch job does not require a huge shared warehouse, and set aggressive auto-suspend. For storage I review time travel and retention and move cold data to cheaper tiers. Finally I add budgets, alerts and per-team cost dashboards so the savings last.
Can you answer it under time pressure?
Take a timed hard round and get scored on every answer.
More hard Data Engineer questions
- Design a data platform for a fast-growing startup with 20 data sources and a small team. What would you choose and why?
- Explain at-most-once, at-least-once and exactly-once processing, and how you achieve effectively-once results in practice.
- A user asks to delete all their personal data. Your data is spread across a data lake, warehouse and backups. How do you handle it?
- How do you choose partitioning and clustering for a very large table? What can go wrong?
- The CEO's revenue dashboard showed wrong numbers for two days before anyone noticed. How do you fix this and prevent it from happening again?
- Design a pipeline that ingests 200,000 clickstream events per second and powers both a real-time dashboard and daily analytics.
- You must migrate a company from an on-premise warehouse to Snowflake or BigQuery without breaking hundreds of reports. How would you plan it?
- A metric definition changed and you must backfill two years of a large fact table while the daily pipeline keeps running. How do you do it safely?
- Design a CDC pipeline that replicates a busy PostgreSQL database into Iceberg or Delta tables, including updates and deletes. What are the tricky parts?