Às vezes, as perguntas da entrevista são difíceis, se o entrevistador pretende que elas sejam ou não. Pode-se optar por usar o tempo limitado da entrevista para codificar uma solução feia, ineficiente e de força bruta ou gastar o tempo compreendendo todos os aspectos do problema com o entrevistador.
Por exemplo, o Problema 91 no Projeto Euler pode ser resolvido por uma solução de força bruta não tão difícil de calcular todos os triângulos possíveis, escrever um teste isRightTriangle () e exibir todos os triângulos que passam no teste em um conjunto. Mas os dois pares de coordenadas X / Y fazem dessa uma solução O (x ^ 4) com um alto valor constante. Um amigo e eu acabamos de encontrar uma solução muito mais elegante e eficiente, mas nós dois passamos três horas nela e desenhamos dezenas de diagramas, testamos várias fórmulas, examinamos várias abordagens etc.
Nem toda pergunta da entrevista é justa. Além disso, o que é fácil para uma pessoa pode ser difícil para outra. Se alguém luta com uma pergunta, você ficaria mais impressionado com uma solução feia de força bruta que funciona? Ou excelente compreensão de problemas e caminho para uma solução elegante, mas nenhuma solução codificada? Existe uma regra como depois de 20 minutos, você deve começar a codificar, não importa o quê?