Interviews to people who apply to the React.js developer position can be mainly oriented towards the knowledge the candidate has about this technology’s core. On top of that, if you’re thinking about hiring an engineer who’s highly experienced in this library, you can also evaluate his knowledge on a State Management tool such as Redux or also on features that have been included in more recent versions, for instance, hooks.
Developer’s best practices
A way of determining the experience and quality of a developer’s code is verifying what standards he uses in his projects, naturally, there’s always the inconvenient of having many ways of doing one thing, which is why some will opt, for instance, for using Atomic Design to create a folder structure for the project or simply separate screens from components.
Some other best practices than can be reviewed in a React developer’s code are:
Keeps his components small instead of adding big quantities of code in a single screen.
Uses functional components instead of class components, since the first ones are usually more efficient.
Does not use index as a key property of a list. Doing so would cause issues and the rendered information can be not cohesive with the expected output.
Reduces the use of stateful components since their logic is usually harder to reuse and are harder for developers to understand.
Sometimes it is good to have in mind that we can include, as part of the process, a technical interview that can be focused a bit more on the academic. That way, it can be identified if the concepts are clear for the candidate.
What is State?
What are the differences between state and props?
How doesVirtualDOM work and what are the differences with Real DOM?
What is the method render() used for in React?
What are the lifecycle methods in React?
What is the difference between Stateful Components and Stateless Components?
What are HOC (High Order Components)?
What is Redux and which are its principles?
Explain Redux’s components
What are hooks? Mention how do useState and useEffect work.
Take-home tests as a complement to the interview
There are several take-home tests that you can provide to the candidate in order to test his skills. These kinds of tests need to always be oriented towards measuring the real skills that the candidate will use in the project for which he will be hired.
Of course, there will be project in which the developer will test many of his skills, let’s see some of those:
Objective: to build an application that consumes Github’s API and allows to view the repositories of a specific user.
There must be a HTML input where the name of a user of whom you want to see repositories can be typed.
The application has to deploy from a service such as Heroku, Firebase hosting, or Digital Ocean.
Take-home projects are usually the best alternative for most cases, since some kind of tests, like board tests, usually make some developers nervous, which is why they will tend not to answer correctly.
Also, theoretical questions can always help the recruiter or CTO to know how clear are concepts from React to a developer.