Recentemente, descobri que o Facebook tinha um desafio de programação que, se concluído corretamente, você obtém automaticamente uma entrevista por telefone.
Há um exemplo de desafio que solicita que você escreva um algoritmo que possa resolver um problema do tipo Torre de Hanói . Dado um número de pinos e discos, uma configuração inicial e final; Seu algoritmo deve determinar o menor número possível de etapas para chegar à configuração final e gerar as etapas.
Esse exemplo de desafio fornece um limite de tempo de 45 minutos, mas permite que você ainda teste seu código para ver se ele passa quando o seu prazo expirar.
Eu não conhecia nenhuma solução matemática fofa que pudesse resolvê-la e não queria procurar uma, pois acho que isso seria trapaça. Então, tentei resolver o desafio da melhor maneira possível.
Consegui criar um algoritmo que funcionou e passou. No entanto, levei mais de 4 horas para fazer, muito mais do que o requisito de 45 minutos. Como demorei muito mais do que o tempo previsto, não tentei o desafio real.
Isso me fez pensar, na realidade, realmente importa que demorei tanto? Quero dizer, isso é um sinal de que não poderei conseguir um emprego em um lugar como este (não apenas o Facebook, mas o Google, o Fog Creek, etc.) e preciso diminuir minhas aspirações, ou o fato de que realmente passei na minha primeira tentativa, mesmo que demorou muito para ser considerado bom?