Hiring Node developers can be a hard task, since in the market there are a dozen solutions and frameworks that allow us to write code in the back-end, such as Sails, NestJS, Feather or Express.
However, a CTO or IT recruiter in charge of the technical interviews can save some time by asking questions about all those frameworks’ core, since it is Node.js itself, because knowing this technology’s key concepts will allow the candidate to learn any of the technologies previously mentioned or at letas, it will be easier to understand them better.
Developer’s best practices
Usually Node.js developers are oriented towards writing APIs, which is why, they should implement best practices such as:
Correctly use HTTP status codes.
Use authentications based on JWT (JSON Web Tokens).
Create proper documentation for APIs.
Does suitable versioning with endpoints understandable for the developer.
Many technical interviews are usually aimed at writing code and technical problem solving, however, questions to test the candidate’s theoretical knowledge, could help the recruiter determine how clear are concepts for him.
Let’s see a list of 10 questions that can be done at this kind of interview:
What is event loop in Node.js?
What are Streams?
What is the purpose of “module.exports”?
How can you configure properties for different environments (production, development, etc)?
How do you obtain the variables and property values passed through URL (GET method)?
What is a middleware?
What is an EventEmitter?
What is package.json and what is it used for?
When should we not use Node.js?
What is the difference between blocking and nonblocking code?
Take-home projects as a complement to the interview
Up next, we will see an example of take-home project that can be assigned to a candidate for the Node.js developer position:
Objective: To build an API that allows to manage a users database and their curriculum.
The API should allow:
To consult the list with all the users.
To consult a specific user with the list of his previous jobs, showing: name of the company , time worked and functions carried out.
The delivered API must be deployed in some service like AWS, Digital Ocean, Heroku.
The API-s documentations must be delivered in any service like Postman or a similar tool.
Using a technological stack depends on the company, many use the combination Node.js, Express and MongoDB, but some opt for NestJS and they even use relational database engines like MySQL and PostgreSQL.
Node.js is a very wide technology due to the amount of available frameworks, however, evaluating the candidate focusing on the Node.js core concepts, will allow you to deeply know how much experience this person has resolving different issues, independently from external packages.