InterviewStack.io LogoInterviewStack.io

Advanced SQL: Metric Monitoring, Anomaly Detection, and Data Correctness at Scale Questions

SQL for monitoring a business or operational metric over time and catching when it is wrong or behaving abnormally, as distinct from the mechanics of the SQL constructs used to compute it (window function syntax, frame semantics, CTEs, and subqueries are covered by the companion topic Advanced SQL: Window Functions, CTEs, and Subqueries), from defining and computing cohort retention, funnel conversion, DAU/WAU/MAU, and lifetime value themselves (covered by the companion topics User Retention & Engagement, Conversion Funnel Optimization, and SQL for Data Analysis), and from sessionization via inactivity-gap detection (also covered by the companion window-functions topic). Covers rolling-window anomaly and change-point detection (z-score and threshold-based, including seasonality-aware baselines), testing whether a period-over-period change in a rate metric is statistically significant versus noise, decomposing a metric's change into which segments drove it, average revenue per user (ARPU) at both a simple and a rolling/at-scale altitude, keeping cumulative and rolling metrics correct against missing dates, late-arriving or out-of-order events, and incremental (not full-recompute) materialization at very large scale, approximate-distinct (HyperLogLog) computation, standalone timezone/daylight-saving-aware day bucketing, Kaplan-Meier-style survival curves computed in pure SQL, and multi-state subscription churn and retention (renewals, expansions, downgrades, and pauses at the plan level, not just customer presence/absence).

HardTechnical
68 practiced

Given orders(order_id, seller_id, status, created_at, canceled_at, amount), compute each seller's cancellation rate over the trailing 90 days, excluding sellers with fewer than 50 orders in that window. Then describe the SQL approach for surfacing which sellers have a week-over-week change in cancellation rate large enough to be statistically significant rather than noise.

HardTechnical
80 practiced

Given a table touches(user_id, touch_id, channel varchar, occurred_at timestamp, is_conversion boolean), write ANSI SQL (or explain a set of queries) to compute per-channel revenue attribution using linear attribution for each conversion: split conversion credit equally across touchpoints within a conversion window. Describe performance considerations and how you would implement this model on very large datasets so it remains tractable.

MediumTechnical
112 practiced

Given a transactions table (transaction_id, user_id, amount, occurred_at), write SQL to flag a transaction as anomalous when its amount exceeds that user's own mean plus 3 standard deviations, computed over the user's trailing 365 days. Decide how you handle users with very few historical transactions, and explain your choice.

HardTechnical
82 practiced

Write an optimized SQL query using window functions to compute a rolling 90-day average revenue per user (ARPU) partitioned by region, handling days with no purchases and avoiding double-counting users who purchase multiple times in a day. Explain the indexes and performance tuning you would use for large datasets.

HardSystem Design
63 practiced

Design a cost-effective system to compute a cohort or rolling user-activity metric at very large scale (order of 1B entities, 100B events/year) with daily updates. Specify storage format, partitioning and clustering strategy, compute-engine choice, incremental-refresh strategy, the trade-off between window functions and pre-aggregation, cost considerations, and monitoring.

Unlock Full Question Bank

Get access to all 23 Advanced SQL: Metric Monitoring, Anomaly Detection, and Data Correctness at Scale interview questions and detailed answers.

Sign in to Continue

Join thousands of developers preparing for their dream job.