Microsoft Interview Experience (en el campus para prácticas)

Ronda de codificación en línea:

Se llevó a cabo en Cocubes. Había 3 preguntas para ser resueltas en 75 minutos. Mis preguntas fueron:

  1.  Dada una array de caracteres, encuentre el promedio de caracteres ASCII en la array.  Ej:- i/p = ab12, o/p = 73.5 (2 puntos)
  2.  Evaluación de una expresión infija dada (como array de caracteres). Ej:- i/p = 4-5*14/7+2, o/p = -4 (3 puntos)
  3.  Encuentre el número más bajo posible quitando k dígitos de un número dado. Ej:- i/p = 4312389, k=3, o/p = 1238 (5 puntos)

De 200 estudiantes, aproximadamente 60-65 fueron seleccionados para la ronda de lápiz y papel. Obtener más de 5 puntos fue suficiente para despejar esta ronda. Con respecto a cocubes, es una ide simple en la que solo se puede probar el código en busca de errores de compilación y algunos casos de prueba básicos. No pudimos ejecutar el código para casos de prueba personalizados, pero ciertamente puede modificar la string de entrada para verificar.

Ronda de lápiz y papel:

Esta ronda constaba de 7 preguntas cortas (basadas en C lang.) de 3 puntos cada una y una pregunta de codificación de 6 puntos. La pregunta de codificación fue Detectar y eliminar bucles de una lista vinculada. Todas las preguntas eran obligatorias. Alrededor de 24 estudiantes avanzaron para entrevistas personales cara a cara.

La ronda 1:

El entrevistador revisó mi currículum e hizo algunas preguntas de OOP, como qué son las funciones virtuales y los destructores, y la diferencia entre nuevo y malloc. Luego, cómo desasignar la memoria y qué sucede con la combinación de: – (nuevo y libre) y (malloc y eliminar). Luego me hizo 2 preguntas de codificación:

  1. Dado un árbol de búsqueda binario, conviértalo en una lista doblemente enlazada . Me pidió que escribiera algunos casos de prueba.
  2. Dada una array n*n ordenada por filas, imprima los elementos de la array en orden no decreciente. Se permitió la complejidad espacial de O(n). Usé min-heap para resolverlo.

Para las preguntas, primero trate de decir su enfoque y use casos de prueba para ejecutar su enfoque en seco. Luego pase a escribir código, cuando se le solicite.

La ronda 2:

Me preguntaron :

  1. Hay dos líneas paralelas. Una recta tiene n puntos y otra m puntos. Los puntos están conectados entre sí en forma de zig-zag. Encuentra el número de cruces, es decir, puntos de intersección de conexiones. Similar a este problema: https://www.geeksforgeeks.org/counting-cross-lines-array/
  2. Se proporcionó un conjunto de N rectángulos, cada uno con lados alineados con el eje x y el eje y. Se dio otro rectángulo y tuve que verificar cuántos rectángulos del conjunto se encuentran completamente dentro del nuevo rectángulo. Podemos ordenar el conjunto a lo largo del eje x y el eje y, y encontrar el número de rectángulos usando 4 búsquedas binarias.
  3. Manejo de excepciones en c++ y java.

Una ronda más estaba allí para los estudiantes seleccionados. Se seleccionó un total de 6 estudiantes.

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 *