JavaRush /Blog Java /Random-ES /Acrobacias aéreas en una entrevista técnica: cómo llegué ...

Acrobacias aéreas en una entrevista técnica: cómo llegué a Google, Microsoft y más

Publicado en el grupo Random-ES
Traducción y adaptación del artículo Ace Your Technical Interview: What Got Me Into Google, Microsoft and More en The Startup community en Medium. Acrobacias aéreas en una entrevista técnica: cómo llegué a Google, Microsoft y más - 1Antes de mi primera entrevista de prácticas, no tenía idea de que también se harían preguntas técnicas. Supuse que solo me esperaban un montón de preguntas de tipo “háblame de ti”. Sin embargo, tampoco estaba preparado adecuadamente para ellos. Pasé dos horas en el centro de orientación profesional intentando que todos nos dieran consejos valiosos y otras dos horas en casa ensayando respuestas a varias preguntas. Pero cuando llegué a la entrevista, el entrevistador no me preguntó acerca de mis fortalezas y debilidades. En cambio, me entregaron un marcador y me dijeron que fuera al pizarrón. ¡Y ni siquiera pensé que comprobarían primero mis habilidades técnicas! Esto me tomó por sorpresa. No sabía responder correctamente a las preguntas y unas horas después recibí un correo electrónico con una cortés negativa. Afortunadamente, después de este incidente tuve muchas entrevistas exitosas. He asistido a cincuenta entrevistas técnicas y he preparado a muchos de mis amigos para ellas. Mi enfoque parece funcionar bastante bien, ya que me ha ayudado a mí y a otros a tener éxito en entrevistas en empresas como Google, Microsoft, Apple, Amazon, etc. Me gustaría ayudar a todos personalmente, pero simplemente no hay tiempo suficiente para ello. Lo mejor que puedo hacer es compartir una guía paso a paso sobre cómo tener éxito en las entrevistas técnicas. Aprendí lo que se puede y lo que no se puede hacer en tales situaciones mediante prueba y error. Así que aquí hay una lista de mis consejos útiles que he recopilado a lo largo de varios años de práctica.

1. No se lance directamente a entrevistas simuladas.

La gente suele recomendar realizar tantas entrevistas simuladas como sea posible, y tienen razón. Pero si no está preparado, una entrevista simulada puede resultar ineficaz, intimidante e incluso desmoralizadora. Te lo puedo decir por experiencia: si entrevisté a alguien que no estaba completamente preparado como práctica, al final se sintió desmotivado porque “flotaba” en las preguntas y no respondía muy bien. Tómese el tiempo para prepararse mejor y comprender cómo es una entrevista técnica. Aquí hay un buen ejemplo de una entrevista simulada en Google:

2. Habilidades comunicativas > nivel de formación técnica

Mucha gente se prepara para entrevistas técnicas pasando horas en sitios como LeetCode y Hackerrank. Estas son excelentes plataformas para practicar. Pero es mejor tomarse un poco de tiempo libre antes de perder un montón de horas resolviendo al azar los problemas que cree que enfrentará en una entrevista. Este es un enfoque ineficaz: en una entrevista te encontrarás con al menos una pregunta que no has visto antes en ningún otro lugar. Algunos de mis amigos tienen programadores más fuertes que yo y, a menudo, me sorprendía saber por qué superé las pruebas de mi experiencia técnica mientras que ellos (a veces) no. La mayor diferencia entre nosotros es probablemente que pasé mucho tiempo practicando mis habilidades comunicativas. En serio: saber cómo resolver las 100 tareas técnicas principales no ayudará si no puedes explicar claramente la lógica de tu solución. Es muy importante aprender a formular pensamientos. Al principio todo esto puede parecer difícil, incómodo y antinatural, pero la práctica ayuda. Es importante mantener actualizada su formación técnica, pero desarrollar sus habilidades de comunicación es quizás aún más importante. Si tiene poco tiempo antes de una próxima entrevista, es mejor concentrarse en la comunicación que intentar rehacer en dos días el material que pasó dos años estudiando informática. Antes de su próxima entrevista técnica, intente aprender esto:

2.1 Aprenda a hacer preguntas aclaratorias

Una de las principales ventajas de una entrevista es la posibilidad de aclarar la pregunta que le hicieron. Normalmente quienes realizan entrevistas no dan toda la información, por lo que hay que extraer detalles adicionales de ellas. ¡No puedes resolver un problema sin comprender completamente de qué se trata! Para practicar, puede tomar algunas preguntas de entrevistas técnicas y proponerles una serie de preguntas aclaratorias. Por ejemplo, si se le pide que ordene una lista, podría preguntar:
  • ¿Cómo ordenar una lista, en orden ascendente o descendente?
  • ¿Qué tipo de datos contiene la lista?
  • ¿Podría dar un ejemplo de cómo debería ser la entrada y salida de datos para este tipo de tarea?
  • Etc.
Puede que haya muchas más preguntas; estos son sólo algunos ejemplos. Asegúrese de aclarar varios matices: solicite un ejemplo de entrada y salida
  • Especificar el tipo de datos
  • Compruebe si hay restricciones en el rango de valores.
  • Pregunte si tiene que lidiar con casos extremos
  • Descubra si puede utilizar determinadas bibliotecas y funciones del lenguaje en el que está programando

2.2 Aprende a expresar pensamientos

Una vez que haya hecho todas las preguntas aclaratorias y sepa exactamente qué necesita para resolver el problema, es hora de aprender a comunicar adecuadamente la esencia de su solución. Si comienza simplemente a escribir código sin explicar por qué lo hace en el camino, será difícil para el entrevistador determinar si tiene razón o no. No recibirás puntos por esto, sin mencionar el hecho de que puedes terminar escribiendo la solución incorrecta. Cuando explica la lógica detrás de su decisión a lo largo del camino, el entrevistador puede indicarle la dirección correcta si se desvía un poco del rumbo. Antes de escribir cualquier código, prueba esto:
  • Cuéntele a su interlocutor su posible solución: ¿podrá resolver el problema "de frente" y es posible o se puede mejorar de alguna manera?
  • Analice su solución paso a paso con un ejemplo para comprender cómo debería funcionar.
  • Divida la solución en varios pasos y escriba un pseudocódigo o "esqueleto" para que el entrevistador comprenda su proceso de pensamiento.
  • Pruebe su solución con diferentes casos extremos para ver si ha cubierto todo. Solicite la opinión del entrevistador.
Para practicar, responda una pregunta de entrevista elaborada e intente decirle la respuesta (solución) correcta a un amigo. Si no encuentras un amigo, toma un peluche o cualquier otro objeto y practica con él.

3. Mejore sus conocimientos y habilidades técnicas

Una vez que haya aprendido a comunicarse correctamente en una entrevista, podrá dedicar toda su energía a mejorar sus conocimientos técnicos. Asegúrese de repasar los algoritmos y las estructuras de datos. Asegúrese de comprender temas clave como estructuras de datos, clasificación, trabajo con algoritmos, operadores bit a bit, notaciones Big O, etc. La lista de cosas que necesita saber varía según el puesto que esté solicitando.

4. ¡Practica!

Ahora, después de haber mejorado las habilidades y conocimientos necesarios, puedes poner toda tu energía en práctica.
El curso JavaRush contiene muchas tareas "rompecabezas" y proyectos completos para crear soluciones de aplicaciones.
Intente no solo escribir una solución, sino pensar en los pasos: haga mentalmente preguntas aclaratorias, piense en la estructura y solo entonces escriba la solución. Esto le ayudará a sentirse más seguro en la entrevista, ¡y la confianza es la reina!

5. ¿Qué hacer si te “estancaste” durante una entrevista?

Ahora imaginemos que usted entra en una entrevista real y de repente se da cuenta de que la pregunta lo ha dejado perplejo. No tienes idea de lo que hay que hacer y cómo resolver el problema. Quieres simplemente salir corriendo de la habitación y no volver. Lo entiendo: he estado en situaciones con las que todavía sueño en pesadillas. Pero no se preocupe: aún no se ha perdido toda esperanza. Esto sucedió más de una vez durante las entrevistas, pero generalmente terminaban con una oferta. Es difícil, te pone de los nervios, pero todo es posible. Tómate un descanso y piensa. Respira, ordena tus pensamientos. Quizás tengas una “pista”. Pruebe su solución con un ejemplo sencillo. Intente crear una versión simplificada de la solución a un problema similar, pero más simple, prestando atención a las acciones paso a paso. Por ejemplo, si necesitas ordenar una lista, ¿qué haces? Encuentra el número más pequeño y lo pones al principio. ¿Cómo implementarías esta solución en código? Cuéntenos sobre una solución privada. Si no surge una solución completa, está bien. Dígale esto al entrevistador, pero también déjele participar en su línea de pensamiento. ¿Este desafío se parece a alguno que hayas encontrado? ¿Parece que necesitas utilizar una estructura de datos específica para resolverlo? Comparte la lógica que te guía. Se honesto. Si está seguro de que la pregunta que le hicieron pertenece a un área del conocimiento que no le resulta familiar, dígaselo al entrevistador. Di que estás listo para buscar una solución, pero que aún no tienes las habilidades necesarias. Una vez me hicieron una pregunta relacionada con la seguridad de la red. En ese momento no tenía práctica en esta área, de lo cual les hablé a los entrevistadores. Me explicaron los conceptos básicos necesarios para que pudiera afrontar la tarea. Serás entrevistado por personas reales :) Te entienden perfectamente, porque ellos mismos han pasado por situaciones similares. Estos son todos los consejos que he desarrollado a lo largo de varios años de entrevistas. Nos ayudaron a mí y a mis amigos a entrar en las mejores empresas. ¡Buena suerte en la búsqueda!
Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION