Adivinan al principio, pero finalmente no necesitan hacerlo. Hay un concepto conocido en muchas entrevistas como “calibración”.
Supongamos que se me ocurre una nueva pregunta. Por ejemplo:
Dado un árbol binario (no un árbol de búsqueda binario), diseñe un algoritmo que devuelva el nodo máximo en cualquier subárbol.
- ¿Cuáles son algunos consejos para conseguir un trabajo en IBM?
- ¿Qué consejo le darías a un nuevo ingeniero de software graduado que está comenzando su carrera en un gigante de software como Amazon / Google / Facebook en el área de la Bahía de San Francisco?
- ¿Las cartas de oferta de Google generalmente especifican el nivel de ingeniero de software en el que lo contratan, por ejemplo, SWE L3, L4, L5?
- ¿Cuáles han sido tus experiencias de entrevista más interesantes en el Instituto de Tecnología de la Universidad de Nirma?
- ¿Cuál es la mejor manera de reclutar un desarrollador de iPad / iPhone?
Podría mirar esta pregunta y pensar que es una pregunta de dificultad media. Más precisamente, describiría su dificultad de la siguiente manera:
- Dificultad para diseñar una solución de fuerza bruta: fácil
- Dificultad para diseñar una solución óptima: medio “ligero”
- Dificultad para codificar la solución de fuerza bruta: fácil
- Dificultad para codificar la solución óptima: “media luz
Esa es solo mi mejor suposición. Esta suposición proviene de conocer la dificultad de los problemas que se sienten similares y de considerar cuál podría ser el proceso de pensamiento de alguien para resolverlo.
La primera persona que entreviste estará sujeta a esas conjeturas. Es decir, juzgaré su desempeño en función de lo fácil o difícil que creo que es el problema.
¿Podría estar equivocado? Oh si, absolutamente. Eso pasa todo el tiempo. En los comentarios de mi entrevista, compararé el desempeño del candidato con lo que creo que sería un buen desempeño, pero también notaré que esta es una nueva pregunta en la que no estoy “calibrado”. La gente sabrá tomar mis comentarios con un grano de sal. Si los comentarios de mi entrevista no coinciden con los de otras personas, es posible que no se tengan en cuenta. Por lo tanto, es un poco injusto que recibas una pregunta sobre la que el entrevistador no está calibrado, pero no deberías verte afectado significativamente. (Nunca haré una nueva pregunta en una entrevista telefónica, por lo que siempre hay otras entrevistas en las que basar su desempeño).
A medida que hago la pregunta a más y más candidatos, su desempeño “calibrará” la dificultad de la pregunta. Si 9 o 10 candidatos pueden resolver el problema de manera óptima en solo unos minutos, sabré que en realidad es una pregunta bastante fácil. O, si la gente toma mucho más tiempo, sabré que es una pregunta difícil. Eventualmente, dejaré de notar que es una nueva pregunta en la que no estoy calibrado, porque ahora estoy suficientemente calibrado.
Algunas preguntas pueden ser más fáciles para los candidatos con antecedentes específicos, pero esas diferencias suelen ser bastante obvias. Una pregunta que implica mucha manipulación de bits generalmente será más fácil para un candidato C / C ++ que para un candidato Python.