Katkat

Implement debounced async autocomplete input

CoinbaseSoftware Engineer · Technical Screen

Last updated

Implement debounced async autocomplete input evaluates requirements, assumptions, structured reasoning, trade-offs, and verification in a realistic interview setting. A strong answer states assumptions, handles edge cases, explains trade-offs, and shows how to validate the result clearly.

Implement an autocomplete input component from scratch. Requirements:

  1. Debounce user keystrokes to avoid excessive network calls.
  2. Perform asynchronous fetches for suggestions; handle loading, errors, and empty results; prevent stale responses from overwriting newer ones.
  3. Render a suggestions list under the input with proper focus management.
  4. Support keyboard navigation: Up/Down arrows move the active index, the active option is visually highlighted, and Enter selects/submits the active option.
  5. Describe your event-handler and state design (what states you keep, how they transition, and how you wire input, list, and keyboard events).