Ya sea que haya estado programando desde que su pijama tenía los pies puestos o si está mirando hacia el cañón de su primera búsqueda de trabajo después de la escuela, la entrevista técnica puede ser un obstáculo aterrador entre usted y el trabajo de sus sueños.
Pero no temas, solo prepárate para mostrar tus habilidades. A continuación encontrará algunos consejos útiles para realizar cualquier entrevista técnica.
Antes de la entrevista
Conseguir un libro
Tan pronto como sea posible antes de su entrevista (aunque solo logré unas pocas semanas), comience a prepararse. Trabajar en un libro de preparación no solo actualizará sus algoritmos y conocimientos de estructuras de datos, sino que también lo pondrá en la mentalidad correcta para resolver problemas.
Lo más importante, elige el libro de preparación adecuado para tu nivel e intereses. Romper la entrevista de codificación es un gran recurso, pero si aún no eres un programador razonablemente experimentado, no compensará la experiencia. Si recién está comenzando, hay otros libros de los que obtendrá más millaje, como Programación de entrevistas expuestas: secretos para conseguir su próximo trabajo . Y hay muchos libros más especializados y avanzados para aquellos con más experiencia.
La práctica hace la perfección
Pocas cosas superan el pánico como lo hace la práctica, así que comience la pizarra siempre que pueda, incluso problemas realmente pequeños. Los libros de entrevistas de codificación ofrecen problemas de muestra casi interminables, pero también puede usar problemas en los que ya está trabajando. Plantee el problema para usted mismo (o pídale a un amigo técnicamente inclinado que se lo plantee, para una configuración más realista), planee su estrategia y coloque el marcador en el tablero de borrado en seco. Cuanto más cómodo se sienta al marcar esa pizarra en blanco en casa, menos vacilará en la entrevista.
Si tiene poco tiempo y quiere superar los batidos rápidamente, puede agregar presión que no estará allí en la entrevista real. Si se da un límite de tiempo o tiene a alguien a quien respeta como el entrevistador, el trato real se sentirá como pan comido.
No te sobrecargues
Cuando programe entrevistas, asegúrese de dejar al menos un par de horas entre cada una. Esto suena como un problema del primer mundo, pero cada vez que tuve varias entrevistas en un día, no me desempeñé tan bien como podría. O me preocupaba llegar al siguiente a tiempo o ya había agotado mi lógica horas antes.
Ah, y duerme un poco. Esto suena como algo que tu mamá te diría, pero hay algunas cosas que te sacarán de tu juego como la falta de sueño. Es comparable a aparecer borracho.
En la entrevista
Prepárate para cualquier cosa
Una vez que haya llegado a su entrevista, debe estar preparado para diferentes tipos de resolución de problemas. Sus entrevistadores pueden pedirle que hable sobre cómo resolvería un problema, pueden abrir una computadora y pedirle que los guíe a través de la creación de código, o pueden pedirle que escriba el código usted mismo en una pizarra. ¡Prepárate para la variación, y no te dejes engañar por los detalles! No importa qué método estén usando sus entrevistadores, lo que realmente están probando son sus habilidades para resolver problemas.
Hacer preguntas
Cuando se le presente un problema, piénselo bien y asegúrese de comprender completamente lo que se le pide que devuelva. No tenga miedo de hacer preguntas temprano si algo no está claro. Si hay casos extremos, por ejemplo, pregunte cómo quieren que los entrevistadores los manejen. ¿Deberías lanzar una excepción? ¿Rotura?
También asegúrese de hacer preguntas de procedimiento para comprender qué buscan los entrevistadores y cuáles son sus limitaciones, por ejemplo, "¿Hay un lenguaje específico en el que le gustaría que le dé mi solución?" O "¿Puedo suponer que tengo acceso? a cualquier biblioteca de Python?
Y no hagas suposiciones. Incluso si está seguro de que es seguro, mencione en voz alta qué es lo que está pensando para que los entrevistadores puedan informarle si se está perdiendo algo.
Tome su tiempo
Una vez que comprenda la pregunta que le hacen, no tema tomarse un minuto para pensar y procesar antes de comenzar a resolver el problema. Siempre y cuando no esté siendo bombardeado con preguntas rápidas basadas en el conocimiento, hacer una pausa después de que se le haga la pregunta es algo bueno. Por supuesto, ¡asegúrese de no tomarse 10 minutos para resolverlo en su cabeza sin decir una palabra! El punto es usar su tiempo por adelantado para estructurar su enfoque, no para intentar escribir todo el código en su cabeza antes de tocar el marcador en la pizarra.
Piensa en el cuadro grande
Piense primero en el panorama general del problema. Está bien seudocodificar la estructura general, siempre y cuando le digas a los entrevistadores que eso es lo que estás haciendo y que tienes la intención de volver y codificarlo más tarde. Es una buena forma de descargar la organización del problema para que su cerebro tenga más espacio para el procesamiento. Esto también ayudará si se te acaba el tiempo al final; los entrevistadores al menos sabrán cómo había planeado terminar la tarea, incluso si no llegó a los detalles.
Además, al principio no se preocupe por encontrar la forma más eficiente de resolver el problema, a menos que se le ocurra naturalmente. Clave una solución menos eficiente y luego discuta por qué es menos que ideal. Luego, si tiene tiempo o ve una mejor manera de resolverlo, pase a un algoritmo más amigable con el tiempo o el espacio. Incluso si todo lo que tiene tiempo para hacer es terminar su versión menos eficiente y luego explicar cómo lo haría mejor, esa no es una mala respuesta.
Hablarlo
Lo más importante: hablar. Traiga a sus entrevistadores con usted en su resolución de problemas. Esto puede ser tan simple como delinear lo que estás a punto de hacer cuando lo estás haciendo (“Entonces, necesitaré un bucle for para iterar a través de todos los elementos de esta lista”) o plantearte problemas a ti mismo como tú ir ("Esto significa que necesitaré una mejor manera de acceder a la información; hmm, volveré a eso más tarde").
Hablar a través de su proceso de pensamiento le da a sus entrevistadores una ventana sobre cómo piensa, y ese es en última instancia el punto de la entrevista. Incluso si crees que tu solución es sorprendente, es mejor que sepan cómo enfocaste el problema y llegaste a tu respuesta que ver la respuesta completa y no tener ni idea de lo que te llevó allí. También le da a los entrevistadores la oportunidad de ayudarlo si está atrapado o si se encuentra en un camino sin salida.
Trae a tu gente habilidades, también
El hecho de que vaya a un trabajo de ingeniería no significa que pueda aflojar en ser amable y responsable. He escuchado historias de terror de programadores fantásticos que no fueron contratados porque no encajaban con la cultura o tenían una mala actitud. Estoy seguro de que tú también. No seas esa persona.
La curiosidad y el entusiasmo son apreciados por cualquier empleado, y los desarrolladores no son diferentes. Pregunte sobre el equipo de ingeniería de la compañía, su stack y los problemas más difíciles que está abordando para el producto. Por supuesto, hay una delgada línea entre ser entusiasta y ser un adulador, así que manténgalo genuino, pero todos aman a un candidato que esté interesado en el producto en el que trabajará.
Aprende algo nuevo
Finalmente, una cosa que los entrevistados a menudo pierden es la oportunidad de aprender. Con suerte, aprenderá algo nuevo en cada entrevista: adquirirá una nueva idea o una nueva herramienta, o obtendrá una idea de productos y tecnología interesantes. Cuanto más piense en sus entrevistas de esta manera, más valioso será el tiempo para usted a largo plazo.




