Candidatei online pelo site da empresa. A pessoa responsável pelo processo entrou em contato por e-mail falando que a primeira etapa do processo seria resolver uns problemas de programação em um site chamado Codility. Eu não conhecia a plataforma mas já usei outras parecidas como HackerRank, por exemplo. Não gosto muito de como é feita a avaliação desses sites: você tem que resolver um problema estilo maratona de programação em um limite de tempo fechado e seu algoritmo tem que resolver o problema com a melhor performance possível. Geralmente os problemas são capciosos para sempre terem casos em que seu algoritmo vai estourar tempo ou memória, e esses casos estão sempre nos testes ocultos que você não tem acesso, então para os testes que mostram ali na hora o algoritmo funciona perfeitamente. O problema não é nem esse de fato, o problema é descobrir todos esses casos enquanto o cronômetro está contando ali na sua cara o tempo passando, como se um processo seletivo para uma vaga que pode ser a oportunidade da sua vida não te deixasse ansioso o suficiente. O que mais me incomoda quando as empresas usam essas ferramentas é que confiam cegamente na plataforma e não tem um ser humano avaliando o código, não foi diferente na Loft.
O teste consistiu em resolver 3 problemas em 2 horas. Nenhum deles foi particularmente difícil, mas se gastar muito tempo para otimizar um problema não sobra tempo para resolver o outro. Consegui resolver os 3 dentro desse tempo - pelo menos pros testes que são apresentados ali na plataforma e para os que consegui pensar.
Pedi pra pessoa responsável pelo meu processo para compartilhar comigo o relatório que o Codility gera (eu vi que existe na demonstração antes de começar o teste, mas não tenho acesso no final). No dia seguinte ele respondeu meu e-mail falando que não passei pois não atingi o score mínimo que consideram no critério de seleção, confirmando minha suspeita que delegariam os códigos para o robô do site e nenhum ser humano avaliaria o código com outras métricas como simplicidade, manutenibilidade, performance para os problemas que costumam resolver no dia-a-dia, etc. Ele também compartilhou comigo o relatório gerado mas disse que não é prática da companhia compartilhar o relatório. Como assim vocês costumam negar o candidato sem nenhum feedback? Apenas dizem "você não bateu o número que o robô esperava e tivemos que te negar mas você nunca vai saber qual era a métrica"?
Quanto ao relatório: é bastante completo, mostra como o código pontuou, como foi a performance, detecta a complexidade (de maneira bem detalhada), mostra o que eu havia falado antes que existiam casos ocultos em que a resposta e a performance não foram como esperado. Achei bem interessante mesmo. Mas senti falta de ser avaliado por um ser humano.