¿Por qué el entrevistador hace preguntas algorítmicas de codificación agrietadas en las entrevistas de programación técnica?
Porque tienen una cantidad limitada de tiempo para evaluarlo.
invertir una cadena en el lugar no es solo una pregunta poco realista, sino que tampoco juzga experiencias reales como abordar los problemas
- ¿Cómo diseñarías un sistema grande como Facebook?
- ¿Por qué ha contratado Microsoft tantos graduados frescos este año en comparación con años anteriores?
- ¿Cuáles son las preguntas JSP y Servlet formuladas en una entrevista?
- ¿Qué es la matriz de posición?
- ¿Qué debo sacar de una entrevista si el entrevistador me hace preguntas de trivia en C ++ como, por ejemplo, constructores de copia, destructores virtuales, diferencia entre una referencia y un puntero?
Resolver problemas reales como un error para resolver presenta varias dificultades:
- le estás pidiendo a alguien que trabaje para ti gratis
- Es muy difícil presentarle a la persona una máquina que coincida razonablemente con lo que escribiría el código, y la capacidad de las personas para depurar los cambios drásticamente cuando tienen un entorno configurado de la forma en que están acostumbrados
- es casi imposible comparar a un entrevistado con otro si le presenta errores diferentes
- no obtienen una pizarra limpia, y la cantidad de cosas que diferentes personas sentirán que pueden cambiar diferirá drásticamente. (Esto es cierto tanto para el entrevistado como para el entrevistador. ¿Qué hace cuando un entrevistado resuelve el problema en cuestión, pero rediseña las cosas de una manera que soluciona algunos problemas y rompe otros?)
- resolver un problema razonable en un entorno y contexto al que estás acostumbrado puede llevar medio día. Es más largo cuando es un entorno y contexto al que no estás acostumbrado. Tomar un día por candidato que desea evaluar es demasiado largo.
Cuando tiene un problema pequeño y autónomo, el entrevistador tiene una mejor oportunidad de ver cómo piensa. ¿Pensaste en escribir exámenes? ¿Rompiste tu código en métodos más pequeños, o al menos aludiste al tipo de refactorización que harías? ¿Qué diseñaste? ¿Cómo lo codificaste? ¿El código contiene errores?
Y, sinceramente, invertir una cadena en su lugar es una pregunta súper fácil. Si recibe una pregunta como esa en una entrevista, debe agradecerle al entrevistador en lugar de quejarse.