Recientemente, Microsoft llegó a nuestro campus para realizar una pasantía. Estaba abierto para CSE con CGPA 7 o superior y para EEE, ECE con CGPA 8 o superior.
Prueba en línea: fue una ronda en línea alojada en https://tests.mettl.com/ . Fueron 3 preguntas con una duración de 90 minutos y para calificar para las entrevistas había que resolver al menos 2 completas y 1 parcial. Cada estudiante tenía un conjunto diferente. Las preguntas en mi conjunto fueron:
- Convierta la expresión infijo dada en expresión sufijo. El principal problema era que en C++ se nos daba una array de caracteres en lugar de una string, por eso la mayoría de los estudiantes lo encontraron difícil. Aunque usé C++ 17 en el que había una string.
- Dados n dados, cada uno con m caras, numerados del 1 al m, encuentre el número de maneras de obtener algo de X. X es la suma de los valores en cada cara cuando se lanzan todos los dados. Esto tomó algún tiempo, pero usé recursividad y memorización y pasó todos los casos de prueba.
- Nos dan el segundo y tercer término de GP. Necesitamos encontrar el término n de GP con una precisión de 6 decimales. Excepto por esto de los 6 decimales, esta pregunta fue pan comido.
Resolví completamente 3 preguntas y de 104 estudiantes, 48 fueron seleccionados para entrevistas.
Ronda 1: En primer lugar, el entrevistador me pidió una presentación y, para que me sintiera cómoda, me hizo algunas preguntas relacionadas con mis pasatiempos. Luego pasamos a la parte del código. Me pidió que imprimiera todas las palabras posibles de los dígitos del teléfono.
Aunque anteriormente resolví esta pregunta una vez, me tomé mi tiempo para construir la solución. Le expliqué mi enfoque de retroceso. Estaba satisfecho. Luego me pidió que hiciera esto de forma iterativa, después de pensarlo un poco, le dije que también fuera iterativo.
De 48 candidatos, 22 fueron seleccionados para la Ronda 2.
La ronda 2: La entrevista comenzó con una breve discusión sobre mi proyecto DBMS y ella hizo algunas preguntas sobre el proyecto. Luego, me dio una pregunta de codificación basada en anagramas. Precisamente, la pregunta era: nos dan un conjunto de strings, digamos “malo”,”tct”,”abd”,”adb”,”gato”,”tac”. Luego, necesito imprimir esas strings que son la primera aparición de su patrón de anagrama, en este ejemplo, la salida debería ser «mala», «gato». Inicialmente, se me ocurrió una solución de fuerza bruta y me dijeron que escribiera el código para la misma. Más tarde me dijo que lo optimizara. Después de una lluvia de ideas, escribí el código de la versión optimizada. Luego siguió cambiando ligeramente la pregunta en orden de dificultad creciente. Di soluciones a todas las preguntas. Pero para resolver preguntas con soluciones optimizadas, tomé estructuras de datos realmente complicadas que ella dijo para simplificar.
La duración de ambas rondas fue de 1 hora y solo se hizo 1 pregunta de codificación por ronda.
Después de la ronda 2, se seleccionaron 18 para la ronda de recursos humanos de 22 candidatos.
Ronda de recursos humanos: la ronda de recursos humanos duró 10 minutos. Hizo algunas preguntas básicas de recursos humanos. Básicamente, estaba comprobando las habilidades de comunicación. Luego, hizo 1 pregunta de DBMS que no pude responder.
Finalmente, 8 estudiantes consiguieron una oferta de prácticas. Desafortunadamente, yo no era uno de ellos.