Entrevista de Microsoft | Conjunto 33 (en el campus para prácticas)

Recientemente, Microsoft IDC visitó nuestro Campus para realizar prácticas. Fueron 6 rondas en total para mí.

Ronda de objetivos: –
La ronda de objetivos se tomó en Cocubes.com, había 15 preguntas (1 pregunta se repitió en mi conjunto). Había una pregunta sobre «Colisiones rectangulares en una array» de la que no tenía idea.

Ronda de codificación: –
Hubo dos preguntas de codificación: –
1) Encuentre un elemento en una array ordenada que se haya rotado circularmente en una sola ubicación en el tiempo O (logn).
(Consulte https://www.geeksforgeeks.org/search-an-element-in-a-sorted-and-pivoted-array/ )

2) Encuentre el sucesor en orden de un Node en un árbol de búsqueda binaria.
(Los punteros de los padres estaban presentes en el BST). (Consulte el Método 1 de https://www.geeksforgeeks.org/inorder-successor-in-binary-search-tree/ )

Ronda de entrevistas grupales: –
Primeros 10 minutos, preguntó qué esperamos que sea la próxima gran cosa en tecnología. Luego hizo dos preguntas: –
1) Dada una string, debe verificar si es un número válido o no. (El número puede tener signo, punto flotante/entero). Si es un número, devuelve verdadero; de lo contrario, devuelve falso.
Las restricciones fueron:-
i) No se permiten sentencias de decisión (No if-else, no switch-case).
ii) No se permiten operadores condicionales ternarios (? : no permitido).
iii) No se permiten declaraciones en bucle (No for/while/do-while).

(Mi solución fue una implementación recursiva que devolvía un bool que tenía solo una declaración de retorno usando operadores relacionales y dos variables globales, una para verificar si es la primera aparición de un ‘.’ y otra para verificar si el signo ‘+’/’- ‘ ocurre en la primera ubicación o no).

2) Bing quiere mejorar la experiencia de los usuarios otorgando puntos de recompensa a los usuarios. Diseñe un algoritmo para asignar puntos de recompensa a diferentes usuarios.

Entrevista personal Ronda I:-
1) Se le da una string que contiene sólo ‘(‘ y ‘)’, verifique si la string está bien formada, es decir, verifique si los paréntesis coinciden.
(Tenga un conteo de ‘(‘ o use una pila para presionar ‘(‘ y hacer estallar cuando se encuentre ‘)’).

2) Hay una Clase de Bot con el siguiente prototipo:-

class Bot {
// private data members
public :
 bool moveleft(); // The bot moves one block left and returns true.
 bool moveright(); // The bot moves one block right and returns true.
 bool movebottom(); // The bot moves one block down and returns true.
 bool movetop(); // The bot moves one block up and returns true.
 bool hasGold(); // returns true if the current position of bot has gold.
};

Se le da un bot y la dimensión de un laberinto que tiene paredes y algunos bloques que tienen oro, verifique si el bot puede alcanzar un bloque que contiene oro.

(Utilice el recorrido del gráfico dfs utilizando la implementación recursiva y devuelva verdadero si la posición actual tiene oro y devuelva falso solo si no puede avanzar más).

Entrevista personal Ronda II: –
1) Te dan las raíces de dos árboles binarios, verifica si los árboles son isomorfos o no. (Inicialmente formuló la pregunta para un árbol (no un árbol binario) y me dio dos Nodes aleatorios en lugar de las raices).

(Consulte https://www.geeksforgeeks.org/tree-isomorphism-problem/)

2) Se le da una array de dimensión n X m. Empiezas desde (0,0) enésima ubicación. Puede moverse desde (i,j) a cualquiera de las (i + 1,j),(i,j + 1),(i + 1,j + 1)ésimas ubicaciones. Encuentre el número total de caminos que comienzan desde la (0,0) a la (i, j) posición.

(Para todo i y j, dp[i][0] = dp[0][j] = 1, dp[i][j] = dp[i – 1][j – 1] + dp[i][ j – 1] + dp[i – 1][j]).

Entrevista personal Ronda III: –
1) Dado un diccionario, agrupe los anagramas.
(Ordene cada string en el diccionario, ya que los anagramas tendrán la misma representación después de ordenarlos, use un mapa hash para almacenar los grupos de anagramas).
2) Hizo preguntas relacionadas con mi proyecto.

Gracias geeksforgeeks.org.

Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo y enviarlo por correo electrónico 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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *