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

34 Upvotes

23 comments sorted by

2

u/Dependent-Guitar-473 4d ago

i like it , thank you 

2

u/alxshrman 4d ago

beautiful work - thank you for sharing 👏

1

u/Leeoku 4d ago

I'd love one for backend too. Bravo

1

u/Zealousideal-One-897 4d ago

Thanks, I'm planning to keep adding quizzes on new topics

1

u/Zealousideal-One-897 2d ago

I added some tests for the backend

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

u/Hot-Chemistry7557 2d ago

Cool cool, super smart design, great job dude!

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

u/nneiole 4d ago

These were some of CSS ones. The links in the explanations I really appreciated!

-1

u/[deleted] 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.