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?]
Respuestas:
Manten eso en mente...
Muchas veces, durante las entrevistas, se toman atajos imperfectos (como pruebas técnicas) porque, como mencionaste, no hay un proceso perfecto para poder juzgar a una persona en 30 minutos. Pero dado que la mayoría no tiene el lujo de trabajar con usted lado a lado, debe aceptar que es lo que es, un juego de probabilidades que todos juegan.
fuente
No exactamente. Es posible eliminar a las personas que no pueden programar en absoluto, y aquellos que no pueden explicar las cosas en su CV. Más allá de eso, generalmente solo estoy tratando de medir la inteligencia general y el interés en el campo. Es difícil comentar más sobre su situación sin saber el problema que se le pidió que resolviera.
Ese no es el objetivo de mis preguntas técnicas. En cambio, estoy tratando de descubrir si el candidato comprende los fundamentos de la informática. Para evaluar la capacidad de resolución de problemas, le pido a un candidato que cuente sobre un problema interesante en el que trabajaron.
Eso es todo. La grandeza es rara. Estoy feliz de encontrar a alguien competente.
fuente
Si. Si honestamente Esto no quiere decir que 30 minutos es tiempo suficiente para obtener una imagen completa de lo que una persona es capaz de hacer. El trabajo del entrevistador es hacer lo mejor para tener una idea de quién es el entrevistado y qué puede hacer. Encontrar a las personas que ponen algo en su currículum que realmente no sabían es sencillo. Averiguar exactamente qué puede hacer el entrevistado, incluidas todas sus habilidades y fortalezas, no lo es.
Si. Te dejan ver cómo piensa el entrevistado. Obtener la respuesta correcta no siempre es necesario. Ver a alguien lidiar con un problema con el que lucha es tan beneficioso como ver a alguien responder a un problema correctamente sin muchos problemas. Siempre hago una pregunta que creo que el entrevistado podría no ser capaz de responder.
No conozco ninguna prueba empírica que diga que las entrevistas técnicas encuentran a los mejores candidatos, pero es lo mejor que he intentado. Diferentes personas son buenas en diferentes cosas y obtener respuestas técnicas correctas no es lo único que decide si alguien es contratado. Ser una buena opción para la empresa también es muy importante.
Según su pregunta, creo que lo más importante que debe comprender es que los días de comentarios claramente definidos como una calificación de letra han terminado. Obtener la respuesta correcta es solo una parte del resultado. Escribir un buen código, comunicar sus ideas y escuchar a los demás es igual de importante. Sin embargo, estas áreas son más subjetivas y deben tratarse como tales.
Al igual que cómo resolvió el problema, dé un paso atrás y aclare su mente. Mucho entra en una entrevista y el entrevistador sabe que no es un sistema perfecto. Intentan hacer lo mejor que pueden para la empresa, al igual que usted intenta hacer lo mejor para usted.
fuente
En media hora puede juzgar que la capacidad técnica de una persona es al menos tan buena como x. Es decir, su capacidad puede ser mayor de lo que demostraron, pero puede estar bastante seguro de que no es peor. Si x es superior a sus requisitos, los contrata. Sí, es injusto si demuestras debajo de tu habilidad real. Todo lo que puedo decir es mejorar en la demostración.
Si alguien recitara una respuesta prácticamente memorizada, le daría un problema más difícil. En la academia la memorización es una habilidad importante. En un trabajo, es en su mayoría redundante cuando tienes google allí mismo.
Al ver cómo trabajan la mayoría de los grandes programadores, es seguro asumir que aprobaron una entrevista de trabajo en algún momento. No, no se puede saber si alguien será un gran programador en una entrevista de media hora. Afortunadamente, la mayoría de las empresas no necesitan grandes programadores. Se llevan muy bien con programadores sólidos y confiables que no temen abordar tareas que se encuentran fuera de su zona de confort.
La razón por la cual los pensadores innovadores pueden rechazar las entrevistas de trabajo es que las oportunidades para resolver problemas llamativos y revolucionarios son muy raras, y solo se te confiará para resolverlas después de que hayas demostrado que puedes resolver problemas mundanos pero difíciles que tus colegas no puede, como por qué el software se bloquea cuando supera el 16% de carga.
fuente
Muy pocas personas saben si sus técnicas de entrevista realmente funcionan, porque nunca aprenden más sobre aquellos que fallaron. Pero cuando nada refuta su hipótesis, la toman como confirmación de que son verdaderas. Entonces hay un elemento definido de tirar los dados.
Si las teorías económicas que dicen que los mercados son racionales y eficientes fueran ciertas, entonces las compañías buscarían contratar a personas que fueran malas para una entrevista de manera que no los hiciera malos en su trabajo. Entonces, alguien que vestía un traje que no le quedaba bien, sudaba, parecía muy nervioso y tenía problemas para hacer problemas técnicos bajo la presión de una entrevista; si hubiera evidencia externa, de lo contrario podría hacer problemas técnicos y las presiones del trabajo no serían como esas de una entrevista (como generalmente no lo son): representaría la mejor oportunidad de una empresa de obtener un candidato mejor de lo que podría atraer y actuaría en consecuencia. (Piense en Money-ball para el mundo corporativo). Eventualmente, los sesgos de la entrevista desaparecerían.
En la práctica, esto va en contra de la naturaleza humana. A los entrevistadores les gustan los extrovertidos confiados, sin importar cuál sea el puesto, e incluso si la entrevista técnica proporciona peor información que el currículum y las referencias (como tal vez sea cierto en su caso) lo tendrán en cuenta.
En cuanto a sus preguntas:
Algo. Las pruebas tienen una relación pobre de señal a ruido, pero se pueden ajustar para eliminar completamente sin calificar a expensas de las entrevistas calificadas pero malas en técnicas.
Ver # 1. Parte del ruido proviene de la variación en si las personas han visto el problema antes.
Ver # 1. Probablemente hay una pequeña correlación positiva entre estas pruebas y convertirse en un gran programador.
Mi consejo: estudie algunas preguntas técnicas de muestra para obtener una familiaridad básica. Recuerde que es un poco arriesgado, así que durante la entrevista trate de tener confianza. Si puede explicar lo que está pensando sin distraerse de lo que realmente piensa, entonces hágalo. Si realmente va mal, admite que te pones nervioso en las entrevistas y hazles saber que parece algo con lo que normalmente no tendrías problemas, posiblemente dando un ejemplo de un problema similar pero más difícil que resolviste.
fuente