Experiencia de entrevista de Microsoft para SDE-1 (fuera del campus)

Ronda 1 (Ronda de evaluación en línea): 2 preguntas de codificación debían resolverse en 90 minutos. La plataforma para la prueba fue la codicia. Recuerda que en el sistema de plataforma de codility los casos de prueba están ocultos. Puede probar el código contra sus casos de prueba.

  • Hay N puntos dados (numerados de 0 a N-1) en un plan. El punto kth está en las coordenadas (X[k], Y[k]), y la etiqueta del punto es S[k]. Queremos hacer un círculo con un centro en (0,0). El círculo no debe tener dos puntos con la misma etiqueta. ¿Cuál es el número máximo de puntos posibles dentro del círculo?
  • Dado un árbol que tiene N Nodes, numerados de 0 a N-1. Cada Node puede contener solo una de las letras ‘a’ o ‘b’. Se usa una array A de longitud N para representar el árbol. A[k] (para K de 0 a N-1) representa el padre del k-ésimo Node. Las letras se representan como una string S[k]. Necesita encontrar el número de vértices en el camino más largo del árbol, de modo que ningún par de vértices adyacentes en el camino contengan la misma letra.

Afortunadamente, pude ejecutar ambos códigos. Después de un par de días, recibí un correo electrónico que me seleccionó para más rondas de entrevistas.

Proceso de entrevista: Hubo 3 entrevistas en total.

Entrevista Ronda 1 (Entrevista Técnica): Ella se presentó y me pidió que me presentara. Luego pasó directamente a las estructuras de datos. Ella me hizo dos preguntas-

  1. Dado un árbol (que tiene punteros izquierdo, derecho y anterior), debe completar cada puntero anterior para que apunte a su Node izquierdo anterior. Si no hay un Node izquierdo anterior, el puntero anterior debe establecerse en NULL.
  2. Impresión en espiral de una array.

Al final, ella me preguntó si tenía alguna pregunta. Le pedí que compartiera su experiencia y el equipo con el que trabaja actualmente.

Después de una semana, recibí una llamada de que me preseleccionaron para la siguiente ronda.

Entrevista Ronda 2 (Entrevista técnica): Se presentó. Luego, me hizo algunas preguntas sobre mi proyecto (alrededor de 5-10 minutos). 

Luego me preguntó si me sentía cómodo resolviendo preguntas sobre subprocesos múltiples. Le dije que no había aprendido subprocesos múltiples como materia. Entonces, pasó a las preguntas sobre estructuras de datos:

  • Imprime todas las permutaciones posibles de una string. Luego me pidió que modificara mi código para que no hubiera duplicados.
  • Para imprimir todas las subsecuencias de una string.

Como nos quedaba algo de tiempo, hizo otra pregunta. Era una cuestión de programación. Solo quería saber qué estructura de datos encajaría mejor en la situación. Le dije cola de prioridad, y parecía satisfecho. No recuerdo la pregunta exacta.

Por suerte, me seleccionaron para la siguiente y última ronda.

Ronda de entrevistas 3 (Ronda final de AA): AA significa «según corresponda». Esta ronda fue una mezcla de preguntas técnicas y de gestión.

Comenzó la entrevista con preguntas sobre las definiciones de la complejidad del tiempo y la complejidad del espacio. 

  • ¿Cuál es la mejor complejidad de tiempo?
  • ¿Cuál es la mejor complejidad espacial?

Luego me dio una pregunta de codificación. 

  • Hay n gasolineras a lo largo de una ruta circular, donde la cantidad de gasolina en la i-ésima estación es gas[i]. Cuesta el costo[i] de la gasolina para viajar de la estación a su próxima (i + 1) estación. Dadas dos arrays enteras de gasolina y costo, devuelva el índice de la estación de servicio inicial si puede viajar alrededor del circuito una vez en el sentido de las agujas del reloj con suficiente gasolina; de lo contrario, devuelva -1. Quería un enfoque O(n).
  • Luego me hizo algunas preguntas sobre mis proyectos, como ¿por qué MongoDB ? Ventajas de ello.
  • Continuó preguntando sobre cualquier producto como Alexa, Google Home, etc. que me guste. Dije Google Home. Luego hizo preguntas como cómo sabe qué acción realizar tomando la entrada como voz.
  • ¿Por qué Microsoft?

Mi entrevista terminó 15 minutos antes.

Veredicto final: después de una semana, recibí un correo electrónico que me seleccionaron para el puesto de ingeniero de software de tiempo completo.

Sugerencias:

  • Comunicarse bien con el entrevistador.
  • Se honesto. Si no eres bueno en algún tema, sé muy claro en primer lugar.
  • Mostrar disposición al entrevistador sobre la oportunidad.
  • Sigue codificando.

Espero que hayas disfrutado leyendo esto. ¡Feliz aprendizaje y todo lo mejor!

Publicación traducida automáticamente

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