>
>
>
Mais e mais empresas estão usando o desafio HackerRank para processar seus candidatos de engenharia. Se você não está familiarizado com o HackerRank, ele fornece desafios de programação competitivos onde os desenvolvedores competem tentando programar de acordo com as especificações fornecidas. A submissão dos participantes é classificada de acordo com a precisão do seu resultado.
Dada a sua natureza, há muitos problemas inerentes se a empresa depende demasiado do HackerRank para a triagem. O HackerRank é como o seu teste padronizado – ele testa mais as suas “habilidades de exame” do que os seus conhecimentos substantivos.
Conheci um artigo no Linkedin que eloquentemente colocou (uma das) maiores desvantagens do HackerRack:
A minha conclusão de tudo isso é que o HackerRank é um mau indicador das capacidades de resolução de problemas de um desenvolvedor, e como muitas dessas coisas só é realmente bom em avaliar uma coisa, ou seja, o quão bom o candidato é em completar os testes do HackerRank. – Be ware of HackerRank, Richard Linnell
O mesmo se aplica ao Kaggle. Acabei de falar com um candidato sobre como ele fez um desafio bem acima da média sem realmente entender a ciência dos dados.
Há muitos outros artigos cobrindo os inconvenientes de usar o HackerRank (incluindo um sobre como usar o HackerRank (e outra plataforma similar) pode arruinar sua chance de contratar um bom desenvolvedor sênior).
Posto isso, é compreensível que as empresas adotem isso para os testes iniciais: é rápido, menos caro e pode selecionar pessoas que nem se dariam ao trabalho de fazer isso.
Dado que isso permaneceria e provavelmente continuaria a crescer como uma forma de as empresas selecionarem talentos, nossa equipe elaborou uma lista de coisas que você pode fazer para se preparar para o desafio HackerRank:
- Desafios são cronometrados, certifique-se de que você não está perturbado e concentrado.
- 20-30% do seu sucesso vem da familiaridade do sistema. Antes de começar o verdadeiro desafio de codificação, tente outros, por exemplo, os algoritmos aquecem. Certifique-se de saber como executar e submeter o seu código.
- Antenda as linguagens de programação permitidas para o teste. Se a sua linguagem de escolha não estiver disponível, pratique outra.
- Usualmente existem múltiplos problemas a resolver em cada desafio e é um erro começar com a mais difícil. Uma boa abordagem é resolver os problemas em ordem de dificuldade/tempo ascendente. Leia-os brevemente primeiro e decida a ordem de implementação.
- Tente minimizar o tempo de comutação entre problemas após a implementação. Você poderia gastar tempo extra para ter certeza de que é uma implementação “final” e não voltar a ela novamente.
- Todos os problemas têm casos de teste públicos e privados. A sua pontuação é baseada em ambos. Se a implementação de código passasse em todos os casos de teste públicos, ela não se importa, ela passaria em todos os casos de teste privados. Pense em situações limite, por exemplo, entrada vazia, entrada de um elemento, dois elementos, muitos elementos, etc. O ambiente HackeRank permite executar o código nos seus testes personalizados.
- Submeter pelo menos algo para cada problema. É fácil capturar alguns pontos, mesmo que você não saiba como resolver o problema. No entanto, se você não sabe como resolver todos os problemas, tente descobrir pelo menos um.
- Preparação em casa faz a diferença: alguns templates podem ajudar, pois você poderia copiá-los – colá-los durante o desafio. Por exemplo, BFS/DFS/Binary search.
- Practice first as much as you can. Você poderia tentar resolver pelo menos um problema de cada subdomínio algorítmico.
- Um bom resultado não é mágico, é prática e suor.
Pode a força estar com você! 💪
Bónus:
- Como obter o melhor distintivo de aprendizagem de máquinas no HackerRank (pelo nosso próprio Kirill Pavlov!)
- Cracking the HackerRank Test: 100% de pontuação facilitada – o tipo do HFT .