Cracking the HackerRank Test: 100% de pontuação facilitada

X

>

Anúncios

É bem sabido que a maioria dos programadores não conseguem codificar a sua saída de um saco de papel. Como consequência, a indústria tecnológica está pressionando por uma triagem mais longa, dura e cada vez mais extrema.

A entrevista no quadro branco tem sido o padrão por um tempo, seguida por quebra-cabeças , então FizzBuzz.

A última moda é o HackerRank. Está introduzindo testes automatizados de programação a serem feitos pelo candidato antes que ele possa falar com alguém da empresa.

Muitas empresas muito boas estão usando o HackerRank como uma ferramenta de pré-triagem. Se não podemos evitá-lo, temos que abraçá-lo.

O que encontrar em um teste HackerRank?

Há 3 tipos de perguntas a serem encontradas em um teste:

  • Perguntas de múltipla escolha: “Qual é a complexidade de tempo para encontrar um elemento em uma árvore vermelha e preta?” -A- -B- -C- -D-
  • Exercício de Codificação: “<Longa descrição de um problema a ser resolvido>, <formato de dados de entrada>, <formato de dados de saída>”. Comece a codificar uma solução.
  • Exercício SudoRank: “As suas credenciais ssh são tester:[email protected] < descrição longa do que está errado com aquele servidor>”. SSH para o servidor e comece a corrigir.

Qualquer quantidade de qualquer pergunta pode ser colocada junto, em qualquer ordem, para fazer um teste completo. Uma empresa deve dar algumas indicações sobre o que esperar em seu teste.

HackerRank fornece uma biblioteca de centenas de perguntas e exercícios prontos para uso. Também é possível para uma empresa escrever a sua própria (e recomendada).

Defeating Multiple Choice Question

A maioria das perguntas de múltipla escolha pode ser resolvida por uma pesquisa apropriada no Google. Normalmente no título, às vezes em algumas palavras selecionadas do texto.

>

hr privilégios de queda de perguntasSelect Text => Click direito => Pesquisa rápida
hr privilégios de queda de perguntas no google
Google já falou! => Todos a favor de setuid()

Defeating Coding Exercises

Procurar um parágrafo de 10 linhas no Google não é uma opção aceitável. Sem mencionar que o site do HackerRank desabilita a cópia/colar na área de descrição.

A alternativa é pesquisar o título do exercício. Um título identifica de forma única uma pergunta no HackerRank. Ele será mencionado em soluções relacionadas e posts em blogs. Perfeito para ser indexado pelo Google.

hr pergunta inteira solitária
Select Text =>Select Text => Quick Search
hr google lonely integer.png
Touché!

O primeiro resultado é a pergunta, o segundo resultado é a solução. Bem, isso foi fácil.

Bónus: Essa solução do google está realmente errada… no entanto, dá todos os pontos.

// int main() { int N; cin >> N; int tmp, result = 0; for (int i = 0; i < N; i++) { cin >> tmp; result ^= tmp; } cout << result; return 0;}

Esta solução só é correcta se os números duplicados estiverem em pares. Todos os testes da unidade HackerRank se encaixam neste critério por pura coincidência .

Originalmente, nós colocamos esta simples questão no início de um teste de aquecimento. Recebemos essa resposta de um candidato no nosso primeiro lote de candidatos. Foi bastante intrigante, quais são as probabilidades de alguém vir a inventar um algoritmo que convoluísse se apenas fosse dado o texto da pergunta? Uma rápida investigação rapidamente revelou a fonte.

Addendum:

A pergunta “Lonely Integer” é redigida de forma ligeiramente diferente no site público do HackerRank e na biblioteca privada do HackerRank, mas os testes de entrada, saída e unidade são os mesmos. Por isso a solução está desligada, mas funciona. O HackerRank está obviamente copiando perguntas da comunidade para a biblioteca profissional. Essa é outra cópia de gato preso!

Recruiter Insights: Trapaça trazida para o próximo nível

Temos muitos candidatos vindos de recrutadores. Como eles estão se comparando com candidatos de outras fontes?

Vejamos as estatísticas sobre uma questão difícil .

hr insights stock maximiza a distribuição
Distribuição sobre todas as tentativas, por todas as empresas (escala de log). 1234 zero vs 303 pontuação total.

A maioria dos candidatos obtém 0 pontos: ficou sem tempo, incapaz de responder, algoritmo errado ou soluções incompletas/parciais (ou seja, bom começo mas ainda não o suficiente para passar em qualquer teste unitário).

Quisemos mostrar a mesma distribuição sobre nosso grupo de candidatos, mas o HackerRank não fornece mais esse gráfico. Ele costumava.

Anyway, lembramo-nos de números aproximados. A distribuição dos nossos candidatos é de cerca de 50/50% em cada extremo. Isso é significativamente melhor do que os 75/17% da população em geral. Podemos correlacionar esse número com o tempo gasto na pergunta e uma revisão do código visual.

O resultado é que os candidatos vindos de recrutadores têm um melhor desempenho, especialmente em exercícios físicos. Na verdade, é inacreditável como eles se saem muito melhor! (Kudos especiais para os caras que são capazes de resolver um problema – com uma solução perfeitamente otimizada – em menos tempo do que levaria para realmente lê-lo =D).

A conclusão é simples e clara: Os nossos recrutadores dão o teste aos candidatos.

todos o fazem, só que ninguém fala sobre isso
Os recrutadores dão as suas perguntas? Claro!

Lesson learnt:

  • Para candidatos: Lembre-se de pedir apoio ao recrutador antes do teste.
  • Para recrutadores: Lembre-se de treinar o candidato para o teste e instruí-lo a escrever as mudanças (se houver).
  • Para empresas: Cuidado com os candidatos com notas altas vindos de recrutadores! Em particular, não calibre a pontuação com base na pontuação extrema de alguns trapaceiros.

Challenge: Quanto tempo leva para resolver um desafio de negociação? .

Testes de HackerRank Personalizados

As empresas podem escrever exercícios personalizados e eles devem. É difícil e requer habilidades particulares, mas definitivamente vale a pena.

É a única solução eficaz contra o Google, se feita com cuidado. (Na verdade é surpreendentemente difícil fazer exercícios que são simples E não são facilmente encontrados com o Google em 1000 tutoriais e fóruns de codificação).

Sadly, não vai ajudar contra recrutadores. (Excluindo o primeiro lote de candidatos que serão sacrificados como olheiros).

Conclusão

Arruinamos a pré-triagem do HackerRank? Claro que não! Há uma oferta interminável de bozos incapazes de dizer a diferença entre Internet e Internet Explorer.

Podíamos escrever um livro ensinando as respostas a 90% dos problemas de programação de entrevistas, mas 99% dos candidatos a emprego nunca o leriam. Diabos, ele foi escrito por um tempo e não teve qualquer impacto.

Apenas o punhado de devs seguindo blogs/notícias ou procurando por “O que é HackerRank?” será capaz de vir melhor preparado.

Se algo, este artigo torna o HackerRank melhor e mais relevante. Agora um teste é sobre procurar por ajuda no Google e corrigir trechos sutilmente quebrados de código não-inventado escrito na linguagem errada.

HackerRank está finalmente examinando as capacidades relevantes para o trabalho!

cracking the coding interview book cover

Uma última palavra de conselho. Você vai precisar de treinamento se você está tentando passar na barra de entrevistas em boas empresas de tecnologia e não teve a chance de participar do MIT. Este livro é o padrão ouro quando se trata de estruturas de dados e questões de algoritmos. Altamente recomendado. Ele contém centenas de perguntas que lhe serão feitas repetidamente, em todas as empresas. No mínimo, leia a pré-visualização gratuita em Amazon.

Leave a Reply