← Back to finance specialization
Stage 2Weeks 1-2

React + TypeScript Interview Core

Sharpen the fundamentals that financial product UI depends on

This stage keeps the fundamentals practical: React rendering and effects, JavaScript async behavior, TypeScript modeling, runtime boundaries, and money amount safety.

Goal

Answer React/TypeScript questions with examples tied to long-running, high-stakes product interactions.

React Runtime

React bugs in transaction UI often come from unclear effect ownership, stale closures, Strict Mode behavior, and accidental resubmission.

Debug an effect that submits twice in Strict Mode

DebuggingSenior35m

Move user-intent side effects into event handlers, make submit idempotent, and explain why dependency-array fixes are not enough.

Use a transfer form or approval flow, not an analytics toy example.

ReacteffectsStrict Modeidempotency
Read guide ->

Explain render, commit, effects, and transitions

ConceptMid25m

Trace what happens when a user edits an amount, validation runs, and a non-urgent quote refresh starts.

Mention when derived state belongs in render versus effect.

renderinghookstransitions
Read guide ->

TypeScript State Modeling

Financial UI needs illegal states to be hard to represent. TypeScript should encode workflow shape, not just autocomplete props.

Model wallet connection as a discriminated union

CodingMid30m

Represent disconnected, connecting, connected, wrong network, and rejected states with exhaustive rendering.

Avoid nullable address/provider fields sprinkled through components.

TypeScriptwalletunion types
Read guide ->

Validate API data at the boundary

CodingSenior40m

Parse a transfer response into trusted domain types and return typed errors for malformed data.

Static types do not protect you from JSON that arrived over the network.

runtime validationAPIdomain types
Read guide ->

Money + Async Utilities

Amount precision, cancellation, retries, and microtask ordering show up quickly in finance interviews.

Fix a parseFloat money bug

CodingMid30m

Convert decimal input into minor units with validation, precision limits, and clear user-facing errors.

Money UI should not rely on binary floating point.

moneyprecisionforms
Read guide ->

Implement abortable retry with exponential backoff

CodingSenior35m

Write a typed helper that handles cancellation, retryable errors, jitter, and cleanup on unmount.

Use it for polling a transfer detail endpoint or refreshing quote data.

asyncretryAbortController
Read guide ->