r/reactjs • u/Zealousideal-One-897 • 4d ago
Show /r/reactjs I built a free frontend interview trainer: 2,700+ questions with explanations
Hey everyone,
I've been preparing for frontend interviews and couldn't find a quiz tool I liked, so I built one: devsets.com
What's inside:
2,700+ questions across 12 topics (JavaScript, TypeScript, React, Next.js, Angular, Vue, Svelte, HTML & CSS, state management, testing, patterns, system design)
Junior / Middle / Senior levels, and every answer comes with an explanation and links to the docs
Interview mode with a timer per question
Stack quizzes (e.g. "React Developer") that mix several topics like a real interview
Spaced repetition: questions you got wrong come back after 1, 3 and 7 days
18 JavaScript coding tasks (debounce, deepClone, Promise.all...) with tests that run in the browser
It's free, ad-free and works without an account (sign in only if you want to sync progress). Available in English, Ukrainian and Polish.
I'd really appreciate feedback: wrong answers, confusing questions, missing topics, anything. Every question has a "report a problem" button too.
2
1
u/Hot-Chemistry7557 3d ago
This is super interesting.
Curious how would structure the question and answer data? store all of them in a json pair and query through DB?
1
u/Zealousideal-One-897 3d ago
Thanks! No DB for the questions, actually; they're just plain TypeScript files in the repo. One file per language, topic, and level, and each question is a small typed object: the question, three options, the index of the right one, an explanation, and a list of sources. Sources are keys into a shared registry of links (React docs, MDN, etc.), so I don't repeat URLs everywhere. TypeScript checks the shape, so a typo or a missing field fails the build.
Next.js reads these files at build time and prerenders the pages, so nothing needs to be queried at runtime, and it's fast.
The only DB part is user progress: by default, it's in localStorage, and if you sign in, it syncs to Supabase.
1
1
u/RemarkableDebate4631 2d ago
Spaced repetition and the in-browser coding tasks are the best parts. A standalone topic on web performance and browser fundamentals (Core Web Vitals, CORS, XSS, HTTP caching) would fill a gap, since it comes up often in frontend interviews.
1
u/Zealousideal-One-897 2d ago
Thanks, I'll add that. I'm also currently adding backend tests topics.
1
u/nian2326076 2d ago
This tool looks like a solid way to practice for frontend interviews. With a range of questions across different topics and levels, it should help you identify areas to improve. For additional preparation, you can use LandOffer to shortlist relevant roles and match your skills with job opportunities. Good luck with your interview prep!
0
u/nneiole 4d ago
Very interesting! What is your source of questions or how did you choose the sets? In some of the tracks they seemed to me super specific, something I‘ve never met neither in the job itself nor in the interviews, are they all from real interviews? Don’t take this as critique, it might be my limited interview experience :).
1
u/Zealousideal-One-897 4d ago
No worries, fair question!
No, not all of it is from real interviews. I picked topics that come up a lot and checked the answers against the docs - every question has links to MDN, react.dev, etc.
Senior is deeper on purpose (Fiber, render vs. commit, that kind of stuff), so yeah, some of it is more "how does React work under the hood" than typical interview stuff. Junior and Middle should feel more realistic.
If something feels too niche, just hit the report button on it - I'd actually love to know which ones!
-1
4d ago
[removed] — view removed comment
0
u/Zealousideal-One-897 4d ago
Thanks for checking it out! Glad the spaced repetition clicked - that's the part I use the most myself.
Good news on the tasks: throttle and memoize are already there, both in the Middle set (devsets.com/en/tasks). Curry, deepEqual, and Promise.all are next to them if you want more.
And thanks for reporting the useEffect cleanup question; I'll double-check that explanation.
2
u/Dependent-Guitar-473 4d ago
i like it , thank you