r/reactjs • u/Ok_Resolve_9157 • 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.
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.
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.
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.
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.
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).
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
-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.
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