Lo que diré podría ser un poco controvertido por naturaleza, pero hoy estoy muy desanimado, por lo que preguntaré esto.
Acabo de tener una entrevista con una importante empresa de tecnología para un puesto de pasantía, donde me hicieron muchas preguntas típicas de entrevistas orientadas a algoritmos. Ahora, dada mi experiencia, me considero fuerte en algoritmos (también obtuve buenas calificaciones en algoritmos de nivel de posgrado, material que involucra la completitud NP y más allá (algoritmos de aproximación y aleatorios), pero desafortunadamente rechacé la entrevista. No pude piense en un método muy eficiente para resolver un problema de cuerdas en aproximadamente ~ 10 minutos. Una vez que terminó la entrevista, tomé un vaso de agua, comí un plátano y me relajé por un tiempo e intenté el problema nuevamente. La respuesta podría llegar en menos de 5 minutos. Y lo peor de todo: en realidad estaba en esa pista y el entrevistador lo insinuó, pero me presionó demasiado. Toda mi experiencia me hizo pensar en entrevistas tecnológicas. Tenía algunas preguntas y quería plantearlas en este foro.
¿Es realmente posible juzgar la habilidad técnica de alguien en media hora? ¿Honestamente? ¿O es solo un tiro de dados?
¿Las preguntas de la entrevista técnica miden la capacidad de resolución de problemas? Este punto es muy discutible? Como estudiante de doctorado, sé que la resolución de problemas matemáticos implica resolver algo de lo que nunca has oído hablar antes. Por otro lado, preguntas como: ¿fusionar dos listas vinculadas en orden ordenado o imprimir todos los elementos de un árbol binario en el nivel k se convierten en "meros ejercicios" una vez que alguien ha visto la solución o resuelto el problema de antemano?
¿Las personas que salen con gran éxito en esta entrevista se convierten en grandes programadores? ¿Continúan y diseñan motores de juegos elegantes, bibliotecas de gráficos, escriben marcos rápidos de fork-join? ¿Hay alguna evidencia que apunte a una correlación positiva entre el buen desempeño en entrevistas técnicas y la capacidad de programación real? ¿O estas entrevistas están más orientadas a encontrar el tipo de persona "haciendo las cosas" (Spolsky)?
Puedo apostar a que muchos académicos que publican ideas innovadoras en ICML, VLDB, Mobicom, rechazarán estas entrevistas. Pero puedo asegurarle que son algunas de las personas más inteligentes que encontrará en este planeta.
Estoy principalmente en la academia (estudiante de posgrado), por lo que agradeceré mucho la percepción de alguien al otro lado de la valla. ¿Alguien que realmente realiza estas entrevistas?
[Ok, todos. Gracias por todas las respuestas agradables y reflexivas. Como no quiero hacer otra pregunta, le pediré que responda esta pregunta por mí.
Suponga que el candidato X tiene una buena cartera pública de trabajos en los que ha contribuido a algún proyecto de código abierto conocido en el que, en realidad, puede ir y verificar sus parches, verificar los errores que ha cerrado y echar un vistazo a los diseños que ha creado. En ese caso, la pregunta es ¿cuánto peso está dispuesto a dar a su trabajo público / verificable en comparación con qué tan bien responde a una pregunta de entrevista de árbol binario muy artificial en menos de 15 minutos?]