Experiencia de entrevista de pasantía de Microsoft | Presencial 2021 – Part 1

Microsoft vino a nuestra universidad para seleccionar candidatos para los roles de FTE y pasante de verano en julio de 2021. De los 230 candidatos que solicitaron el puesto de pasante, solo 18 estudiantes fueron seleccionados finalmente. Todo el proceso fue virtual y se realizó en 2 rondas principalmente.

RONDA DE CODIFICACIÓN: La ronda de codificación se realizó en la Plataforma Codility y constó de 2 preguntas a resolver en 90 minutos. Las preguntas eran bastante fáciles, pero uno no podía volver a enviar sus respuestas después del primer envío, por lo que tuvimos que verificar todos los casos de esquina antes de enviarlos.

  1. 2 ranas pueden comenzar en cualquier índice en la array de entrada dada. La función debería devolver la distancia máxima posible que estas ranas pueden crear entre ellas (diferencia entre los valores de índice de ambas) al hacer que salten más lejos una de la otra. Las ranas solo pueden saltar sobre elementos de mayor valor o de la misma altura y no pueden saltar ningún elemento. La pregunta completa en detalle se da aquí .
  2. Una string que consta de los caracteres ‘a’ y ‘b’ se puede dividir en bloques de letras consecutivas similares. Determine el número mínimo de caracteres que se agregarán para hacer que todos los bloques tengan la misma longitud. ( https://www.geeksforgeeks.org/generate-a-string-consisting-of-characters-a-and-b-that-satisfy-the-given-conditions/ )

Solo 44 estudiantes de aquí fueron preseleccionados para las próximas rondas.

RONDAS DE ENTREVISTAS

Ronda 1 (entrevista técnica): esta ronda duró casi 45 minutos y fue bastante fluida. El entrevistador fue bastante amable y me hizo una pregunta de codificación y me dijo que explicara mi enfoque. La pregunta era Rutas de suma máxima y primero expliqué una solución de fuerza bruta y tuvimos una discusión de 30 minutos sobre otros enfoques. Finalmente, me dio una pista y me dijo que codificara mi enfoque.

Ronda 2 (entrevista técnica): la siguiente ronda duró aproximadamente 1 hora y fue nuevamente, principalmente una ronda de codificación. El entrevistador me hizo 3 preguntas y tuve que presentar mi pantalla y ejecutar los programas para él. 

  1. La primera pregunta fue eliminar cada quinto elemento de un mapa. El programa era simple, pero revisó los casos de prueba de borde y, después de algunas modificaciones, funcionaba correctamente y pasó a la pregunta de la red.
  2. Detectar bucle en una lista enlazada. Le hablé de dos enfoques: usar un conjunto de Nodes y usar el algoritmo de detección de ciclos de Floyd, pero terminé codificando solo el primer enfoque. (Consejo: Practique codificar todo el programa, no solo las funciones)
  3. La tercera pregunta fue una variación del patrón clásico de búsqueda en una string. Le dije la solución de fuerza bruta y luego el enfoque más optimizado (es decir, usando el algoritmo KMP). Sin embargo, dado que no estaba muy familiarizado con el código completo de KMP, le transmití lo mismo a mi entrevistador. Dijo que siguiera adelante y escribiera todo lo que pudiera. Finalmente, con algo de ayuda de mi entrevistador, completé la mayor parte del programa. Debido a la escasez de tiempo, no tuve que ejecutar el programa; en cambio, el entrevistador me dijo que revisaría el código después.

Después de esto, me preguntó si tenía alguna pregunta para él y concluyó la ronda.

Ronda 3 (Técnico + RRHH): El entrevistador pidió una pequeña introducción y luego comenzó con mi currículum y me preguntó cuánto sabía sobre las tendencias actuales en el mercado técnico. 

  • Luego comenzó a hacer preguntas sobre el diseño del sistema y yo no tenía ni idea de eso. Al ver mi confusión me preguntó si tenía Diseño de Sistemas en mi plan de estudios y respondí negativamente. 
  • Luego pasó a OOP y me preguntó la diferencia entre interfaz y clase abstracta y cuándo usaríamos una interfaz. 
  • Por último, me hizo una pregunta de codificación simple: dada una array ‘Arr’, cambie n elementos de un índice inicial (digamos inicio) a otro índice (digamos destino), sin espacio adicional.
  • Escribí el código completo en poco tiempo, pero básicamente quería comprobar mi capacidad para encontrar varios casos de prueba de borde y cubrirlos todos en mi código. Después de verificar y ejecutar todos los casos extremos, me preguntó si tenía alguna pregunta para él y me dio su opinión sobre mi desempeño, y concluyó la ronda.

Los resultados se dieron a conocer en unas pocas horas y me entusiasmó saber que era uno de los 18 estudiantes seleccionados.

Puntas:

  • Mi consejo para todos los candidatos que vayan a presentarse a una entrevista en las próximas semanas o meses es que mantengan la calma y la confianza durante todo el proceso. 
  • Nunca deje de interactuar con el entrevistador, incluso si ellos mismos no son muy interactivos. 
  • Según mi experiencia, las empresas no solo evalúan tus conocimientos técnicos, sino también cómo interactúas durante la entrevista y cómo manejas una situación difícil. Si está atascado en un problema, no dude en pedir ayuda al entrevistador porque eso demuestra que puede trabajar bien en equipo.
  • Para la ronda presencial preparar temas como OOPs, DS/Algo será suficiente pero si tienes tiempo prepara también Diseño de Sistemas y mantente actualizado con las tendencias tecnológicas actuales. 

Veredicto: Seleccionado

Gracias por leer la publicación. Espero que esto te ayude en tus propias entrevistas. ¡Salud!

Publicación traducida automáticamente

Artículo escrito por tanub922 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *