— Vou passar um problema pra você. Quero que você pense em voz alta.
O programador do outro lado da tela tinha uns quarenta anos, barba grisalha, cara de quem já entrevistou duzentas pessoas. Carlos respirou fundo.
O problema era um algoritmo de busca. Nada absurdo. Mas Carlos sentiu o nervosismo subindo.
Ele começou falando. Não escreveu código imediatamente. Explicou o raciocínio primeiro.
— Eu recebo uma lista ordenada e um alvo. Busca binária parece o caminho óbvio pela complexidade logarítmica. Mas se a lista for pequena, uma busca linear pode ser mais simples e igualmente eficiente.
O programador não respondeu. Só anotou.
Carlos continuou. Escreveu o código da busca binária. Comentou cada etapa. Depois escreveu os testes.
— O que acontece se o alvo não estiver na lista? — o programador perguntou.
— Tratei com um retorno nulo e um log de erro. Mas dependendo do caso de uso, poderia lançar uma exceção.
— Qual você prefere?
— Nulo. Exceção é pra fluxo excepcional. Item não encontrado é um retorno válido.
O programador sorriu.
— Ok. Pode parar.
Carlos congelou.
— Não precisa terminar?
— O código tá claro. Seu raciocínio é limpo. Não preciso ver o resto. Vou passar pro RH.
A chamada encerrou. Carlos ficou segurando o mouse sem acreditar. Entrevista técnica não era sobre escrever código perfeito. Era sobre mostrar como pensava.
*Continua em: 388 — Como abordar recrutador no LinkedIn?*