Alrededor de 100 solicitaron la primera ronda de la oferta de pasantía de Microsoft. El criterio básico era tener un CGPA superior a 7,00.
Ronda 1:
Se dieron tres preguntas a todos. El primero tenía un peso de cinco marcos y los dos restantes eran de diez marcos. Cocubes realizó esta ronda. Los resultados se anunciaron después de 5 días.
Pregunta 1: dada una array de enteros, debe encontrar el coprimo más lejano para todos los elementos de la array, en el rango [2-250].
Ejemplo: [2,5,6] la respuesta debe ser [249,249,247]
[5,57,8] la respuesta debe ser [249,2,249] //porque es lo más lejano.
span style=”font-family: Times New Roman, serif;”>Pregunta 2:
Dada una lista enlazada donde cada Node tiene dos valores de datos y un puntero siguiente. Tienes que encontrar varias tendencias. Se dice que surge una tendencia cuando la pendiente de los Nodes adyacentes no coincide.
También se da la fórmula de la pendiente: (y2-y1)/ (x2-x1)
Ejemplo: 1,2 -> 2,3 -> 3,2 -> 4,1 ->
Ahora la pendiente de los dos primeros Nodes es (3-2)/(2-1), es decir, primer y segundo Node
Ahora, la pendiente del segundo Node y del tercer Node es (2-3)/(3-2), que no es igual, por lo que se produce una tendencia.
Continuando así, la pendiente entre el tercer y el cuarto Node es (1-2)/(4-3) que es igual a la pendiente anterior, por lo que no hay tendencia. Continúe con las listas restantes.
Finalmente, el número de tendencias para la lista enlazada dada es la respuesta.
Pregunta 3 :
Dados dos árboles binarios, busque que el segundo árbol sea un subárbol del primer árbol, si es así, devuelva el número de Nodes en el segundo árbol; de lo contrario, devuelva -1.
La selección para la siguiente ronda se basa en el cgpa y el número de preguntas resueltas.
Alrededor de 40 fueron seleccionados para la segunda ronda. Afortunadamente pasé esta ronda ya que solo hice una pregunta (10 puntos) completamente correcta y las dos restantes parcialmente, pero obtuve un buen CGPA (9.33).
Ronda 2 (Vuelo en grupo):
Dadas dos listas vinculadas, cada una de las cuales representa un número, debe agregar las dos listas vinculadas y devolver la tercera lista como resultado. De hecho, vieron cómo abordamos el problema y cómo manejamos todos los casos de prueba y también la forma en que escribimos el código.
12 fueron seleccionados para la siguiente ronda.
Ronda 3 (Técnico F2F):
El entrevistador era un tipo genial. Me presenté formalmente. La primera era una cuestión técnica. Dibujó un árbol y me preguntó cómo harías el recorrido de orden de niveles. Dije que usaré la cola. Luego dio la pregunta «Recorrido de orden de nivel de Zig-Zag», que es similar a esto
https://www.geeksforgeeks.org/level-order-traversal-in-spiral-form/
Primero le dije mi enfoque y luego me pidió que escribiera el código para mi enfoque. Me tomó alrededor de cinco minutos completar el código. Luego me pidió que hiciera algunas pruebas para todos los casos extremos. Está satisfecho con mi enfoque.
Luego se mudó a OS. Algo sobre cómo se implementa la paginación y cuáles son las desventajas de la paginación. La entrevista duró más de 1 hora. (Más sobre OS)
En cinco minutos se anunció el resultado y tengo que asistir al segundo F2F en otros 5 minutos.
Ronda 4 (Técnico F2F):
Como de costumbre, me presenté al entrevistador. A la primera pregunta se le dio una impresión de árbol en el Node más a la izquierda en el último nivel del árbol. Dije que encontraré la altura del árbol y luego haré un recorrido de orden de nivel para imprimir el primer Node en el árbol. Dijo que quiere la respuesta en un solo recorrido. Después de reflexionar un rato se me ocurrió una solución. Estaba satisfecho con eso.
La segunda pregunta fue invertir cada k Nodes en una lista enlazada. Me pidió que escribiera el código. Escribí el código en cinco minutos con casos de prueba. Ejecuté algunos casos de prueba en el código que escribí. Entonces me preguntó ¿cómo implementará el suministro de noticias de facebook? Luego estuvimos hablando de este tema durante unos 20 minutos.
Después de que terminó esta entrevista, me pidieron que esperara afuera. Me informaron que tengo ronda final mañana.
Ronda final (F2F):
Él es realmente genial (lo conocí durante mi período de prácticas). Primero, estaba hablando de mi proyecto. Me preguntó si te dieran la oportunidad de mejorar tu proyecto, ¿qué harías? Estuvimos hablando del proyecto durante unos 25 minutos. Luego me dio un código ‘C’ y me pidió que escribiera casos de prueba para él. Me dio la implementación de la función itoa() en C. Dije que esta función no funcionará para n=0 y devolverá un valor nulo. Además, el búfer de caracteres resultante que almacena y devuelve la respuesta se declara local para la función. Señalé esos dos errores. Después de esto preguntó ¿tienes alguna pregunta? Le pregunté qué y dónde debería mejorar. Dijo que deberías concentrarte en la parte del diseño y todo lo demás está bien.
Resultados :
Los resultados se anunciaron después de cuatro horas. ¡Cuatro lo lograron y yo soy uno entre ellos!.
Consejos para la preparación:
Realmente me gustaría agradecer a geeks por geeks por mantener el contenido de una manera tan organizada. Participe regularmente en programación competitiva (spoj,codechef,codeforces). Tenga confianza en cualquier etapa de la entrevista. Simplemente disfrute el proceso de la entrevista.
Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo usando contribuya.geeksforgeeks.org o envíe su artículo por correo a contribuya@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
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