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.
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
DebuggingSenior35mMove 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.
Explain render, commit, effects, and transitions
ConceptMid25mTrace 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.
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
CodingMid30mRepresent disconnected, connecting, connected, wrong network, and rejected states with exhaustive rendering.
Avoid nullable address/provider fields sprinkled through components.
Validate API data at the boundary
CodingSenior40mParse 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.
Money + Async Utilities
Amount precision, cancellation, retries, and microtask ordering show up quickly in finance interviews.
Fix a parseFloat money bug
CodingMid30mConvert decimal input into minor units with validation, precision limits, and clear user-facing errors.
Money UI should not rely on binary floating point.
Implement abortable retry with exponential backoff
CodingSenior35mWrite 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.