Como selecionar as habilidades do desenvolvedor JavaScript para encontrar o melhor - guia para recrutamento de TI

Publicado: Última actualização:
JavaScript: perguntas de engenheiro de software para entrevista

1. O que é JavaScript?

O JavaScript (também conhecido como JS) é uma linguagem dinâmica de alto nível, baseada em protótipos, não codificada e dinâmica. Dependendo do ambiente, o JavaScript pode ser interpretado ou compilado. É uma linguagem de programação multi-paradigma, que suporta estilos de programação orientados a objetos, imperativos e funcionais.

O JavaScript começou como uma linguagem apenas de navegador, adicionando muitas possibilidades para melhorar sites já escritos com HTML e CSS. Em 2009 tudo mudou. Agora, o JavaScript pode ser usado em qualquer lugar (literalmente em qualquer lugar, mesmo em trajes espaciais) por causa do Node.js - que é um ambiente de execução JavaScript baseado no motor JavaScript V8 do Google. Aplicações escritas em JavaScript podem ser muito rápidas se forem feitas por desenvolvedores habilidosos. Por causa do nível de entrada muito baixo no mundo JavaScript, agora é um dos línguas mais faladas em uso.

Lembre-se: Java e JavaScript não são a mesma linguagem de programação. Os desenvolvedores são sensíveis às suas linguagens favoritas, por isso é muito importante não confundir nomes.

2. O que é importante para o IT Recruiter saber sobre o JavaScript?

A demanda por desenvolvedores de JavaScript está aumentando muito rapidamente. Há algumas coisas que você deve saber quando estiver procurando por desenvolvedores JS.

- Como mencionei anteriormente, o JavaScript é muito fácil de aprender. Com poucas linhas de código você pode mudar o comportamento do site ou fazer um simples servidor HTTP com o Node.js. E esta também é a armadilha do JavaScript - muitos desenvolvedores estão aprendendo apenas pequenas partes da linguagem só para fazer as coisas. Para escrever aplicações rápidas e de alta qualidade você precisa ter um conhecimento muito bom do próprio JavaScript.

- Há um ditado no mundo JavaScript - "Um dia sem uma nova estrutura JavaScript é um dia perdido". Novas ferramentas estão surgindo como cogumelos em tempo chuvoso. Eu não condeno isto - é bem o oposto - eu encorajo-o. Este fenómeno mostra-nos como é criativa e apaixonante a comunidade JavaScript. Mas tal estado de coisas tem um grande inconveniente - nós exigimos dos desenvolvedores conhecimento sobre frameworks que acabaram de ser criados. Muito bom conhecimento de frameworks populares é importante para escrever aplicativos JavaScript eficientes rapidamente, mas é melhor ter um desenvolvedor com enorme experiência com puro JavaScript e frameworks ou bibliotecas mais antigas para aprender novas ferramentas do que ter um desenvolvedor que segue cegamente o que é novo sem um profundo entendimento da linguagem.

- Por outro lado, por vezes, o JavaScript puro não é suficiente. Você pode fazer tudo do zero, mas é demorado e como todos nós sabemos - tempo é dinheiro. Um bom desenvolvedor de JavaScript deve conhecer pelo menos uma estrutura ou biblioteca popular e testada em batalha. E como o ecossistema está em constante mudança, o conhecimento sobre ferramentas que foram usadas há 2-3 anos atrás pode estar ultrapassado.

- Você precisa saber que tipo de desenvolvedor JavaScript você está procurando - é alguém que vai se juntar à equipe Front-end? Ou é alguém que vai trabalhar com aplicações do lado do servidor?

Ou talvez seja alguém que irá trabalhar em aplicações móveis híbridas ou em dispositivos de Internet das Coisas? O entendimento central da linguagem nestes casos é o mesmo. No entanto, cada um desses desenvolvedores deve ter diferentes conhecimentos relacionados ao seu campo de trabalho.

- Para posições de alto nível, experiência comercial é necessária, mas para desenvolvedores de nível júnior ou até mesmo de nível médio, um portfólio interessante com um código bem escrito em um dos serviços populares de hospedagem de repositório (como o GitHub) pode ser igualmente bom. Pontos de bônus se um candidato é um contribuinte de projetos Open Source.

3. Como verificar as habilidades de JavaScript na fase de triagem?

A triagem é difícil quando você não conhece as tecnologias usadas pelos desenvolvedores. É ainda mais difícil quando tudo está mudando tão rápido como no ecossistema JavaScript. Então, vamos passar para algumas dicas práticas de recrutamento de como verificar as habilidades dos desenvolvedores de JavaScript.

3.1 Triagem técnica das habilidades de JavaScript com base no CV

Tecnologia JavaScript - glossário básico de termos JavaScript para recrutadores de TI

O CV do candidato pode nos dizer muitas informações úteis, mas você precisa saber como escolher o que é mais importante. Há muitas frases técnicas diferentes em cada currículo e é muito importante não ficar confuso com elas. Como Recrutador Técnico que procura o JavaScript Developer, você precisa estar familiarizado com toda a terminologia utilizada pelos candidatos.

Você encontrará informações úteis abaixo - isso o ajudará a manter a sanidade durante a triagem.

Glossário JavaScript para recrutadores técnicos

versões em JavaScript EcmaScript 5 (ES5 - disponível em qualquer lugar), EcmaScript 6 (ES6 - disponível nos navegadores mais recentes), EcmaScript 2016 (ES7 )
Estruturas e bibliotecas JavaScript Angular.js, jQuery, Reage, Backbone, Ember, Vue.js, Polímero, Aurelia, Knockout, Rx.js
Estruturas JavaScript para Node.js Express.js, Hapi.js, Koa, Velas, Meteoro
Gestores de pacotes Node.js NPM, Bower, JSPM
Executadores de tarefas e ferramentas de construção baseados no Node.js GulpGrunt, Brócolos, Webpack
Estruturas de teste JavaScript Casper, Mocha, Jasmine, Jest, Karma
transpilers JavaScript Traceur, Babel
Aplicações Móveis Híbridas Sencha Touch, Ionic, Apache Cordova, IntelXDK
Supersets ou linguagens JavaScript que compilam para JavaScript TypeScript, CoffeScript, Elm, Dart

Estas são as noções básicas. Agora podemos ir mais fundo. Há uma variedade de ferramentas, estruturas e bibliotecas e cada uma delas é diferente. Para tornar as coisas mais especificas, pode haver grandes diferenças nas versões das ferramentas. Se um candidato afirma que conhece AngularJS, é uma versão de framework que nosso cliente está procurando? Continue lendo e tudo ficará claro.

A maioria dos nomes JavaScript comuns que são usados de forma intercambiável:

- JS, JavaScript, EcmaScript

- Nó.js, Nó, ambiente de execução JavaScript do lado do servidor

- Aplicação híbrida, Aplicação móvel híbrida, aplicação híbrida

Relações entre as respectivas versões da tecnologia JavaScript:

- EcmaScript 6 estende o EcmaScript 5 (JavaScripts precisa ser compatível com versões anteriores, caso contrário, novas versões quebrariam a Web)

- jQuery 1.x , 2.x e 3.x são similares

- O Angular 1.x é totalmente diferente do Angular 2.x

- O conceito central é o mesmo, mas há diferenças entre cada versão principal do React

- A Vue 1.x é totalmente diferente da Vue 2.x

- As aplicações escritas com Ember.js 1.x ainda funcionam com 2.x

- O conceito central é o mesmo mas há diferenças entre cada versão principal do Node.js

- NPM 3.x é a versão mais rica do NPM 2.x

É também valioso estar atento às relações seguintes:

- MV* Frameworks - Se alguém conhece um de Ember, Knockout ou Angular 1.x então será capaz de lidar com o descanso

- Aplicações móveis híbridas - Se alguém conhece Angular ou Reagir, então será capaz de fazer aplicações móveis híbridas

- Aplicações do lado do servidor - Se alguém conhece o Express, Hapi, Koa ou Meteoros, então será capaz de lidar com o descanso

Outras informações sobre o currículo que podem mostrar as habilidades de JavaScript do desenvolvedor:

Devido à constante mudança do mundo do JavaScript, não há certificados que possam comprovar as habilidades do candidato. Bem, há um. E é a conta do GitHub. Bons desenvolvedores de JavaScript freqüentemente participam de projetos Open Source como contribuidores ou estão fazendo software por conta própria para o bem maior. Em tal ambiente, eles são expostos a outros desenvolvedores que estão constantemente verificando sua qualidade de código. Compartilhar seu código com outros é a melhor maneira de ser um desenvolvedor melhor.

Outro aspecto é a participação como orador em conferências JavaScript. Muitas vezes os desenvolvedores com habilidades muito elevadas em uma determinada área são convidados a vários lugares para falar sobre suas experiências com essas tecnologias.

3.2 Triagem técnica das habilidades de JavaScript durante entrevista técnica por telefone/vídeo

O currículo pode nos dizer algo sobre as habilidades do desenvolvedor, mas não vai dizer nada sobre o desenvolvedor em si. É por isso que entrevistas por telefone ou videoconferência são tão populares - habilidades são importantes, mas precisamos saber com que tipo de pessoa estamos lidando - e ainda mais importante - com que tipo de pessoa a equipe do nosso cliente pode trabalhar. É por isso que é necessária uma preparação adequada antes de uma entrevista.

Abaixo você encontrará alguns exemplos de perguntas que lhe dirão mais sobre o candidato. Espero que eles facilitem a procura do candidato certo.

  1. Pergunta de entrevista em JavaScript sobre a experiência do desenvolvedor

Q1: Com que tecnologias listadas no seu CV, você teve experiência comercial nos últimos 2 anos? Quais eram as suas responsabilidades?

Porque perguntar Q1: Ao fazer esta pergunta, você pode saber mais sobre a experiência, responsabilidades e realizações do candidato em Java. Assim, você poderá conhecer melhor o seu candidato.

  1. Perguntas de entrevista em JavaScript sobre conhecimentos e opiniões dos desenvolvedores

Q2: Quais bibliotecas de JavaScript você considera valiosas e por quê?

Porque perguntar Q2: Esta pergunta mostra-nos o conhecimento do candidato sobre o ecossistema JavaScript. Podemos ver tudo sobre a escolha da tecnologia.

Q3: Reparei que listaste o quadro X no teu CV. Qual é a sua opinião sobre isso? É uma boa escolha?

Porque perguntar Q3: Estas perguntas mostram-nos conhecimentos sobre tecnologia específica. Respostas incertas e trêmulas podem nos ajudar a encontrar mentiras em um currículo. Você também pode se fazer de advogado do diabo com base nas suas respostas "Mas por que não usar a estrutura Y para isso?". Assim, você pode ver como os candidatos escolhem uma tecnologia, justificar suas escolhas e se suas opiniões estão de acordo com suas equipes de TI.

Q4: Se você gostaria de aprender novas tecnologias ligadas ao JavaScript, o que seria?

Porquê perguntar ao Q4: A resposta a esta pergunta demonstra a abordagem dos candidatos à aprendizagem e pode nos ajudar a encontrar desenvolvedores que ainda estão usando conhecimentos ultrapassados adquiridos no passado.

  1. Pergunta de entrevista em Java sobre a tomada de decisão do desenvolvedor em relação à tecnologia JavaScript

Q5: Em que estágio você se juntou a projetos recentes? Você esteve envolvido na escolha da tecnologia ou na configuração do projeto? Se sim, que tecnologia você escolheu ou recomendou para o projeto e por quê?

Porque perguntar Q5: Tais perguntas mostram não só como um candidato faz escolhas em relação à tecnologia, mas também se eles foram incluídos na tomada de decisões. Especialmente importante se você está procurando por alguém com experiência.

  1. Pergunta comportamental para desenvolvedor de JavaScript

Q6: Pense na decisão de programar o projeto que você tomou que foi um fracasso. Porque achas que foi um erro? Porque é que aconteceu? Poderia haver algo diferente a fim de transformá-lo em sucesso? Que passos você tomou para melhorar a situação? O que você aprendeu com essa experiência?

Porquê perguntar ao Q6: Esse tipo de pergunta o ajudará a descobrir como o candidato percebe suas decisões, tira conclusões e o quanto aprende de sua experiência anterior.

Q7: Você está contribuindo para qualquer projeto de código aberto ou talvez você esteja mantendo seu próprio projeto de código aberto? Você está participando de alguma conferência JavaScript?

Porque perguntar Q7: Perguntas como estas mostram-nos se um candidato quer partilhar os seus conhecimentos e quer ser uma parte significativa do ecossistema JavaScript. Pessoas com uma forte vontade de partilhar a sua experiência são muitas vezes bons jogadores de equipa.

Confira nosso completo JavaScript salário do desenvolvedor guia.

Autor - Mateusz Rojecki Front-end Developer @ Laboratório de codificadores

Laboratório de codificadoresCoders Lab (www.coderslab.pl) é a maior escola de codificação da Polónia, que está activa em Varsóvia, Crakow, Katowice, Wrocław, Poznań e Łódź. Durante seis semanas os alunos do bootcamp aprendem tecnologias de desenvolvimento web: front-end ou back-end. Nossos métodos de ensino se concentram em 4 áreas: prática, trabalho com mentor, construção do portfólio do aluno e apoio à carreira. Ajustamos o programa às necessidades tecnológicas atuais do mercado, a fim de apoiar a educação baseada no conhecimento. Mais de 300 alunos formados em bootcamps.

DevSkiller pronto para usar testes de avaliação de codificação JavaScript online

DevSkiller ajuda as empresas no processo de recrutamento de TI, fornecendo-lhes uma infra-estrutura que lhes permite testar as competências de programação dos candidatos no ambiente que imita o 1º dia de experiência profissional. Permitimos que as empresas utilizem a sua própria base de código, projetos inteiros de TI utilizando frameworks e bibliotecas, para testar programadores online. No entanto, também temos alguns testes de codificação JavaScript prontos a usar que você pode usar em sua campanha de recrutamento técnico.

TypeScript
MÉDIO
Competências testadas
Duração
72 minutos, no máximo.
Avaliação
Automático
Visão geral dos testes

Perguntas de escolha

avaliação do conhecimento de Datilografia

Lacunas de código

avaliação do conhecimento de Datilografia

Tarefa de programação - Nível: Médio

TypeScript | Redux, Selectors | HR Department Salary - Implementar Selectors Redux que irão processar dados HR. A implementação será testada contra testes de snapshot.

Reagir
MÉDIO
Competências testadas
Duração
96 minutos, no máximo.
Avaliação
Automático
Visão geral dos testes

Perguntas de escolha

avaliação do conhecimento de JavaScript, Reagir,

Lacunas de código

avaliação do conhecimento de JavaScript, Reagir, ES6

Tarefa de programação - Nível: Médio

JavaScript | React, Class Components, Enzyme | Formulário de contacto - Acabar a implementação de um formulário simples React application.

segurança
JUNIOR
Competências testadas
Duração
46 minutos, no máximo.
Avaliação
Automático
Visão geral dos testes

Perguntas de escolha

avaliação do conhecimento de Matemática, Probabilidade, Habilidades suaves, Ciber-segurança, Vulnerabilidades, Segurança Web

Lacunas de código

avaliação do conhecimento de Ciber-segurança, Netcat, Reverter, Nmap, Caneta de portas, Curl, Senha, Protecção

Tarefa de teste - Nível: Fácil

Cybersecurity | XSS Pastebin - Neste desafio, o concorrente recebe uma tarefa com uma página de pastebin que é propensa à vulnerabilidade XSS no portal do administrador. Isto permite ao atacante fazer-se passar pelo administrador sem conhecer as credenciais correctas.

JavaScript
JUNIOR
Competências testadas
Duração
46 minutos, no máximo.
Avaliação
Automático
Visão geral dos testes

Perguntas de escolha

avaliação do conhecimento de JavaScript

Lacunas de código

avaliação do conhecimento de JavaScript

Tarefa de programação - Nível: Fácil

JavaScript | Jogo de escritório - Tic Tac Toe - Terminar uma versão modificada do popular jogo TicTacToe.

JavaScript
JUNIOR
Competências testadas
Duração
51 minutos, no máximo.
Avaliação
Automático
Visão geral dos testes

Perguntas de escolha

avaliação do conhecimento de JavaScript

Lacunas de código

avaliação do conhecimento de JavaScript

Tarefa de programação - Nível: Fácil

JavaScript | Word search - Inicializar o objecto WordSearch para segurar a letraGrid e implementar o método de procura que irá pesquisar uma determinada grelha em todas as direcções.

Reagir
JUNIOR
Competências testadas
Duração
39 minutos, no máximo.
Avaliação
Automático
Visão geral dos testes

Perguntas de escolha

avaliação do conhecimento de JS, JavaScript, Reagir

Lacunas de código

avaliação do conhecimento de JavaScript, Reagir

Tarefa de programação - Nível: Fácil

JavaScript | React, Class Components, Enzyme | Search-Engine Application - Implementar uma aplicação para pesquisar e filtrar produtos numa loja online.

Nó.JS
MÉDIO
Competências testadas
Duração
87 minutos, no máximo.
Avaliação
Automático
Visão geral dos testes

Perguntas de escolha

avaliação do conhecimento de JavaScript, Nó.JS

Lacunas de código

avaliação do conhecimento de JavaScript, Nó.JS, SQL

Tarefa de programação - Nível: Médio

Node.JS | Restante API | Serviço de backend de notícias - Implementar um serviço de backend de notícias criado em Node.JS com Vanilla JS incluindo autorização de escrita e Restante APIs.

TypeScript
JUNIOR
Competências testadas
Duração
51 minutos, no máximo.
Avaliação
Automático
Visão geral dos testes

Perguntas de escolha

avaliação do conhecimento de Datilografia

Lacunas de código

avaliação do conhecimento de JavaScript, Reagir

Perguntas de escolha

avaliação do conhecimento de HTML, CSS

Tarefa de programação - Nível: Fácil

TypeScript | Ganchos de Reacção | Gestão do Estado dos Filmes - Aplicação completa de gestão de filmes utilizando Ganchos de Reacção, implementando a gestão do estado para as visualizações existentes.

JavaScript
MÉDIO
Competências testadas
Duração
62 minutos, no máximo.
Avaliação
Automático
Visão geral dos testes

Perguntas de escolha

avaliação do conhecimento de JavaScript, Redux

Lacunas de código

avaliação do conhecimento de HTML, HTML5, CSS

Tarefa de programação - Nível: Médio

JavaScript | Redux Selectors | Treinamentos do Departamento de RH - Implementar corretamente os redutores e seletores redux.

Reagir Nativo
MÉDIO
Competências testadas
Duração
107 minutos, no máximo.
Avaliação
Automático
Visão geral dos testes

Perguntas de escolha

avaliação do conhecimento de Reagir Nativo

Lacunas de código

avaliação do conhecimento de JavaScript, Reagir Nativo

Tarefa de programação - Nível: Médio

React Native | Cheeper - um novo aplicativo de mídia social - Termine a implementação para que a socialização básica seja possível.

Partilhar correio

Saiba mais sobre a contratação de tecnologia

Subscreva o nosso Centro de Aprendizagem para obter informações úteis directamente na sua caixa de entrada.

Verificar e desenvolver as habilidades de codificação sem problemas.

Veja os produtos DevSkiller em ação.

Certificações de segurança e conformidade. Certificamo-nos de que os seus dados estão seguros e protegidos.

Logotipo DevSkiller Logotipo TalentBoost Logotipo TalentScore