DEV Community

Duffman
Duffman

Posted on

7 Free React Challenges You Should Complete Before a Frontend Interview

Preparing for a frontend interview? One of the fastest ways to level up is by solving small, focused React exercises that test the exact skills interviewers look for: state management, effects, forms, accessibility, performance, and custom hooks.

From ReactChallenges.com, I handpicked 7 free challenges (don’t require a subscription) that cover the fundamentals you’ll likely be asked about.


1. Counter Component — useState vs useRef

A classic challenge for understanding why components re-render (or don’t). Perfect for explaining the difference between state and refs during an interview, and when to use each.


2. Uncontrolled Form

Many developers only use controlled forms. This challenge forces you to work directly with the DOM and refs, which is great for discussing trade-offs and alternative form patterns.


3. Wikipedia Search — Fetching + State + Lists

Fetching and state handling are interview staples. Here you’ll work with a real API, loading/error states, and a search history list — small details that often show up in interview tasks.


4. React Chrono — Start / Pause / Stop

Timers reveal whether you really understand how useEffect works, closures, and cleanup logic — common interview talking points. It also produces a nice demo to show in a portfolio.


5. Accessible Accordion

Accessibility is becoming a must-have skill. This challenge covers semantic headings, aria-expanded, aria-controls, keyboard behavior, and multiple/single modes.


6. useToDo & useLocalStorage Hooks

Interviewers love seeing reusable logic. These hooks help you understand how to extract logic cleanly and persist data — great for mid-level or senior interviews.


7. useDebounce vs useThrottle

Implementing debounce and throttle from scratch shows strong understanding of performance and event frequency control — often asked during technical interviews.


Bonus: useActionState (Modern Form Handling)

A modern pattern especially relevant if interviewing for roles using Next.js or newer frameworks. A great bonus challenge.


How to use these challenges to prepare

  1. Solve 2–3 challenges every few days (don’t rush all at once).
  2. In the interview, explain what you did and why: decisions, trade-offs, alternatives.
  3. Practice explaining a bug you hit and how you solved it — that always impresses interviewers.

Top comments (0)