PracHub
QuestionsPremiumCoachesLearningGuidesInterview Prep
|Home/System Design/Speak

Design speaking scenarios and auth/profile API

Last updated: Mar 29, 2026

Quick Overview

This question evaluates a candidate's ability to design scalable, real-time speaking-practice features and a minimal authentication/profile API, encompassing system architecture, service decomposition, data modeling, ASR/LLM integration, personalization, security and privacy, and operational concerns like scaling and observability.

  • hard
  • Speak
  • System Design
  • Software Engineer

Design speaking scenarios and auth/profile API

Company: Speak

Role: Software Engineer

Category: System Design

Difficulty: hard

Interview Round: Onsite

Part A — Design a speaking-scenario practice feature for a language-learning app (e.g., Speak): - Functional scope: Let users browse/search/select any real-life scenario (e.g., ordering coffee, job interview), receive prompts, speak responses, and get real-time feedback and a score. Include progress tracking and the ability to resume sessions. - Architecture: Propose services/components (content service, session/orchestration, speech-to-text, LLM feedback, scoring, personalization, analytics), their APIs, and data flow. - Data model: Define schemas for Scenario, Turn/Prompt, UserSession, Attempt, and UserProgress. Describe indexing for fast scenario discovery and session retrieval. - LLM/ASR integration: Choose ASR and feedback generation models. Describe prompt strategy, guardrails, latency targets, token/cost budgets, and fallback behavior when models fail or rate-limit. - Personalization: How would you adapt difficulty, vocabulary, or pace per user? What signals and features would you log? - Scale and reliability: Estimate QPS, concurrency, and storage growth. Propose caching, streaming, and backpressure. Handle timeouts, retries, idempotency, and partial failures. - Safety & compliance: Content moderation, PII handling, data retention, privacy controls, and localization. Describe offline/poor-network considerations. - Experimentation & metrics: Define success metrics (learning outcomes, engagement), guardrails, and how you’d A/B test variations of prompts/feedback. Part B — Design an MVP API for user authentication and profile management: - Endpoints: Register (email+password), Authenticate (login), Retrieve profile, Update profile, Delete account. Specify request/response shapes and status codes. - AuthN/Z: Choose session vs. JWT, token TTL/refresh, and secure cookie vs. header usage. Describe password hashing (can be mocked) and account lifecycle. - Storage: Use in-memory data structures for users, sessions/tokens, and profiles. Define keys and concurrency handling. - Non-functionals: Rate limiting, input validation, error handling, idempotency for register/delete, logging, and minimal observability. - Constraints: MVP first, edge cases later; AI tools allowed; optimize for development velocity while maintaining clear, usable APIs. - Evaluation: Explain trade-offs, data modeling decisions, and how you would evolve this into a production-ready service.

Quick Answer: This question evaluates a candidate's ability to design scalable, real-time speaking-practice features and a minimal authentication/profile API, encompassing system architecture, service decomposition, data modeling, ASR/LLM integration, personalization, security and privacy, and operational concerns like scaling and observability.

Related Interview Questions

  • Implement auth and profile APIs - Speak (medium)
  • Design scenario-based speaking feature - Speak (hard)
Speak logo
Speak
Sep 6, 2025, 12:00 AM
Software Engineer
Onsite
System Design
5
0

System Design Task: Speaking-Scenario Practice Feature + MVP Auth API

Context: You are designing a new speaking-scenario practice capability for a language-learning app (e.g., Speak). Users select real-life scenarios (ordering coffee, job interview), practice by speaking, and receive real-time feedback and scores. You will also design a small MVP authentication/profile API to support the feature.

Part A — Speaking-Scenario Practice Feature

  1. Functional scope
    • Let users browse/search/select scenarios; receive prompts; speak responses; get real-time feedback and a score.
    • Include progress tracking and the ability to pause and resume sessions.
  2. Architecture
    • Propose services/components (e.g., content service, session/orchestration, speech-to-text, LLM feedback, scoring, personalization, analytics).
    • Define their APIs and data flow (client ↔ services ↔ data stores).
  3. Data model
    • Define schemas for Scenario, Turn/Prompt, UserSession, Attempt, and UserProgress.
    • Describe indexing for fast scenario discovery and session retrieval.
  4. LLM/ASR integration
    • Choose ASR and feedback-generation models.
    • Describe prompt strategy, guardrails, latency targets, token/cost budgets, and fallback behavior when models fail or rate-limit.
  5. Personalization
    • How to adapt difficulty, vocabulary, or pace per user.
    • What signals and features you would log.
  6. Scale and reliability
    • Estimate QPS, concurrency, and storage growth.
    • Propose caching, streaming, and backpressure.
    • Handle timeouts, retries, idempotency, and partial failures.
  7. Safety and compliance
    • Content moderation, PII handling, data retention, privacy controls, localization.
    • Offline/poor-network considerations.
  8. Experimentation and metrics
    • Define success metrics (learning outcomes, engagement), guardrails, and how to A/B test variations of prompts/feedback.

Part B — MVP API: User Authentication and Profile Management

  1. Endpoints
    • Register (email + password)
    • Authenticate (login)
    • Retrieve profile
    • Update profile
    • Delete account
    • Specify request/response shapes and status codes.
  2. AuthN/Z
    • Choose session vs. JWT; token TTL/refresh; secure cookie vs. header usage.
    • Describe password hashing (can be mocked) and account lifecycle.
  3. Storage
    • Use in-memory data structures for users, sessions/tokens, and profiles.
    • Define keys and concurrency handling.
  4. Non-functionals
    • Rate limiting, input validation, error handling, idempotency for register/delete, logging, minimal observability.
  5. Constraints
    • MVP first, edge cases later; AI tools allowed; optimize for development velocity while maintaining clear, usable APIs.
  6. Evaluation
    • Explain trade-offs, data modeling decisions, and how to evolve this into a production-ready service.

Solution

Show

Submit Your Answer to Earn 20XP

Sign in to leave a comment

Loading comments...

Browse More Questions

More System Design•More Speak•More Software Engineer•Speak Software Engineer•Speak System Design•Software Engineer System Design
PracHub

Master your tech interviews with 8,000+ real questions from top companies.

Product

  • Questions
  • Learning Tracks
  • Interview Guides
  • Resources
  • Premium
  • For Universities
  • Student Access

Browse

  • By Company
  • By Role
  • By Category
  • Topic Hubs
  • SQL Questions
  • Compare Platforms
  • Discord Community

Support

  • support@prachub.com
  • (916) 541-4762

Legal

  • Privacy Policy
  • Terms of Service
  • About Us

© 2026 PracHub. All rights reserved.