A veces las preguntas de la entrevista son difíciles, ya sea que el entrevistador pretenda que lo sean o no. Puede reducirse a la opción de utilizar el tiempo limitado de la entrevista para codificar una solución fea, ineficiente y de fuerza bruta, o pasar el tiempo comprendiendo cada aspecto del problema con el entrevistador.
Por ejemplo, Problem 91 at Project Euler se puede resolver con una solución no tan difícil de calcular la fuerza bruta triángulo, escribiendo una prueba isRightTriangle (), y haciendo estallar todos los triángulos que pasan la prueba en un conjunto. Pero los dos pares de coordenadas X / Y hacen que una solución O (x ^ 4) con un valor constante alto. Un amigo y yo acabamos de encontrar una solución que es mucho más elegante y eficiente, pero los dos pasamos 3 horas en ella y dibujamos docenas de diagramas, probamos múltiples fórmulas, examinamos múltiples enfoques, etc.
No todas las preguntas de la entrevista son justas. Además, lo que es fácil para una persona puede ser difícil para otra. Si alguien lucha con una pregunta, ¿estaría más impresionado por una solución fea de fuerza bruta que funciona? ¿O una excelente comprensión de problemas y caminos hacia una solución elegante, pero no una solución codificada? ¿Existe una regla como: después de 20 minutos, deberías comenzar a programar sin importar qué?