¿Por qué me congelan el cerebro cuando me preguntan un problema algorítmico o de programación en una entrevista? ¿Qué puedo hacer al respecto?

Es totalmente normal Estos escenarios de entrevistas pueden ser comunes en algunas empresas, pero a menudo son criticados por medir habilidades que son irrelevantes para el trabajo.

Cuando estoy tratando de resolver este tipo de problema por mi cuenta, paso a paso. Hago gestos con las manos. Murmuro cosas para mí mismo. Me veo como una persona muy espeluznante. Si un entrevistador me está observando y tengo que parecer normal, mi cerebro simplemente no funcionará tan eficazmente.

La peor parte es la expectativa de que voy a verbalizar mi proceso de pensamiento en beneficio del entrevistador. La resolución creativa de problemas tiene una cualidad muy abstracta. No se habla exactamente a la respuesta. Tu cerebro busca patrones que has visto antes, visualizas diferentes formas de modelar partes del problema, reorganizas las cosas de una manera completamente no verbal.

Las personas que han practicado muchos problemas algorítmicos pueden darse cuenta de que será necesario un primer paso en particular. No necesitan descubrirlo creativamente en el acto. Para que puedan verbalizar fácilmente, “Primero creo que necesitamos hacer algo como esto”. Y así.

Si el trabajo requiere a alguien que tenga especialización en algoritmos, entonces esta es una buena manera de entrevistar a los candidatos. Si el trabajo implica encontrar soluciones creativas para una amplia variedad de problemas técnicos, entonces esta es una mala manera de entrevistar a los candidatos. No se sienta frustrado por eso, simplemente muévase a una compañía diferente.

Tuve problemas similares cuando me enfrenté a problemas de algoritmos y estos son algunos pasos para pensar. Por lo general, este “congelamiento” inducido por el pánico ocurre cuando usted:

  • Comete un pequeño error al escribir el algoritmo y luego no puede volver a trazar coherentemente su proceso de pensamiento
  • Lucha para pensar en la solución adecuada (lo que espera el entrevistador)

== Cómo recuperarse de cometer un pequeño error al escribir el algoritmo:

Te sugiero que desarrolles una serie de pasos que sigas para que volver sobre tu proceso de pensamiento sea más fácil:

  1. Confirme el problema (asegúrese de estar trabajando en el problema previsto)
  2. Escriba la firma de la función, por ejemplo: public static int bstHeight (TreeNode root)
  3. Desarrollar casos de prueba / casos de borde adecuados
  4. Posibilidades de algoritmo de lluvia de ideas
  5. A MANO , haga un ejemplo de sus mejores algoritmos posibles para algún subconjunto de los casos de prueba que desarrolló
  6. Programe su algoritmo
  7. Ejecute su programa con sus casos de prueba y verifique cualquier posible error.

De esta manera, tendrá un “marco”, por así decirlo, de modo que si se congela puede recurrir al trabajo que presentó anteriormente. Además, el entrevistador podrá ayudarlo en esto si también ha vocalizado su trabajo.

== Cómo superar un posible congelamiento al pensar en la solución adecuada:

Tenga “plantillas” de los principales tipos de problemas: debe conocer patrones comunes de problemas y las soluciones comunes a esos problemas. Por ejemplo, tener una comprensión profunda de los recorridos de preorden, inorder y postorder le permitirá desarrollar sus conocimientos durante la entrevista. Si tiene una comprensión débil de estos fundamentos, hará el doble de trabajo que otro candidato, ya que esencialmente resolverá cómo hacer un recorrido postorder Y ENTONCES tratará de resolver la pregunta formulada (tal vez, por ejemplo, calculando el altura de un árbol binario). Tener que hacer el doble de trabajo de lo esperado lo llevará a tener que hacer un seguimiento de mucho más y también puede inducir esta congelación. Al tener “plantillas” de tipos de problemas (programación dinámica, recorrido de árbol recursivo, recorrido de árbol iterativo, BFS, DFS, búsqueda binaria, clasificación rápida / fusión, etc.) puede evitar enfocarse en las partes “mundanas” del problema y puede en su lugar, enfóquese en la parte más interesante / desafiante (que generalmente es todo lo que le dará tiempo). Espero que ayude y buena suerte!

Práctica práctica práctica

–AP

Los problemas de programación y las preguntas sobre algoritmos suelen ser preguntas que provocan reflexión y son muy diferentes de ¿Qué es? Por qué esto ? tipo de preguntas técnicas

Hay pocas cosas que deben tenerse cuidado al hacer / responder este tipo de preguntas:

1. El entrevistado no debe estar ansioso o nervioso: si es entrevistado, asegúrese de tener mucha confianza. Tome un poco de agua antes de la entrevista ya que reducirá la ansiedad. Si eres entrevistador, asegúrate de comenzar con preguntas generales fáciles para tranquilizar al entrevistado antes de responder preguntas de resolución de problemas, ya que la ansiedad se desvanece lentamente después de unos minutos de entrevista.

2. Aunque las preguntas sobre el algoritmo se refieren a pensar profundamente, aún puede haber pocos indicadores que se puedan llenar. Por ejemplo: si obtiene un árbol, haga preguntas gráficas, debe tener en cuenta que muchas de ellas se resuelven mediante la recursividad. Si lo sabe, puede tomar eso como base y luego comenzar a pensar más. Si nunca lo supiste, definitivamente te congelará.

3. Si está atascado pero puede reanudar con poca ayuda, solicítelo al entrevistador. No me importa decirle al entrevistador: “Sé cómo hacerlo, pero ha pasado mucho tiempo lejos de los libros. ¿Pueden darme algunos consejos para comenzar?”.

Es posible que su reacción no tenga nada que ver con su capacidad para hacer el trabajo: la mayoría de los problemas de programación de entrevistas no son realistas y se parecen más a los acertijos que a cualquier otra cosa. Realmente no representan lo que se le pedirá que haga en el trabajo.

Dicho esto, no puedes cambiar el sistema por ti mismo. Recomiendo estudiar de un libro como este. Esperemos que las cosas cambien con el tiempo: mi empresa, Lytmus, está tratando de hacer que la experiencia de la entrevista sea más realista y menos estresante. ¡Buena suerte!