Design a Static Audio Detection System
Company: Roblox
Role: Software Engineer
Category: ML System Design
Difficulty: hard
Interview Round: Onsite
Design an audio detection system that analyzes static audio files (not live streams). Specify functional and non-functional requirements; key entities and the data model; a high-level architecture covering storage, compute, and orchestration; and the end-to-end processing flow from file ingestion to result output. Assume ML model selection is out of scope, but describe how you would integrate components such as speech-to-text, spectral analysis, keyword detection, noise reduction, and a rule-based post-processor. Explain how newly saved files are discovered and processed (e.g., cron/batch versus event-driven), how outcomes are classified (clean, problematic, needs human review), and how to design the manual review workflow (assignment, labeling, consensus, requeueing, and audit). Discuss scalability, throughput/latency targets, data retention, fault tolerance, backfill strategy, and cost controls. Define success metrics and monitoring/alerting for product quality and system health.
Quick Answer: This question evaluates system design and ML integration skills for building a scalable, reliable offline audio detection pipeline, including ingestion, preprocessing, STT and spectral feature extraction, rule-based post-processing, artifact persistence, and human-in-the-loop review within the ML system design domain.