Cómo revisar las habilidades de los desarrolladores de JavaScript para encontrar lo mejor - guía para el reclutamiento de IT

Publicado: Última actualización:
JavaScript: preguntas de la entrevista a un ingeniero de software

1. ¿Qué es JavaScript?

JavaScript (también conocido como JS) es un lenguaje dinámico de alto nivel, basado en prototipos y sin teclear. Dependiendo del entorno, JavaScript puede ser interpretado o compilado. Es un lenguaje de programación multiparadigma, que soporta estilos de programación orientados a objetos, imperativos y funcionales.

JavaScript comenzó como un lenguaje sólo para navegadores, añadiendo muchas posibilidades para mejorar los sitios web ya escritos con HTML y CSS. En 2009 todo cambió. Ahora, JavaScript puede ser usado en cualquier lugar (literalmente en todas partes, incluso en trajes espaciales) debido a Node.js - que es un entorno de ejecución de JavaScript basado en el motor JavaScript V8 de Google. Las aplicaciones escritas en JavaScript pueden ser muy rápidas si son hechas por desarrolladores expertos. Debido al muy bajo nivel de entrada en el mundo de JavaScript, es ahora uno de los los idiomas más populares en uso.

Recuerde: Java y JavaScript no son el mismo lenguaje de programación. Los desarrolladores son sensibles a sus lenguajes favoritos, así que es muy importante no confundir los nombres.

2. ¿Qué es importante que el reclutador de IT sepa sobre JavaScript?

La demanda de desarrolladores de JavaScript está aumentando muy rápidamente. Hay algunas cosas que debes saber cuando busques un desarrollador de JS.

- Como mencioné anteriormente, el JavaScript es muy fácil de recoger. Con unas pocas líneas de código puedes cambiar el comportamiento de la página web o hacer un simple servidor HTTP con Node.js. Y esta es también la trampa de JavaScript - muchos desarrolladores están aprendiendo sólo pequeñas partes del lenguaje sólo para hacer las cosas. Para escribir aplicaciones rápidas y de alta calidad necesitas tener un muy buen conocimiento del propio JavaScript.

- Hay un dicho en el mundo del JavaScript - "Un día sin un nuevo marco de trabajo de JavaScript es un día perdido". Nuevas herramientas están apareciendo como hongos en tiempo de lluvia. No condeno esto - es todo lo contrario - lo aliento. Este fenómeno nos muestra lo creativa y apasionada que es la comunidad de JavaScript. Pero este estado de cosas tiene un gran inconveniente - requerimos de los desarrolladores el conocimiento de los frameworks que acaban de ser creados. Un muy buen conocimiento de los frameworks populares es importante para escribir rápidamente aplicaciones JavaScript eficientes, pero es mejor tener un desarrollador con gran experiencia con JavaScript puro y frameworks o librerías más antiguas para aprender nuevas herramientas que tener un desarrollador que sigue a ciegas lo que es nuevo sin una profunda comprensión del lenguaje.

- Por otro lado, a veces el JavaScript puro no es suficiente. Puedes hacer todo desde el principio, pero lleva mucho tiempo y como todos sabemos, el tiempo es dinero. Un buen desarrollador de JavaScript debe conocer al menos un marco de trabajo o biblioteca popular y probada en batalla. Y debido a que el ecosistema está en constante cambio, el conocimiento de las herramientas que se utilizaron hace 2 o 3 años puede estar desactualizado.

- Necesitas saber qué tipo de desarrollador de JavaScript estás buscando. ¿Es alguien que se unirá al equipo de Front-end? ¿O es alguien que trabajará con aplicaciones del lado del servidor?

¿O tal vez es alguien que va a trabajar en aplicaciones móviles híbridas o en dispositivos del Internet de las cosas? La comprensión básica del lenguaje en estos casos es la misma. Sin embargo, cada uno de estos desarrolladores debe tener diferentes conocimientos relacionados con su campo de trabajo.

- Para los puestos de alto nivel, se requiere experiencia comercial, pero para los desarrolladores junior o incluso de nivel medio, una cartera interesante con un código bien escrito en uno de los servicios populares de alojamiento de repositorios (como GitHub) puede ser igual de buena. Los puntos de bonificación si un candidato es un contribuyente a los proyectos de código abierto.

3. ¿Cómo se verifica la capacidad de JavaScript en la fase de selección?

La detección es difícil cuando no se conocen las tecnologías utilizadas por los desarrolladores. Es aún más difícil cuando todo cambia tan rápido como en el ecosistema de JavaScript. Por lo tanto, vamos a pasar a algunos consejos prácticos de reclutamiento para verificar las habilidades de los desarrolladores de JavaScript.

3.1 Examen técnico de las habilidades de JavaScript basado en el CV

Tecnología JavaScript: glosario básico de términos de JavaScript para los reclutadores de TI

El currículum del candidato puede darnos mucha información útil, pero hay que saber elegir lo más importante. Hay muchas frases técnicas diferentes en cada currículum y es muy importante no confundirse con ellas. Como reclutador técnico que busca desarrolladores de JavaScript, debe estar familiarizado con toda la terminología utilizada por los candidatos.

A continuación encontrará información útil que le ayudará a mantener la cordura durante la exploración.

Glosario de JavaScript para reclutadores técnicos

Versiones de JavaScript EcmaScript 5 (ES5 - disponible en todas partes), EcmaScript 6 (ES6 - disponible en los navegadores más recientes), EcmaScript 2016 (ES7 )
Marcos y bibliotecas de JavaScript Angular.js, jQuery, Reactar, Espina Dorsal, Ember, Vue.js, Polímero, Aurelia, Knockout, Rx.js
Marcos de JavaScript para Node.js Express.js, Hapi.js, Koa, Sails, Meteor
Los gestores de paquetes de Node.js NPM, Bower, JSPM
Node.js basado en task runners y herramientas de construcción GulpGruñón, Brócoli, Webpack
Marcos de pruebas de JavaScript Casper, Mocha, Jazmín, Jest, Karma
Transponedores de JavaScript Traceur, Babel
Marcos de aplicaciones móviles híbridas Sencha Touch, Ionic, Apache Cordova, IntelXDK
Los superconjuntos de JavaScript o los lenguajes que compilan a JavaScript TypeScript, CoffeScript, Elm, Dart

Esto es lo básico. Ahora podemos ir más profundo. Hay una variedad de herramientas, marcos y bibliotecas y cada una de ellas es diferente. Para hacer las cosas más picantes, puede haber grandes diferencias en las versiones de las herramientas. Si un candidato declara que conoce AngularJS, ¿es una versión del marco que nuestro cliente está buscando? Sigue leyendo y todo estará claro.

La mayoría de los nombres comunes de JavaScript que se usan indistintamente:

- JS, JavaScript, EcmaScript

- Node.js, Node, entorno de ejecución de JavaScript del lado del servidor

- Aplicación híbrida, aplicación móvil híbrida, aplicación híbrida

Relaciones entre las respectivas versiones de la tecnología JavaScript:

- EcmaScript 6 amplía EcmaScript 5 (JavaScripts debe ser compatible con la versión anterior, de lo contrario las nuevas versiones romperían la Web)

- jQuery 1.x , 2.x y 3.x son similares

- Angular 1.x es totalmente diferente de Angular 2.x

- El concepto básico es el mismo pero hay diferencias entre cada versión principal de React

- El Vue 1.x es totalmente diferente del Vue 2.x

- Las aplicaciones escritas con Ember.js 1.x todavía funcionan con 2.x

- El concepto básico es el mismo pero hay diferencias entre cada versión principal de Node.js

- NPM 3.x es una versión más rica de NPM 2.x

También es valioso tener en cuenta las relaciones siguientes:

- MV* Frameworks - Si alguien conoce uno de Ember, Knockout o Angular 1.x entonces será capaz de lidiar con el descanso

- Aplicaciones móviles híbridas - Si alguien sabe Angular o Reaccionar entonces podrá hacer una aplicación móvil híbrida

- Aplicaciones del lado del servidor - Si alguien conoce a Express, Hapi, Koa o Meteor entonces podrá ocuparse del descanso

Otra información en el currículum que puede mostrar las habilidades de JavaScript del desarrollador:

Debido a los constantes cambios en el mundo del JavaScript, no hay certificados que puedan probar las habilidades del candidato. Bueno, hay uno. Y es la cuenta de GitHub. Los buenos desarrolladores de JavaScript a menudo participan en proyectos de código abierto como contribuyentes o hacen software por sí mismos para el bien común. En tal ambiente, están expuestos a otros desarrolladores que están constantemente comprobando la calidad de su código. Compartir su código con otros es la mejor manera de ser un mejor desarrollador.

Otro aspecto es la participación como ponente en conferencias de JavaScript. Muy a menudo los desarrolladores con muy altas habilidades en un campo particular son invitados a varios lugares para hablar de sus experiencias con estas tecnologías.

3.2 Proyección técnica de las habilidades de JavaScript durante la entrevista técnica telefónica/video

El currículum puede decirnos algo sobre las habilidades del desarrollador, pero no nos dirá nada sobre el desarrollador en sí. Por eso son tan populares las entrevistas por teléfono o videoconferencia: las aptitudes son importantes, pero necesitamos saber con qué tipo de persona estamos tratando y, lo que es aún más importante, con qué tipo de persona podría trabajar el equipo de nuestro cliente. Por eso es necesaria una preparación adecuada antes de una entrevista.

A continuación encontrará algunas preguntas de ejemplo que le dirán más sobre el candidato. Espero que faciliten la búsqueda del candidato adecuado.

  1. Pregunta de entrevista en JavaScript sobre la experiencia del desarrollador

Q1: ¿Con qué tecnologías de las que figuran en su currículum tiene experiencia comercial en los últimos 2 años? ¿Cuáles eran sus responsabilidades?

Por qué preguntarle a Q1: Haciendo esta pregunta, puede averiguar más sobre la experiencia actualizada en Java del candidato, sus responsabilidades y logros. De esta forma, conocerá mejor a su candidato.

  1. Preguntas de entrevista en JavaScript sobre los conocimientos y opiniones de los desarrolladores

Q2: ¿Qué bibliotecas de JavaScript considera que son valiosas y por qué?

Por qué preguntarle a Q2: Esta pregunta nos muestra el conocimiento del candidato sobre el ecosistema de JavaScript. Podemos ver todo lo referente a la elección de la tecnología.

Q3: Me he dado cuenta de que has incluido el marco X en tu currículum. ¿Qué opina al respecto? ¿Es una buena elección?

Por qué preguntarle a Q3: Estas preguntas nos muestran el conocimiento de una tecnología en particular. Las respuestas inciertas y temblorosas pueden ayudarnos a encontrar mentiras en un currículum. También puedes jugar al abogado del diablo basado en sus respuestas "¿Pero por qué no usar el marco Y para eso?". Así puedes ver cómo los candidatos eligen una tecnología, justifican sus elecciones y si sus opiniones coinciden con las de tus equipos informáticos.

Q4: Si quisieras aprender nueva tecnología conectada a JavaScript, ¿cuál sería?

Por qué preguntar a Q4: La respuesta a esta pregunta demuestra el enfoque de los candidatos para el aprendizaje y puede ayudarnos a encontrar desarrolladores que todavía están utilizando conocimientos anticuados adquiridos en el pasado.

  1. Pregunta de la entrevista de Java sobre la toma de decisiones del desarrollador en relación con la tecnología JavaScript

Q5: ¿En qué etapa se unió a los proyectos recientes? ¿Participó en la elección de la tecnología o en la configuración del proyecto? En caso afirmativo, ¿qué tecnología eligió o recomendó para el proyecto y por qué?

Por qué preguntarle a Q5: Estas preguntas muestran no sólo cómo un candidato toma decisiones en relación con la tecnología, sino también si se le incluyó en la toma de decisiones. Especialmente importante si se busca a alguien con experiencia.

  1. Pregunta de comportamiento para el desarrollador de JavaScript

Q6: Piensa en la decisión del proyecto de programación que tomaste y que fue un fracaso. ¿Por qué crees que fue un error? ¿Por qué sucedió? ¿Podría hacerse algo diferente para convertirlo en un éxito? ¿Qué medidas tomaste para mejorar la situación? ¿Qué aprendiste de esta experiencia?

¿Por qué preguntarle a Q6: Este tipo de preguntas le ayudará a averiguar cómo percibe el candidato sus decisiones, saca conclusiones y cuánto aprende de su experiencia anterior.

Q7: ¿Está contribuyendo a algún proyecto de Código Abierto o tal vez está manteniendo su propio proyecto de Código Abierto? ¿Asistes a alguna conferencia de JavaScript?

Por qué preguntarle a Q7: Preguntas como estas nos muestran si un candidato quiere compartir sus conocimientos y quiere ser una parte significativa del ecosistema de JavaScript. Las personas con una fuerte voluntad de compartir su experiencia son a menudo buenos jugadores de equipo.

Revise nuestra completa Salario del desarrollador de JavaScript guía.

Autor - Mateusz Rojecki Desarrollador de front-end @ Laboratorio de Codificadores

Laboratorio de CodificadoresLaboratorio de Codificadores (www.coderslab.pl) es la mayor escuela de codificación de Polonia, que funciona en Varsovia, Cracovia, Katowice, Wrocław, Poznań y Łódź. Durante seis semanas los estudiantes de los campamentos de entrenamiento aprenden las tecnologías de desarrollo web: front-end o back-end. Nuestros métodos de enseñanza se centran en 4 áreas: la práctica, el trabajo con el mentor, la creación de la carpeta de trabajo del estudiante y el apoyo a la carrera. Ajustamos el programa a las necesidades tecnológicas actuales del mercado para apoyar la educación basada en el conocimiento. Más de 300 estudiantes se graduaron en campamentos de entrenamiento.

DevSkiller listo para usar pruebas de evaluación de codificación de JavaScript en línea

DevSkiller ayuda a las empresas en el proceso de selección de personal de TI proporcionándoles una infraestructura que les permite probar las habilidades de programación de los candidatos en un entorno que imita la experiencia del primer día de trabajo. Permitimos a las empresas utilizar su propia base de código, proyectos enteros de TI utilizando marcos y bibliotecas, para probar a los programadores en línea. Sin embargo, también tenemos algunas pruebas de codificación de JavaScript listas para usar que puede utilizar en su campaña de contratación técnica.

TypeScript
MIDDLE
Habilidades probadas
Duración
72 minutos como máximo.
Evaluación
Automático
Resumen de la prueba

Preguntas de elección

evaluando el conocimiento de Tipo de letra

Lagunas en el código

evaluando el conocimiento de Tipo de letra

Tarea de programación - Nivel: Medio

TypeScript | Redux, Selectors | HR Department Salary - Implementar Selectores Redux que procesarán los datos de RRHH. La implementación se probará contra pruebas de instantáneas.

Reacciona
MIDDLE
Habilidades probadas
Duración
96 minutos como máximo.
Evaluación
Automático
Resumen de la prueba

Preguntas de elección

evaluando el conocimiento de JavaScript, Reacciona,

Lagunas en el código

evaluando el conocimiento de JavaScript, Reacciona, ES6

Tarea de programación - Nivel: Medio

JavaScript | React, Class Components, Enzyme | Formulario de contacto - Terminar la implementación de una aplicación React de formulario simple.

seguridad
JUNIOR
Habilidades probadas
Duración
46 minutos como máximo.
Evaluación
Automático
Resumen de la prueba

Preguntas de elección

evaluando el conocimiento de Matemáticas, Probabilidad, Habilidades blandas, Ciberseguridad, Vulnerabilidades, Seguridad en la web

Lagunas en el código

evaluando el conocimiento de Ciberseguridad, Netcat, Reverseshell, Nmap, Portscan, Rizo, Contraseña, Protección

Tarea de prueba - Nivel: Fácil

Ciberseguridad | XSS Pastebin - En este desafío el concursante recibe una tarea con una página pastebin que es propensa a la vulnerabilidad XSS en el portal del administrador. Esto permite al atacante hacerse pasar por el administrador sin conocer las credenciales correctas.

JavaScript
JUNIOR
Habilidades probadas
Duración
46 minutos como máximo.
Evaluación
Automático
Resumen de la prueba

Preguntas de elección

evaluando el conocimiento de JavaScript

Lagunas en el código

evaluando el conocimiento de JavaScript

Tarea de programación - Nivel: Fácil

JavaScript | Juego de Oficina - Tic Tac Toe - Termina una versión modificada del popular juego TicTacToe.

JavaScript
JUNIOR
Habilidades probadas
Duración
51 minutos como máximo.
Evaluación
Automático
Resumen de la prueba

Preguntas de elección

evaluando el conocimiento de JavaScript

Lagunas en el código

evaluando el conocimiento de JavaScript

Tarea de programación - Nivel: Fácil

JavaScript | Búsqueda de palabras - Inicializar el objeto WordSearch para mantener la letterGrid e implementar el método find que buscará una cuadrícula dada en todas las direcciones.

Reacciona
JUNIOR
Habilidades probadas
Duración
39 minutos como máximo.
Evaluación
Automático
Resumen de la prueba

Preguntas de elección

evaluando el conocimiento de JS, JavaScript, Reacciona

Lagunas en el código

evaluando el conocimiento de JavaScript, Reacciona

Tarea de programación - Nivel: Fácil

JavaScript | React, Class Components, Enzyme | Search-Engine Application - Implementar una aplicación para buscar y filtrar productos en una tienda online.

Nodo.JS
MIDDLE
Habilidades probadas
Duración
87 minutos como máximo.
Evaluación
Automático
Resumen de la prueba

Preguntas de elección

evaluando el conocimiento de JavaScript, Nodo.JS

Lagunas en el código

evaluando el conocimiento de JavaScript, Nodo.JS, SQL

Tarea de programación - Nivel: Medio

Node.JS | Rest API | Servicio de backend de noticias - Implementar un servicio de backend de noticias creado en Node.JS con Vanilla JS, incluyendo autorización de escritura y Rest APIs.

TypeScript
JUNIOR
Habilidades probadas
Duración
51 minutos como máximo.
Evaluación
Automático
Resumen de la prueba

Preguntas de elección

evaluando el conocimiento de Tipo de letra

Lagunas en el código

evaluando el conocimiento de JavaScript, Reacciona

Preguntas de elección

evaluando el conocimiento de HTML, CSS

Tarea de programación - Nivel: Fácil

TypeScript | React Hooks | Gestión de estado de películas - Aplicación completa de gestión de películas usando React Hooks implementando la gestión de estado a las vistas existentes.

JavaScript
MIDDLE
Habilidades probadas
Duración
62 minutos como máximo.
Evaluación
Automático
Resumen de la prueba

Preguntas de elección

evaluando el conocimiento de JavaScript, Redux

Lagunas en el código

evaluando el conocimiento de HTML, HTML5, CSS

Tarea de programación - Nivel: Medio

JavaScript | Selectores Redux | Formación del Departamento de RRHH - Implementar correctamente los reductores y selectores Redux.

Reaccionar nativo
MIDDLE
Habilidades probadas
Duración
107 minutos como máximo.
Evaluación
Automático
Resumen de la prueba

Preguntas de elección

evaluando el conocimiento de Reaccionar nativo

Lagunas en el código

evaluando el conocimiento de JavaScript, Reaccionar nativo

Tarea de programación - Nivel: Medio

React Native | Cheeper - una nueva aplicación de medios sociales - Termina la implementación para que la socialización básica sea posible.

Compartir correo

Más información sobre la contratación de tecnología

Suscríbase a nuestro Learning Hub para recibir información útil directamente en su bandeja de entrada.

Verificar y desarrollar las habilidades de codificación sin problemas.

Vea los productos DevSkiller en acción.

Certificaciones de seguridad y cumplimiento. Nos aseguramos de que sus datos estén seguros y protegidos.

El logo de DevSkiller Logotipo de TalentBoost Logotipo de TalentScore