blog.1.image
Staff Augmentation

2021-02-01

Cómo contratar desarrolladores NodeJs (y 10 preguntas clave para una entrevista de trabajo)

Fabián Rodríguez

Back to Blog

Contratar desarrolladores Node puede ser una tarea ardua, pues en el mercado existen una docena de soluciones y frameworks que nos permiten escribir código en el back-end, tales como Sails, NestJS, Feather o Express.

Sin embargo, un CTO o reclutador IT encargado de las entrevistas técnicas puede ahorrar algo de tiempo haciendo preguntas sobre el núcleo de todos estos frameworks, que es el mismo Node.js, pues conocer los conceptos clave de esta tecnología le permitirán al candidato aprender cualquiera de las tecnologías ya mencionadas, o al menos, tendrá la facilidad para entenderlas mejor.

Buenas prácticas del desarrollador

Usualmente los desarrolladores Node.js se orientan a escribir APIs, por lo tanto, deberían implementar buenas prácticas como:

  • Usar correctamente códigos de estado HTTP.

  • Usar de autenticaciones basadas en JWT (JSON Web Tokens).

  • Crear documentación adecuada para las API.

  • Hace un versionamiento idóneo con endpoints entendibles para el desarrollador.

Preguntas de entrevista

Muchas entrevistas técnicas suelen estar encaminadas a escribir código y resolver problemas técnicos, sin embargo, las preguntas utilizadas para poner a prueba los conocimientos teóricos del candidato, le podrían ayudar al reclutador a determinar qué tan claros tiene los conceptos.

Veamos una lista de 10 preguntas que pueden hacerse en este tipo de entrevista:

  1. ¿Qué es el event loop en Node.js?

  2. ¿Qué son los Streams?

  3. ¿Cuál es el propósito de "module.exports"?

  4. ¿Cómo se pueden configurar propiedades para distintos entornos (producción, desarrollo, etc)?

  5. ¿Cómo se obtienen las variables y valores de las propiedades pasadas por URL (método GET)?

  6. ¿Qué es un middleware?

  7. ¿Qué es un EventEmitter?

  8. ¿Qué es package.json y para qué es usado?

  9. ¿Cuándo no deberíamos usar Node.js?

  10. ¿Cuál es la diferencia entre código bloqueante y no-bloqueante?

Proyectos en casa como complemento a la entrevista

A continuación, veremos un ejemplo de proyecto en casa que puede asignarle a un candidato para la posición de desarrollador en Node.js:

Objetivo: Construir un API que permita gestionar una base de datos de usuarios y sus respectivos curriculums.

Requerimientos funcionales

El API debe permitir:

  • Consultar la lista de todos los usuarios.

  • Consultar un usuario específico con la lista de sus trabajos anteriores, mostrando: nombre de la empresa, tiempo laborado y funciones realizadas.

Requerimientos técnicos

  • Se debe entregar el API desplegada en algún servicio como AWS; Digital Ocean o Heroku.

  • Se debe entregar la documentación de la API en algún servicio como Postman o una herramienta similar.

El el uso de un stack tecnológico depende de la compañía, muchas usan la combinación Node.js, Express y MongoDB, pero algunas optan por NestJS e incluso, usan motores de base de datos relacionales como MySQL y PostgreSQL.

Conclusión

Node.js es una tecnología muy amplia debido a la cantidad de frameworks disponibles, sin embargo, evaluar al candidato enfocándose en los conceptos del núcleo de Node.js, le permitirán conocer más a fondo qué tanta experiencia tiene esta persona resolviendo distintos problemas, independientemente de los paquetes externos.

Share this article:

FacebookTwitterLinked In
What are you waiting for?

pre-vetted developers ready to be interviewed and join your team

More great articles

Sundevs

© Copyright SunDevs 2021. All Rights Reserved.