Escolher o método certo de avaliação de candidatos é fundamental se você estiver contratando um desenvolvedor front-end para sua equipe, mas o processo pode ser complexo e demorado. Alguns métodos não são confiáveis, como a seleção de currículos; você precisa de uma estratégia que o ajude a encontrar o desenvolvedor front-end certo para sua equipe e a evitar contratações equivocadas.
E se lhe disséssemos que há dois métodos que podem ajudá-lo a conseguir exatamente isso?
A análise de habilidades usando testes de habilidades de programação e entrevistas com desenvolvedores front-end o ajudarão a encontrar os melhores candidatos.
Essa segunda estratégia — entrevistar desenvolvedores de front-end — requer que você encontre as perguntas certas para entrevistar desenvolvedores front-end antes da entrevista.
Mas não entre em pânico. Reunimos 75 perguntas de entrevistas adequadas para candidatos juniores e seniores e perguntas técnicas relacionadas ao Git e às habilidades essenciais de front-end. Crie sua própria lista com as perguntas que apresentamos abaixo.
Essas 20 perguntas de entrevistas com desenvolvedores front-end iniciantes são ideais para avaliar candidatos juniores. Faça algumas das perguntas desta seção a seus candidatos para analisar seus conhecimentos sobre desenvolvimento front-end.
1. Explique o que são meta tags em HTML.
2. Cite três elementos básicos de design.
3. Quais habilidades são importantes para o trabalho do desenvolvedor front-end?
4. Explique o que significa balanceamento de carga.
5. Explique o que significa NPM.
6. Diga-me o que você entende sobre escopo em JavaScript.
7. Qual é a principal diferença entre jQuery e JavaScript?
8. Diga-me o que você sabe sobre a política de segurança de conteúdo.
9. Defina cross-site scripting.
10. Explique o que significa design centrado no usuário,
11. O que você entende sobre callbacks em JavaScript?
12. O que você entende sobre polimorfismo?
13. Você pode explicar o que significa o princípio KISS?
14. Você pode explicar o que significa o acrônimo SOLID?
15. Diga-me o que você entende sobre clickjacking.
16. Você entende o que significa coerção em JavaScript? Forneça uma definição.
17. Explique o que significa IIFE.
18. Diga-me o que você entende sobre sistemas de grade em CSS.
19. Explique o que é um mixin.
20. Cite três métodos para diminuir o tempo de carregamento de uma página.
Consulte estes cinco exemplos de respostas para algumas perguntas cruciais da entrevista de front-end para iniciantes nesta seção para verificar a precisão das respostas dos candidatos.
Várias habilidades são importantes para o trabalho de desenvolvedor front-end. Do conhecimento de HTML ao CSS e ao JavaScript, muitas habilidades técnicas podem ajudar desenvolvedores front-end a criar designs para a Web e produzir páginas da Web bem estruturadas.
As habilidades em HTML ajudam desenvolvedores front-end a estruturar o site, e as habilidades em CSS facilitam o design do layout. Enquanto isso, a proficiência na linguagem de programação JavaScript permite que desenvolvedores tornem dinâmicos os elementos de uma página da Web.
O conhecimento dessas linguagens é fundamental para qualquer função que envolva desenvolvimento front-end: 23% dos gerentes de projetos de websites incluem habilidades em HTML em seus currículos e 17% incluem habilidades em JavaScript. Entretanto, outras habilidades também são importantes.
Nossos testes de HTML, CSS e JavaScript são um método de avaliação rápido e simples para avaliar mais detalhadamente as habilidades em HTML, CSS e JavaScript de seus candidatos. Verifique esses testes para descobrir as sub-habilidades que eles avaliam ou experimente nosso teste de JavaScript com um plano gratuito.
Os candidatos devem entender os três elementos básicos de design a seguir:
Tamanho: a quantidade de espaço que uma forma ocupa
Textura: a textura da superfície da forma (que pode ser lisa, dura ou macia)
Cor: a cor dos objetos, que incorpora valores, matizes e intensidade
Para testar o conhecimento do desenvolvedor front-end de nível básico de seus candidatos, considere se eles conseguem definir coerção em JavaScript. Os candidatos qualificados entenderão que a coerção envolve a conversão de um valor de um tipo de dados para outro durante o tempo de execução.
Eles também podem mencionar duas formas de coerção em JavaScript: explícita e implícita.
A coerção implícita ocorre quando o JavaScript converte automaticamente um tipo de dados em outro tipo com base no contexto em que ele é usado. A coerção explícita ocorre quando um desenvolvedor converte explicitamente um valor de um tipo de dados para outro usando os operadores ou funções embutidos na linguagem.
Os candidatos com conhecimento de desenvolvedor front-end de nível básico devem saber, por experiência, como diminuir o tempo de carregamento da página. Veja se eles conseguem citar três métodos para melhorar a velocidade de carregamento de uma página. Abaixo estão algumas técnicas que eles podem mencionar:
Otimização de imagens
Compressão de conteúdo
Colocação de código CSS e JavaScript em arquivos externos
É importante garantir que os candidatos tenham esse conhecimento e essa habilidade, pois quase 70% dos consumidores afirmam que a velocidade da página afeta sua disposição de comprar produtos de varejistas.
Um sistema de grade em CSS é uma estrutura que desenvolvedores front-end usam para organizar o conteúdo horizontal ou verticalmente em uma página. Os sistemas de grade reduzem a complexidade de organizar o conteúdo de forma consistente e apresentam dois componentes principais: colunas e linhas.
Teste os conhecimentos de CSS de seus candidatos e determine se eles entendem completamente como essa linguagem funciona com nosso teste de habilidades em CSS.
Se você está procurando desenvolvedores front-end sênior, estas perguntas avançadas para entrevistas de front-end são ideais para avaliar seus conhecimentos. Verifique as respostas abaixo para avaliar a precisão das respostas de seus candidatos.
Os candidatos sênior que têm experiência com CSS devem entender o modelo de caixa CSS. Eles podem responder explicando que o modelo de caixa CSS ajuda desenvolvedores a criar layouts complexos e nomear os quatro elementos do modelo de caixa CSS listados abaixo:
Conteúdo
Preenchimento
Bordas
Margens
srcset é um atributo HTML que especifica um conjunto de URLs de imagens com diferentes tamanhos e resoluções. Isso permite que o navegador determine qual fonte de imagem é a mais adequada com base em fatores como o tamanho da tela do usuário ou a densidade de pixels.
Um dos benefícios do srcset é que ele aumenta o desempenho e reduz o tempo de carregamento ao exibir imagens com o tamanho adequado para o dispositivo do usuário.
Os candidatos devem saber que desenvolvedores front-end usam a função JSON.stringify() para converter valores JavaScript em strings JSON. Isso permite que eles enviem e recebam esses objetos com mais facilidade. Isso é particularmente importante ao enviar dados para um servidor da Web, pois os dados devem ser transmitidos como uma cadeia de caracteres.
Se os candidatos já usaram o MySQL, eles saberão que é um sistema de gestão de banco de dados relacional (RDBMS) que usa a linguagem de programação SQL. Eles também devem saber que o MySQL usa uma estrutura de tabela e é o RDBMS de código aberto mais amplamente adotado.
Os candidatos com experiência em MongoDB entenderão que esse aplicativo de banco de dados NoSQL representa elementos de dados usando um formato orientado a documentos chamado BSON (JSON binário). Eles também podem mencionar que os programadores usam a linguagem de consulta do MongoDB para fazer alterações no MongoDB.
Para avaliar o conhecimento dos candidatos sobre controle de versão do Git, faça-lhes estas 19 perguntas para entrevista de front-end.
1. Diga-me o que você entende sobre sistemas de controle de versão.
2. Qual é a diferença entre sistemas de controle de versão centralizados e distribuídos?
3. O que faz o git push significa?
4. O que significa git pull significa?
5. Explique o que significa a opção git config faz.
6. Explique o que o comando git init faz.
7. Explique o que o comando git add faz.
8. Explique o que o comando git diff faz.
9. Explique o que o comando git commit faz.
10. Explique o que o comando git reset faz.
11. Explique o que o comando git status faz.
12. Explique o que o comando git merge faz.
13. O que faz o comando git pull faz?
14. O que faz o comando git fetch faz?
15. Como o git pull é diferente do git fetch?
16. Explique o que é um conflito de mesclagem no Git.
17. Como você resolveria um conflito de mesclagem no Git?
18. Diga-me o que você sabe sobre o git stash.
19. Como é o git merge é diferente do git rebase?
Se você precisar revisar as respostas do seu candidato às perguntas mais importantes da entrevista de front-end do Git, confira os exemplos de respostas fornecidos aqui.
Os programadores podem usar um sistema de controle de versão para gerenciar alterações em arquivos ou conjuntos de dados ou restaurar os dados para uma versão anterior. Esses sistemas também garantem que toda a equipe de programação use a versão mais recente do arquivo ou conjunto de dados.
Os candidatos que responderem a essa pergunta devem saber que os sistemas de controle de versão são amplamente usados pelas equipes de desenvolvimento: 93% dos desenvolvedores usam o Git para gerenciar arquivos e conjuntos de dados.
Para avaliar o conhecimento dos candidatos sobre o Git, você pode usar nosso teste de habilidades em Git, disponível em nossa biblioteca de testes de habilidades.
Faça essa pergunta aos candidatos para testar seus conhecimentos sobre sistemas de controle de versão.
Ao usar sistemas de controle de versão centralizados, desenvolvedores fazem alterações em um repositório central. Eles tendem a ser mais simples de entender e usar do que os sistemas de controle de versão distribuídos. No entanto, se desenvolvedores perderem o acesso ao repositório central ou se ele for corrompido, não poderá mais ser usado.
Por outro lado, ao usar um sistema de controle de versão distribuído, cada desenvolvedor tem uma cópia do repositório. Nessa abordagem mais recente, a cópia local de cada membro da equipe pode ser usada como backup. Eles também podem trabalhar de forma independente em sua cópia e confirmar suas alterações sem precisar acessar o servidor central.
Para determinar se seus candidatos a desenvolvedor front-end têm conhecimento suficiente sobre o Git, faça a eles essa pergunta simples de entrevista front-end.
Os candidatos com experiência em Git saberão que git push é um comando que desenvolvedores usam para enviar conteúdos e fazer upload de commits feitos em seu repositório local para um repositório remoto. Eles também podem explicar que a sintaxe necessária para o git push é:
$ git push
Os programadores usam o comando git pull para extrair alterações de um repositório remoto e mesclá-las com sua cópia local. Isso envolve primeiro buscar as alterações mais recentes do repositório remoto e, em seguida, mesclar essas alterações em seu ramo atual.
Os candidatos devem saber que desenvolvedores usam o git config para personalizar o funcionamento e a aparência do Git. Em outras palavras, esse poderoso comando permite que desenvolvedores façam alterações nas definições de configuração do Git.
Faça aos entrevistados algumas dessas 31 perguntas para entrevista de front-end sobre HTML, CSS, React.js e JavaScript para testar seus conhecimentos técnicos.
1. Explique o que é um atributo em HTML.
2. Explique o que é um letreiro em HTML. Existe uma alternativa melhor?
3. Defina HTML semântico.
4. Como funciona o HTML semântico?
5. Explique como você exibiria uma tabela em uma página da Web com HTML.
6. O que você entende sobre SVG em HTML?
7. Qual método você usaria para separar seções de texto em HTML?
8. Quais sub-habilidades do React.js são importantes para desenvolvedores front-end?
9. Como você incluiria o estilo CSS em um documento HTML?
10. O que você entende sobre o box-sizing no CSS?
11. Qual método você usaria para ocultar elementos usando CSS?
12. Explique o que são sprites CSS.
13. Cite três tipos de dados que o JavaScript aceita.
14. Diga-me o que você sabe sobre cookies em JavaScript.
15. Explique o que são closures em JavaScript.
16. Explique o que são exportações e importações em JavaScript.
17. Explique o que são variáveis indefinidas em JavaScript.
18. Explique o que são variáveis não declaradas em JavaScript.
19. Qual método você usaria para remover duplicatas de arrays em JavaScript?
20. Explique o que é JSC.
21. Qual é a relação entre o DOM virtual e o React.js?
22. Explique o que são as extensões do React.
23. Diga-me o que você entende sobre eventos no React.
24. Explique o que são componentes no React.js.
25. Explique o que são estados no React.
26. Como você implementaria os estados no React.js?
27. Cite três sub-habilidades importantes do JavaScript para desenvolvedores front-end.
28. Descreva o que são componentes de ordem superior no React.js.
29. Descreva o que são componentes puros no React.js.
30. Qual método você usaria para implementar o roteamento do React?
31. Explique o que significa null em JavaScript.
Consulte os exemplos de respostas a seguir para essas importantes perguntas para entrevista de front-end sobre HTML, CSS, JavaScript e React.js para avaliar o conhecimento de seus candidatos.
Os desenvolvedores de front-end precisam de várias sub-habilidades para usar a biblioteca React.js, desde a compreensão dos padrões de design até os ganchos do React, a gestão de estado e os conceitos avançados do React.js.
Para criar sites ou aplicativos com componentes dinâmicos, os candidatos também devem entender como o React.js facilita o processo. Portanto, você deve fazer perguntas de acompanhamento para determinar se os candidatos entendem por que o React.js é importante.
Se você precisar de dados estatísticos para avaliar as habilidades em React.js dos candidatos, nosso teste on-line de React é a melhor opção. Ele ajudará você a avaliar as sub-habilidades críticas do React.js necessárias para a conclusão de projetos complexos de front-end.
Os desenvolvedores de front-end precisam de várias sub-habilidades de JavaScript para adicionar recursos funcionais aos sites.
Os candidatos familiarizados com JavaScript saberão que a programação funcional, a escrita de código entre navegadores e a gestão de memória são algumas sub-habilidades que beneficiam desenvolvedores de front-end. Preste atenção nas respostas que explicam por que essas habilidades são importantes.
Por exemplo, os candidatos podem explicar que a programação funcional ajuda desenvolvedores de front-end a evitar mutação de dados e efeitos colaterais.
Essa pergunta da entrevista de front-end é relativamente simples. A maioria dos candidatos entenderá que desenvolvedores de front-end usam tags HTML para dividir seções de texto e podem citar três exemplos de tags que usariam.
Por exemplo, a tag <br></br> divide linhas de texto, a tag indica citações mais longas, e a tag cria parágrafos de texto.
Os candidatos devem responder a essa pergunta explicando que a propriedade box-sizing define como a largura e a altura de um elemento são calculadas.
Eles também podem descrever como os valores possíveis dessa propriedade alteram o comportamento do box-sizing. A definição do valor de box-sizing para content-box especifica que a largura e a altura do elemento devem ser calculadas com base apenas em sua caixa de conteúdo, sem o preenchimento, a borda ou a margem.
Entretanto, a definição do valor como border-box indica que a largura e a altura do elemento devem incluir o preenchimento e a borda.
Um método que desenvolvedores front-end podem usar para remover duplicatas de matrizes JavaScript é a técnica de filtragem. Essa técnica envolve o uso de três argumentos para chamar o método filter() para criar um novo array que não contenha duplicatas
Outros candidatos podem preferir usar uma função for para armazenar somente elementos exclusivos em uma matriz vazia.
As entrevistas, inclusive as entrevistas técnicas ou pessoais, são mais bem concluídas após o teste de habilidades e antes de você decidir selecionar um candidato.
É mais eficiente usar testes pré-seleção para criar uma lista dos melhores candidatos a desenvolvedor front-end antes da fase de entrevista - leva apenas alguns segundos para receber os resultados do teste de habilidades e verificar as estatísticas.
Use os dados estatísticos gerados pela avaliação de habilidades e as respostas dos candidatos às perguntas para entrevista quando tiver concluído as entrevistas. Esses dados o ajudarão a tomar uma decisão de recrutamento bem informada e bem-sucedida.
As perguntas para entrevista de front-end e os testes de habilidades são as estratégias ideais para encontrar desenvolvedores com as habilidades certas. Se você é um profissional de RH de uma organização de desenvolvimento de software e não tem as habilidades técnicas para avaliar os candidatos a desenvolvedores front-end, use testes de habilidades como o nosso teste de jQuery para analisar suas habilidades primeiro.
Contrate desenvolvedores de software que correspondam ao seu negócio. Experimente o TestGorilla gratuitamente e use nossos testes de habilidades para avaliar seus candidatos de maneira simples.
Em minutos, você cria avaliações para selecionar as pessoas candidatas ideais, economizar tempo e contratar profissionais excelentes.
Sem spams. Cancele a assinatura quando quiser.
Com nossos testes, fica muito fácil encontrar a pessoa certa para sua vaga e tomar decisões acertadas e justas durante todo o processo.