← sesame Interview Insights

sesame·Software Engineer·Onsite - System Design / Architecture·Senior

Senior
Jun 2026

Summary

Sesame had me design a full voice chatbot pipeline from scratch, end-to-end, which sounds like a fun problem until you realize how many moving parts they actually expect you to cover in one session.

Questions Asked (1)

Q1

Design a voice chatbot system end-to-end, covering speech-to-text, intent and dialog understanding, state management, response generation, text-to-speech, and audio streaming back to the user. Also address latency budgets per stage, barge-in and interruption handling, scaling for concurrent calls, and observability.

System DesignTechnical Trade-offsAPI & Integrations
Author's notes

This is a beast of a question and I did not pace myself well.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying requirements (e.g., use case, scale, latency targets) and then walk through the end-to-end pipeline stage by stage, highlighting key design decisions and trade-offs. Emphasize latency budgets, barge-in handling, scalability, and observability as critical aspects, and conclude with a summary of how the system meets the requirements.

Pro tip: Quantify latency budgets for each stage (e.g., STT 200ms, NLU 100ms, TTS 150ms) and explain how you'd handle barge-in by immediately stopping TTS and processing the new input, showing you understand real-time constraints.

1. Clarify Requirements and Scope

Ask about expected concurrency, latency targets, use case (e.g., customer support, voice assistant), and any constraints like on-prem vs cloud. This ensures the design meets the actual needs.

2. Design the Core Pipeline

Describe each component: speech-to-text (STT), intent and dialog understanding (NLU/DM), state management, response generation (NLG), text-to-speech (TTS), and audio streaming. Explain how they connect and the data flow.

3. Address Latency and Barge-In

Break down the end-to-end latency budget per stage, and explain techniques to minimize it (e.g., streaming STT, incremental TTS). Detail barge-in handling: detecting user speech during TTS playback, stopping playback, and processing the interruption.

4. Scale for Concurrency

Discuss scaling strategies: load balancing, horizontal scaling of stateless services, session affinity for stateful components, and using message queues for decoupling. Mention auto-scaling and resource allocation.

5. Ensure Observability

Outline monitoring and logging: track latency per stage, error rates, and user interactions. Use distributed tracing to debug issues, and set up alerts for anomalies.

Key Points to Mention

  • Latency budgets per stage (e.g., STT: 200ms, NLU: 100ms, TTS: 150ms) and techniques to achieve them (streaming, caching).
  • Barge-in handling: voice activity detection (VAD), immediate TTS stop, and context switching.
  • State management: session state storage (e.g., Redis) and handling of multi-turn dialogs.
  • Scalability: stateless services, horizontal scaling, and session affinity for stateful components.
  • Observability: metrics (latency, error rates), logging, tracing, and alerting.
  • Trade-offs: cloud vs on-prem, model size vs latency, and cost vs performance.

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.