Experiencia de entrevista de Microsoft para la pasantía de ingeniero de software | Presencial 2021

Una breve descripción general: Microsoft vino a nuestro campus para seleccionar candidatos para pasantías de verano en agosto de 2021. De los más de 200 candidatos (de CSE + ECE + EEE + ENI) que solicitaron el puesto de SWE Intern, solo 13 estudiantes fueron seleccionados finalmente. . Todo el proceso fue virtual y se realizó en 4 (1 ronda de codificación + 3 rondas de entrevistas) rondas.

Ronda de codificación : se llevó a cabo en la plataforma Codility y consistió en 2 problemas que se suponía que debían resolverse en 90 minutos. La descripción de los problemas es la siguiente:

  1. Este problema era una variante fácil del problema estándar de intervalos de fusión . Esto fue factible en 15-20 minutos.
  2. Este problema era interesante y la solución más óptima no era tan fácil de encontrar. Se proporciona una array binaria 2D (una array de 0 y 1) de tamaño N*M. Y la distancia entre dos celdas cualesquiera se toma como su distancia de Manhattan (la distancia de Manhattan entre dos puntos (x1, y1) y (x2, y2) es |x1 – x2| + |y1 – y2|). Además, se le da un número entero ‘K’. Se suponía que íbamos a encontrar el número total de celdas con valor 0 de modo que la distancia de cada celda con valor 1 no esté a más de k unidades de ella. Restricciones: 2 <= N,M <= 400; 1 <= K <=800; Hay al menos una celda con valor 1. De hecho, se me ocurrió una solución O(n*m) no tan intuitiva. Me tomó casi la totalidad de los 70 minutos restantes codificar mi solución y enviarla,

Al final, fui seleccionado junto con otros 25 candidatos para las rondas de entrevistas.

Total de rondas de entrevistas: 3

Plataforma: Microsoft Teams, Codility

Ronda 1: esta ronda duró casi 60 minutos para mí. El entrevistador fue muy amable y primero me pidió que me presentara. Después de eso, nos detuvimos directamente en las preguntas de codificación. Compartió un enlace de codility conmigo y se suponía que debía usarlo para codificarlo. Me hicieron una pregunta de DSA y un rompecabezas.

  • La pregunta de DSA era encontrar el segundo elemento más grande del BST . Lo codifiqué bien a tiempo discutiendo primero algunos casos extremos y enfoques. Luego, generalizó la pregunta al k-ésimo elemento más grande del BST . Fue necesario que el entrevistador me diera una pista para finalmente encontrar el enfoque más óptimo, pero estaba muy satisfecho con la solución general. Esto tomó alrededor de 35-40 minutos.
  • Luego me pidió un acertijo que consistía en idear una estrategia óptima para ganar el juego independientemente de los movimientos de los oponentes. La descripción del juego es la siguiente: Se supone que debes seleccionar un número inicial ‘x’ entre [1,9]. Entonces usted y su oponente se arriesgan paso a paso. Si un jugador eligió el número ‘n’ en el último turno, el otro jugador puede elegir cualquier número entre [n+1, n+10]. El juego continúa hasta que uno de los jugadores llega al número 75. Seleccione ‘x’ de tal manera que gane cada vez. Se me ocurrió un enfoque erróneo al principio, pero luego, después de un pensamiento riguroso, se me ocurrió una solución y, afortunadamente, fue la correcta. (PD: La respuesta es: x debería ser 9. Averigüe el razonamiento: p) Esto me tomó alrededor de 15 a 20 minutos y, finalmente, la entrevista terminó con una pregunta para el entrevistador.

Ronda 2:  esta ronda comenzó dentro de los 5 minutos posteriores a la finalización de mi primera ronda y se suponía que duraría 30 minutos. Y fue la más fácil de las tres rondas. El entrevistador comenzó formalmente pidiéndome que me presentara y luego pasó directamente a la pregunta de DSA. 

  • La pregunta era bastante estándar. Era una variante de verificar paréntesis válidos. Lo codifiqué y le expliqué mi enfoque al entrevistador en 15-20 minutos y eso marca el final de mi segunda ronda.

Ronda 3: Ronda final

  • Esta ronda también comenzó dentro de los 5 minutos posteriores a la finalización de mi segunda ronda (y en ese momento me sentía un poco cansado de hablar durante más de 90 minutos seguidos). Esta fue la ronda que más disfruté y duró casi una hora. El entrevistador fue muy amable y comenzó pidiéndome que me presentara y cómo fue mi día hasta entonces junto con algunas otras preguntas de mi currículum. Luego me pidió que compartiera detalles sobre mi experiencia de pasantía anterior. Luego me preguntó sobre mis rondas anteriores y mi enfoque detallado en el mismo. Luego me preguntó acerca de mi editor de código favorito (que obviamente es VSC <3) y me pidió que lo abriera y presentara la pantalla. Luego compartió una pregunta DSA que era una variante estándar del cruce de límites de BST(Mi pregunta era imprimir el recorrido en el sentido de las agujas del reloj en lugar de en el sentido contrario a las agujas del reloj). Luego pasamos a discutir varios enfoques, casos de esquina y métodos para implementar el enfoque más óptimo (en un solo recorrido, en lugar de tres recorridos separados). Evidentemente, me pidieron codificar un caso especial y eso marca el final de la parte de resolución de problemas de la entrevista. Quedó bastante impresionado con mi enfoque, código y comunicación y compartió comentarios positivos sobre el mismo. Luego hablamos un poco sobre el proceso de asignación de proyectos y campus después de recibir una oferta de pasantía. Y finalmente terminó la ronda.
  • Por la noche, escuché buenas noticias de nuestra Unidad de Colocación y, junto con otros 12 candidatos, Microsoft India me ofreció una oferta de pasantía.

Consejos para las entrevistas:

  • Lea muchas experiencias de entrevistas un día antes de la entrevista (independientemente de que la empresa sea Microsoft o no).
  • Mantén la calma y la compostura durante la entrevista. ¡La persona que te entrevista está para seleccionarte y no para rechazarte!
  • Sigue comunicando siempre tu proceso de pensamiento y enfoque, porque eso es lo que busca el entrevistador.
  • Siempre pregunte acerca de los resultados en los casos de los que no está seguro, y una vez que encuentre una solución, ejecútela en seco en un caso de prueba antes de codificarla.
  • Intente escribir código bien comentado y legible.

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 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 *