Experiencia de entrevista de pasantía de Microsoft (en el campus)

Ronda 1 (Ronda de codificación en línea: 90 minutos): la prueba en línea se realizó en https://mettl.com/. Hubo 90 minutos para resolver y codificar 3 problemas. Las preguntas se basaron en problemas básicos de implementación (comúnmente encontrados en CodeChef, Codeforces, GeeksforGeeks y otras plataformas en línea). De las tres preguntas, dos eran fáciles y una de dificultad mediocre. 

  1. Se le dan n contraseñas. Tiene que imprimir el número total de contraseñas distintas. En cada contraseña, puede realizar la operación cualquier número de veces, posiblemente cero. La operación se define como que puede intercambiar datos presentes en cualquiera de los 2 índices de una string si la diferencia del número de índice es par, es decir, intercambiar (a[i], a[j]) si (ji)%2==0.
    Test Case: Input:  n=5 and 
    passwords are=[“abcd”, “cdab”, “bacd”, “bdca”, “cdba”]    
    Output: 2            

    Explicación: como «cdab» se puede convertir en «abcd» y «bdca», «cdba» se puede convertir en «bacd», por lo que solo puede obtener 2 contraseñas distintas.

  2. Hoy es el cumpleaños de Anshul, así que trajo n chocolates y tenía k amigos. Tiene que repartir todos los chocolates a sus amigos de la siguiente manera. El primer niño recibe 1, el segundo recibe 2, el tercero recibe 3 y así sucesivamente, de modo que si hay suficientes chocolates, el k-ésimo niño recibe k chocolates. Ahora, si aún quedan chocolates, le da nuevamente k+1 chocolate al primer niño k+2 al segundo niño y así sucesivamente hasta que distribuye todo el chocolate. Así que tienes que imprimir k enteros que definan qué niño recibió cuántos chocolates.
    Test Case: 
    Input: n=25 and k=5   
    Output: [7  6  3  4  5]                                                                                           

    Explicación: entonces, en el primer intento, la distribución de chocolate sería como [1 2 3 4 5], por lo que se usan un total de 15 chocolates ahora, en el segundo intento, el primer niño obtendrá 6 dulces más, por lo que su total de dulces sería 7 ahora solo nos quedan 4 más dulces para que se le den al segundo niño, ya que puede obtener más de 7 chocolates, pero solo nos quedan 4. Entonces la respuesta final sería [1 2 3 4 5] + [6 4 0 0 0] = [7 6 3 4 5]

  3. Se le da M para módulo y N número de capas. Ahora en la primera capa tienes 1 nave de poder v=2. Ahora, para cada nave en la capa i con potencia v, hay distintas naves de potencia 0 a v*(v+1)%M-1 en su siguiente capa. Ahora tienes M y N. Tienes que encontrar el número total de barcos en todas las capas % M.                                    
    Test Case: 
    Input: M=4 N=2  
    Output: 3

66 estudiantes fueron seleccionados para la siguiente ronda. 

Ronda 2 (Ronda de vuelo grupal): 45 minutos: en esta ronda, a todos se nos dio una pregunta para resolver en 45 minutos. Teníamos que escribir funciones en papel A4 (en cualquier lenguaje de programación o pseudocódigo) devolviendo la respuesta y su Complejidad de Tiempo y Espacio. Se nos aconsejó escribir tantas soluciones como fuera posible para el problema, pero se consideraría la solución más óptima. 
 

La codificación de las preguntas formuladas fue:

  1. Dada una array de tamaño ‘n’. La cuestión era desplazar todos los ceros presentes en la array a la derecha de la array manteniendo el orden de los elementos distintos de cero. 

    Ejemplos: 

    Input : 
    array : [0, 10, 7, 0, 0, 0, 8, 0, 3, 6]   
    n: 10  
    Output : 
    array : [10, 7, 8, 3, 6, 0, 0, 0, 0, 0] 

42 estudiantes fueron seleccionados para la siguiente ronda. 
 

Ronda 3 (Entrevista técnica 1: alrededor de 45 minutos): el entrevistador hizo preguntas sobre conceptos de programación orientada a objetos, estructuras de datos y algoritmos. El entrevistador describió algunos escenarios y preguntó cómo abordarlos con conceptos de programación orientada a objetos como función virtual, herencia múltiple, anulación de operadores, etc. 

Las preguntas de codificación formuladas fueron:

  1. Dadas dos strings P y Q, la pregunta era verificar si las dos strings son una permutación entre sí o no. 

    Ejemplos: 

    Input : 
    string P: ‘aBca’ and string Q: ‘Baac’ 
    Output : 
    P and Q are permutations of each other.
  2. Hay ‘n’ edificios en una calle. Un mono puede cruzar uno o dos edificios de un solo salto. ¿De cuántas maneras posibles el mono puede llegar desde el primer edificio hasta el último edificio? 

    Ejemplos: 
     

    Input : 
    n = 4 
    Output : 
    no. of possible ways: 3
    Explanation : 
    The possible ways can be
    (1->2->3->4; 1->3->4; 1->2->4)

Para cada pregunta, escribí funciones de C++ en papel y me pidió que explicara la complejidad de tiempo y espacio de mis soluciones y los posibles casos de esquina. También discutió otros enfoques posibles para resolver los problemas. 
 

Ronda 4 (Entrevista técnica 2: alrededor de 30 minutos): en esta ronda, se me pidió que resolviera algunos problemas de la vida real usando DS y Conceptos de algoritmos y algunos acertijos. 
 

  • Dado un hipervínculo de la página de inicio de un sitio web, mi tarea era imprimir todos los ‘enlaces muertos’ presentes en ese sitio web. También se proporcionó una lista de enlaces presentes en cada página web para cada página del sitio web. 
  • Luego, el entrevistador pidió resolver y explicar algunos acertijos matemáticos y lógicos. 
     

Ronda 5 (entrevista de recursos humanos: alrededor de 20 minutos): al principio, el entrevistador me pidió que me presentara y mi viaje desde la escuela hasta la universidad. 

  • Luego revisó mi CV y ​​me preguntó sobre mi proyecto y mis habilidades. Me hizo algunas preguntas basadas en la lógica. 
  • Luego me preguntó qué me gustaba de su charla previa a la colocación y por qué quería unirme a la empresa. 

    El resultado se publicó en dos horas y fui seleccionado junto con otros 9 estudiantes (mis compañeros de lote). 

Veredicto: Seleccionado

  

  

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 *