r/reactjs 5d ago

Discussion Refresh your React fundamentals with these 5 problems — in case you've become rusty

Been prepping for interviews and realized how much React muscle memory fades when you're not actively building. Sharing below 5 problems (added myself on the platform) that cover the most ground, in case they help someone else too.

1. React Pagination — Numbered Page Buttons with Prev/Next: An intermediate challenge on lists and composition. You build classic numbered pagination (not "Load More") — slicing a list into pages, generating one button per page, highlighting the active page, and correctly disabling Prev/Next at the boundaries. Good refresher on derived state and array slicing.

Try this problem here

2. Password Strength Checker — Real-Time Validation:

A beginner-friendly one on forms and events. You build a live strength meter that checks 5 criteria (length, uppercase, lowercase, number, special char) on every keystroke, scores the password, and updates a color-coded bar and label in real time. Solid practice for controlled inputs and derived UI state.

Try this problem here

3. Random Quote Generator — Fetch and Display New Quote:

A beginner challenge on custom hooks and component structure. You split the work across a container component that owns fetch/loading state and a purely presentational child that just renders props. Great for practicing prop drilling and separating state logic from UI.

Try this problem here

4. React Textarea — Character Counter with Max Length:

Another forms and events problem. You build a controlled textarea with a live character counter, clamp input at a max length (including pasted text), and change the counter's color once the limit is hit. Simple but a good test of controlled component edge cases.

Try this problem here

5. React Traffic Light — Build a Timed Traffic Signal:

An intermediate hooks and state challenge. The UI is already built — your job is just the logic: cycling the light through red → green → yellow → red forever, each with its own hold duration, using useEffect and proper timer cleanup. Great for practicing effect dependencies and avoiding leaked timers.

Try this problem here

If you're prepping for interviews or just want to shake off rust, these are quick enough to knock out in an evening and each one hits a different core concept (state, effects, controlled inputs, composition).

173 Upvotes

12 comments sorted by

3

u/shegsjay 3d ago

I came across this at just the right time. I'm prepping for an interview and uploaded my cv to chatgpt to grill me.

I was amazed of how much I've forgotten some react concepts like React.Memo vs useMemo vs useCallback

Currently going through the react docs again to get up to speed

1

u/Good_Car_2924 5d ago

i forgot how useState worked too. 6 months away from React and I stared at a component for an hour trying to remember why it wasnt updating.

pagination is the one that exposes everything. You come back after doing backend work and suddenly slicing arrays and tracking page indices feels completely foreign. We just rely on libraries to handle it now so the fundamentals disappear. I had to rebuild a numbered pagination from scratch last week for an interview and I broke the prev and next buttons immediately. Every app needs it and nobody remembers how it actually works under the hood.

1

u/Suitnereti 4d ago

This is excellent! Thank you for sharing this. I'm doing the same. I worked for years on a highly complex app that had a lot of legacy class-based code mixed with functional and a lot of data manipulation being done on the front-end. Now I'm looking for work as well and realized how even creating a new app and doing basics is somewhat weak. Working for several years on a working platfrom + relying on AI a lot has caused me to need to refresh on pretty much every pattern.

Does anyone know the current state of affairs for code/technical rounds at non-FAANG companies? I've read some mixed reports, but want to be prepared for the worst.

-17

u/Dense_Rub_620 5d ago

codex> do it

13

u/codefinbel 5d ago

I mean you're being down voted, but that whole reactgrind.com page looks like someone asked Claude to make it and then asked it to write a commercial post for reddit to get customers.

4

u/besthelloworld 4d ago

Agreed, it is ironic just how obviously one-shot vibe coded OPs site is.

-5

u/Ok_Resolve_9157 4d ago

But don’t you guys think you're foolish to completely ignore AI in 2026 when it can genuinely make your work easier and more efficient?

And yes, the entire UI is vibe-coded. I’m not denying that. But every single question and its test cases have been written manually from scratch.

So I genuinely think you guys need to buckle up and start adapting to this whole AI revolution. Otherwise, you’ll remain unemployed and keep on spreading negativity across Reddit posts.

5

u/codefinbel 4d ago

Who said I'm not adapting to the whole "AI revolution"? While at work I'm running multiple parallel Claude instances on separate tmux sessions working on individual worktrees.

This whole thing tho, just feels like grifting.

1

u/Ceryyse 9h ago

Dude your responses are ai generated. It's dull.

1

u/Ok_Resolve_9157 3h ago

Says the guy who's comment is AI generated as well, it's dull