Experiencia de entrevista de Microsoft para ML Engineer 2020

El equipo de contratación de Microsoft para ingeniero de aprendizaje automático confirmó mi solicitud para ingeniero de aprendizaje automático en la India. En esta publicación, compartiré mi experiencia con la esperanza de que sea útil para algunos de ustedes. Tengo más de 2 años de experiencia trabajando como ingeniero de aprendizaje automático en nuevas empresas.

Proceso de entrevista:

1. Semana 1 (miércoles) 

Recibí un correo electrónico de un reclutador de Microsoft sobre un puesto en ingeniería de software y aprendizaje automático en Microsoft. Le di mi currículum y, en una hora, recibí una llamada para explicarle el proceso. Me dijeron que mi currículum se enviaría al gerente de contratación, que si me elegían, otro reclutador del equipo de personal se comunicaría conmigo y que tendría una entrevista el sábado siguiente (Semana 2 – Sábado).

2. Semana 2 (miércoles) 

Recibí una llamada de otro reclutador informándome que mi perfil había sido preseleccionado para una entrevista. El sábado tendré tres rondas de entrevistas (semana 2 – sábado). La entrevista cubrirá temas como estructura de datos y algoritmos, diseño y aprendizaje automático. Me contactaron regularmente para confirmar mi disponibilidad para una entrevista. El reclutador es simplemente increíble para garantizar que tenga una experiencia de entrevista muy fluida.

3. Semana 2 (sábado): el día de la entrevista 

La ronda 1: 

  • Preguntas sobre estructuras de datos y algoritmos (1 hora).
  • Pregunta 1: una string más grande va seguida de una lista de strings más pequeñas. Se me indicó que incluyera las etiquetas xml de apertura y cierre (por ejemplo, cursiva). Retire el par de etiquetas más cercano al par de etiquetas más largo. Es una versión más avanzada de la fusión de intervalos de intersección. Me pidieron que escribiera casos de prueba, así que escribí tres para probar casos extremos. https://www.geeksforgeeks.org/merging-intervals/ .
  • Pregunta 2: Se proporcionan dos arrays, y cada índice representa un espacio libre y otro ocupado para dos personas diferentes. Cuando ambas ranuras están libres, se me pidió que encontrara el tamaño máximo de ranura contigua.

Seguimiento: ¿Cuál es el espacio máximo disponible si solo puedo cambiar un espacio ocupado a libre?

Solución: con la ayuda de dos arrays ocupadas (y libres) de dos personas, extraiga todos los pares (inicial, final) para las ranuras que se cruzan y modifique ligeramente el intervalo de combinación para encontrar el tamaño máximo de la ranura.

Rápidamente resolví ambos problemas. Pero hice muchas preguntas aclaratorias, y comencé con fuerza bruta y construí sobre ella con progresión lógica.

La ronda 2:

  • Diseño de Bajo Nivel (1 hora).
  • (a) Diseñe LRU desde cero: utilicé una lista de enlaces dobles y un mapa hash para resolver el problema. Simplemente sabía esto, lo construí de abajo hacia arriba y, a medida que avanzaba, seguí obteniendo una progresión lógica para resolver el problema. https://www.geeksforgeeks.org/lru-cache-implementation/
  • (b) Cómo habilitar el uso simultáneo (o bloqueo) de varios usuarios mediante LRU para garantizar la coherencia.

Ronda 3:

  • Responsable de contratación (1,5 horas).
  • Mi currículum y experiencia son muy debatidos. Todos mis proyectos (proyectos ML) se discuten a fondo, incluido el enfoque que tomé, mi papel en el proyecto, cómo resolví algunos desafíos y mucho más.
  • Me explican el equipo para el que fui contratado.
  • Cuando pregunté sobre mi papel potencial si era elegido, me lo explicaron claramente con todos los detalles.

4. Semana 4 (martes)

Recibí un correo de Microsoft, fui seleccionado y me pidieron todos los detalles y documentos de respaldo.

Mi preparación:

  1. Codificación: En general, uso GeeksforGeeks, leetcode y Codechef para hacer mucha codificación. GeeksforGeeks es de gran ayuda para mí. https://www.geeksforgeeks.org/practice-for-cracking-any-coding-interview/
  2. Aprendí estructura de datos y algoritmos de GeeksforGeeks. Todos los conceptos se mencionan claramente aquí. https://www.geeksforgeeks.org/data-structures/ .
  3. Nuestro comportamiento debe ser bueno durante todo el proceso de la entrevista porque es el punto principal que notarán todos los entrevistadores.

Finalmente, fui escudriñado cuando estaba preparado, y ahora estoy lleno de alegría. Me gustaría agradecer a GeeksforGeeks ya la comunidad por ayudarme a obtener esta oportunidad. Espero que este post haya sido de alguna ayuda para algunos de ustedes.

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 *