Daily iOS
iOS system design

Search feature design

Design the search screen of a music app: autocomplete while typing, a results list, and recent searches. Focus on how you keep a request from going out on every keystroke.

How would an interviewer hear this answer? You'll see whether they'd move on, dig in, or say no, and which sentences would trip you up. Your score doesn't change.
See the short answer

Debounce input (200 to 300ms) and ignore anything under 2 characters to cut request volume. Autocomplete uses a short-TTL memory cache, recent searches and downloaded content live in a local DB for offline search, and results render in sections (tracks, albums, artists) with a diffable source.

Share a question