PracHub
QuestionsPremiumLearningGuidesCheatsheetNEWCoaches
|Home/System Design/Coinbase

Implement a multi-step form in React

Last updated: Mar 29, 2026

Quick Overview

This question evaluates a candidate's competence in React front-end development, including component state management, multi-step form validation, UI state control during asynchronous submissions, and error handling.

  • medium
  • Coinbase
  • System Design
  • Software Engineer

Implement a multi-step form in React

Company: Coinbase

Role: Software Engineer

Category: System Design

Difficulty: medium

Interview Round: Onsite

Build a multi-step form component for the web. Steps: ( 1) collect basic user information; ( 2) collect address information; ( 3) review and confirm submission. Requirements: implement basic field validation; allow step navigation and switching; control disabled states appropriately; show a loading state on submit; and display error messaging on failed submissions. Use React. Be ready to discuss: why choose a reducer-based state management approach versus multiple useState hooks; how you would organize the component structure as the number of steps grows large; how to design error messages to balance good UX with clear logic; and what performance optimizations you would apply (e.g., memoization, lazy rendering).

Quick Answer: This question evaluates a candidate's competence in React front-end development, including component state management, multi-step form validation, UI state control during asynchronous submissions, and error handling.

Related Interview Questions

  • Design Crypto Order Routing - Coinbase (hard)
  • Design a crypto trading web frontend - Coinbase (hard)
  • Design query pagination for large datasets - Coinbase (medium)
  • Design a food delivery system - Coinbase (medium)
  • Design real-time crypto prices homepage - Coinbase (hard)
Coinbase logo
Coinbase
Sep 6, 2025, 12:00 AM
Software Engineer
Onsite
System Design
8
0

Build a Multi‑Step Form Component in React

Context

You are implementing a multi‑step web form in React. The form gathers user data over several steps and supports validation, navigation, and robust submission behavior.

Steps

  1. Collect basic user information.
  2. Collect address information.
  3. Review and confirm submission.

Requirements

  • Implement basic field validation.
  • Allow step navigation and switching.
  • Control disabled states appropriately (e.g., buttons, inputs while submitting).
  • Show a loading state on submit.
  • Display error messaging on failed submissions.
  • Use React functional components.

Discussion Topics (be ready to explain)

  • Why choose a reducer‑based state management approach versus multiple useState hooks.
  • How to organize the component structure as the number of steps grows large.
  • How to design error messages to balance good UX with clear logic.
  • What performance optimizations you would apply (e.g., memoization, lazy rendering).

Solution

Show

Comments (0)

Sign in to leave a comment

Loading comments...

Browse More Questions

More System Design•More Coinbase•More Software Engineer•Coinbase Software Engineer•Coinbase System Design•Software Engineer System Design
PracHub

Master your tech interviews with 7,500+ 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.