Design scenario-based speaking feature
Company: Speak
Role: Software Engineer
Category: System Design
Difficulty: hard
Interview Round: Onsite
Design a scenario-based speaking practice feature for a multilingual learning app that lets users pick any scenario (e.g., ordering food, job interview) and practice spoken dialogs. Describe the user flows, content modeling (scenarios, roles, prompts), session orchestration, and how you would handle audio capture, latency, and offline fallback. Explain personalization (level selection, adaptive difficulty), progress tracking, and content localization for multiple languages. Detail the service architecture, storage choices, APIs, rate limiting, and how you'd scale to millions of sessions while keeping cost low. Identify key privacy/security considerations and how you'd experiment and roll out new scenarios.
Quick Answer: This question evaluates system-design competency in building scalable, real-time, multilingual audio-driven learning features, including product modeling, session orchestration, audio pipelines (ASR/TTS), personalization, localization, telemetry, and privacy/security considerations.