advanced
Search autocomplete
Design prefix indexes, ranking, personalization, update pipelines, latency budgets, and fallback behavior. Объясняйте API, data model, bottlenecks и trade-offs.
Autocomplete подсказывает запросы по мере ввода при жёстком бюджете latency (часто p99 < 50–100 ms). Prefix index — trie, Elasticsearch completion suggester или отдельные prefix-таблицы — из offline или streaming pipeline логов поиска и изменений каталога.
Ранжирование: популярность, персонализация, локаль и свежесть. Debounce на клиенте и кеш горячих prefix на CDN или edge. Fallback на trending при lag или сбое индекса.
На интервью: pipeline от запросов к prefix index, сигналы ранжирования для «ap» → «apple» и деградация при timeout backend.
Типовые ошибки: primary БД с LIKE prefix; нет debounce и шторм запросов; устаревшие подсказки после переименования в каталоге.
Компромисс — гибкость против сложности: знайте, когда достаточно более простого пути.
Чеклист:
- Prefix index для быстрого lookup.
- Async pipeline из логов запросов.
- Ранжирование: популярность и персонализация.
- Кеш горячих prefix и fallback.