DEV Community

Cover image for 10 ReactJS Coding Challenge (💥Coding Interview Prep💥)
Let's Code
Let's Code

Posted on • Updated on

10 ReactJS Coding Challenge (💥Coding Interview Prep💥)

Last month, I posted 2 ReactJS interview questions 🎤 - Advance Questions and Commonly Asked Question and got a significant welcome by dev.to community. 🤗 🥰 Many thanks to all of you!

I decided to complete the package by creating codepen exercises 📝 and a video 📺 to follow up on that effort as one will need to code following the technical interview questions. Also, I added potential solutions for the exercises which is listed below.

If you need to brush up 🆙 your ninja ReactJS skills, you can try to answer the exercises below OR click the video below to guide you step-by-step interactively. (No filler, fast, straight to the point as I highly respect/value your time)

These exercises and solutions will also be available on the video as well.

Exercises: 🏋️

Display simple JSX

Display array of users to browser

Show/Hide Element on Screen

2 way data binding in ReactJS

Disable a button

Update the parent state

Dynamically add child components (React Children)

Sum of Two Numbers

Create Counter App

Fetch data from an API

Solutions: 🙋

Display simple JSX

Display array of users to browser

Show/Hide Element on Screen

2 way data binding in ReactJS

Disable a button

Update the parent state

Dynamically add child components (React Children)

Sum of Two Numbers

Create Counter App 🕒

Fetch data from an API

Happy coding and good luck on your next interview! I hope this material will help you land your next dream job. 💰 🚗 📈

Top comments (38)

Collapse
 
armenic profile image
armenic

Thanks for nice challenges. I really enjoyed solving them! By the way beta.reactjs.org/ also started to include challenges. Maybe you can contribute to the new docs? They are open for public PRs.

Collapse
 
frontendengineer profile image
Let's Code

your welcome! ill definitely check that out. thanks for the link.👏🏻👍

Collapse
 
lovishtater profile image
Lovish Tater

Hi armenic,
I want to contribute new challenges in beta.reactjs.org/. I don't know how to contribute, I saw React's git repo but I didn't understand how to start. can you please guide me.

Collapse
 
frontendengineer profile image
Let's Code
Collapse
 
mkmckenzie profile image
Mary-Katherine McKenzie

Great exercises! Had fun with these!!

One thing I want to note - in your solutions, I often see the pattern:

const [value, setValue] = React.useState(0)

<button onClick={setValue(value +1)}>Increment</button>
Enter fullscreen mode Exit fullscreen mode

However, the React docs prefer this method of using the previous state value - passing a function that receives the previous state value.

const [value, setValue] = React.useState(0)

<button onClick={setValue(prevValue => prevValue + 1)>
    Increment
</button>
Enter fullscreen mode Exit fullscreen mode

Updating state with value instead of using the previous state function may result in some buggy behavior because of React's unpredictable & async state-updating logic. Likely won't see anything buggy with these examples since they aren't too complex, but just wanted to shout out that nuance!

Thanks again for these great exercises!!

Collapse
 
frontendengineer profile image
Let's Code

yes, passing a function is way better and the right approach to handle setting state here. Glad that you found this post useful and you are very welcome. Will create more post/video like again.

Collapse
 
cssmatter profile image
Manish Salunke

I found this on udemy.
React JS Coding Interview Challenges and Exercises
udemy.com/course/react-js-coding-i...

its good.

Collapse
 
replay profile image
Ionut Oltean

Nice I always look for those kind of challenges to practice

Collapse
 
frontendengineer profile image
Let's Code

i plan on making more in the future. Stay tuned :)

Collapse
 
sandyml profile image
sandym

I enjoyed this! Thank you so much!!! If anyone have anything similar please share! I would love to tackle on some more!
Thank you in advance!

Collapse
 
frontendengineer profile image
Let's Code

you are welcome!

Collapse
 
belle1306 profile image
Isabelle Francis

For create counter app challenge, i created two functions (decrease and increase) to be passed instead, later simply calling ....is that inline with best practise?

Collapse
 
frontendengineer profile image
Let's Code

it is and is common in any ReactJS applications

Collapse
 
abbydorso profile image
abbydorso

this is so helpful for interview prep, thank you!!

Collapse
 
frontendengineer profile image
Let's Code

helping engineers like you and me are the goal of this post and video.

I appreciate the comment and stay tuned for more post like this.

Collapse
 
aliafify profile image
Aliafify

thanks for that nice chalanges

Collapse
 
frontendengineer profile image
Let's Code

your welcome buddy! i feel great that this content helps many devs. 👍

Collapse
 
veronicamarie24 profile image
Veronica Valenzuela

This was so helpful, thank you!

Collapse
 
frontendengineer profile image
Let's Code • Edited

your welcome Veronica! check the youtube video i have above for additional reference. Many found it useful as well.

Collapse
 
techspace profile image
Saty4Dev

It's difficult for beginners (like me) to directly dive into building projects after learning React from online tutorials. Thanks for these practice problems, need more of these on React. :)

Collapse
 
frontendengineer profile image
Let's Code

ive been there before and i know how you feel. i’ll try to find more time and do more. i’ll post when i have something ready. thanks for the comment

Collapse
 
pcoch profile image
Pcoch

Out of curiosity, if you could do all of these quite easily without any external help/docs, is that a good sign you might be ready for a React Junior Dev role? 🤔 Or would we need to be answering the advanced ones?

Collapse
 
frontendengineer profile image
Let's Code

this is question is more tailored for experienced/advanced React Dev.

you can expect basic Q&A for React Junior Dev and small react exercises

Collapse
 
urmajesty516 profile image
Janice

I found these exercises are too easy. Could you please mention that these are for absolute beginners somewhere in the header of the post? I doubt that any interview question would be this straight forward. Nevertheless, appreciate your effort on making the post, it has to be useful for someone 👏🏻

Collapse
 
ersankarimi profile image
Ersan Karimi

For me (beginner), this is very helpful and gives an overview of the interview later. Thank you for sharing

Collapse
 
frontendengineer profile image
Let's Code

absolutely! what is your status currently? are you in the job market?

Collapse
 
anandbaraik profile image
Anand-Baraik

Good job man. Intresting exercises.

Collapse
 
frontendengineer profile image
Let's Code • Edited

thank you Anand! What is your favorite exercise and why? Or perhaps anything that you would like to see on the challenge.

Collapse
 
greenjscoder profile image
Neuro Neutro

too easy for interview, look real example
https://stackblitz.com/edit/stackblitz-starters-rqq4bw?description=A%20create-react-app%20project%20based%20on%20react%20and%20react-dom&file=src%2FApp.js,src%2Findex.js&title=React%20Starter
you can make that all works as expected, but wont pass interview because of interviewer wants you write some functions in other way

Collapse
 
greenjscoder profile image
Neuro Neutro

and you can forget some things because of worrying