PracHub
QuestionsPremiumCoachesLearningGuidesInterview Prep
|Home/Other / Miscellaneous/Coinbase

Implement debounced async autocomplete input

Last updated: Mar 29, 2026

Quick Overview

This question evaluates proficiency in frontend engineering skills including asynchronous data fetching, debouncing, state and event management, keyboard accessibility, and techniques to prevent stale async responses.

  • medium
  • Coinbase
  • Other / Miscellaneous
  • Software Engineer

Implement debounced async autocomplete input

Company: Coinbase

Role: Software Engineer

Category: Other / Miscellaneous

Difficulty: medium

Interview Round: Technical Screen

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).

Quick Answer: This question evaluates proficiency in frontend engineering skills including asynchronous data fetching, debouncing, state and event management, keyboard accessibility, and techniques to prevent stale async responses.

Related Interview Questions

  • Clarify CodeSignal partial credit and score access - Coinbase (easy)
Coinbase logo
Coinbase
Aug 1, 2025, 12:00 AM
Software Engineer
Technical Screen
Other / Miscellaneous
4
0

Implement an Autocomplete Input Component (Frontend Technical Screen)

Context

Build an autocomplete input from scratch (no UI libraries). You may use plain JavaScript or a framework like React. Assume you can call an async function to fetch suggestions from a server.

Assume an API like:

  • fetchSuggestions(query: string, signal?: AbortSignal): Promise<string[]> — resolves to a list of suggestion strings; rejects on network error; supports abort via AbortController.

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.
    • 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.

Solution

Show

Submit Your Answer to Earn 20XP

Sign in to leave a comment

Loading comments...

Browse More Questions

More Other / Miscellaneous•More Coinbase•More Software Engineer•Coinbase Software Engineer•Coinbase Other / Miscellaneous•Software Engineer Other / Miscellaneous
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.