"Teste técnico" para vaga de dev sênior
Boa tarde gurizada,
Recentemente eu fiz um teste técnico para uma vaga de dev Node.js Sênior. Depois de precisar cadastrar todos os dados do meu currículo, fazer um teste de perfil, responder algumas questões técnicas sobre Node, precisei resolver um teste prático para "provar minhas habilidades". Nesse teste, eu tinha aproximadamente 10 min para resolver o que estava sendo solicitado. Segue o teste:
******
O problema consiste em quebrar uma string "str" em "x" linhas e reorganizar essas linhas no padrão "Vai e Vem". Se a quebra não for exata, os caracteres remanescentes devem ser intercalados entre o início e o fim da string resultante. Nas linhas pares, o conteúdo deve ser invertido.
Aqui está a descrição em texto do problema:
Dado uma String "str" e um número inteiro positivo "x", onde o tamanho de "str" é sempre maior que "x", o objetivo é determinar a String resultante após a quebra da "str" em "x" linhas e a reconstrução no padrão "Vai e Vem". Se a quebra não for exata (quando o número de caracteres em "str" não é um múltiplo de "x"), os caracteres remanescentes devem ser intercalados entre o início e o fim da String resultante. Nas linhas pares, o conteúdo deve ser invertido.
Exemplos:
Exemplo 1: "str" = "SEMSOBRAS", "x" = 3
1 "SEM"
2 "SOB" --> Resultado: "SEMBOSRAS"
3 "RAS"
Exemplo 2: "str" = "HELLOWISECODE", "x" = 3
1 "HELL"
2 "OWIS" --> Resultado: "EHELLSIWOECOD"
3 "ECOD"
4 "E" (sobra) (1º caractere no início da string)
Exemplo 3: "str" = "STRINGCOMSOBRAFOUR", "x" = 5
1 "STR"
2 "ING"
3 "COM" --> Resultado: "ROSTRGNICOMBOSRAFU"
4 "SOB"
5 "RAF"
6 "OUR" (sobra) (1º caractere no início, 2º no final, 3º no início, etc.)
Observação: O valor "x" não representa o número de caracteres, mas sim o número mínimo de quebras (ou linhas) a serem feitas, e a ordem das linhas segue o padrão "Vai e Vem".
******
Queria saber a opinião de vocês sobre isso, pois eu fiquei muito chateado em saber que estão contratando devs sênior com base em resultados de testes desse tipo. Não que não seja um algorítmo bom para praticar habilidades, mas teste prático único? sério isso?
Ao meu ver, para contratar um sênior a abordagem deve ser totalemnte diferente. É muito difícil entender todas habilidades de um sênior com base em um único teste prático. Acredito que o ideal é conversar e questionar sobre assuntos como arquiteturas, padrões de código, problema reais de uma aplicação. Pode se até passar um teste para o candidato, mas com ênfase nesses assuntos.