Recientemente tuve una entrevista con Microsoft y fui seleccionado.
Estoy muy agradecido con el sitio geeksforgeeks que proporciona material de preparación para entrevistas técnicas en un solo lugar. Y el crédito de mi selección también va para mi amigo “Ankit Tripathi”, quien me ayudó mucho en mi preparación.
He adjuntado mi archivo de experiencia de entrevista con este correo.
Prueba escrita: 30 MCQ basados en algoritmos y aptitud lógica y 2 problemas de codificación.
Entrevista telefónica: todas las preguntas relacionadas con su currículum y proyectos y algunas preguntas de comportamiento.
La ronda 1:
- Pregunta1. Escriba el código para la codificación de longitud de ejecución de una string dada en el lugar (sin usar memoria adicional).
Sample Input: aaaaaaaaaabcccccc Output: a10bc6
- Pregunta2. Escriba código para una función que convierte un entero dado en una string. (Use solo un bucle for). Verifique todos los casos límite.
- Pregunta3. Supongamos que vas a organizar una fiesta de 9:00 a 20:00 horas. Has invitado a ‘n’ número de invitados a la fiesta. Se le da la hora de llegada y la hora de salida de todos los invitados. Cada vez que llega un nuevo invitado, le das una copa de vino y cuando se va, le devuelves la copa. Si alguien se ha marchado y ha devuelto la copa, puedes regalar la misma copa a un nuevo invitado que acaba de llegar.
Según el horario dado para los invitados, determine la cantidad mínima de vasos necesarios para la fiesta. Un invitado puede entrar o salir en cualquier momento, pero se le da un horario fijo. Escriba el código para el problema dado.
Enlace GeeksforGeeks
La ronda 2:
- Algunas preguntas relacionadas con el currículum y las materias cursadas en el plan de estudios.
- Pregunta1. ¿Cómo podemos hacer un Tree Traversal sin usar una pila (ni siquiera la pila para la recursividad)? Escriba código para un recorrido en orden sin usar la pila. ¿Cuáles serían los cambios en la función si queremos hacer un recorrido previo o posterior al pedido?
Enlace GeeksforGeeks - Pregunta2. Escriba el código para encontrar bucles en la lista enlazada individualmente y arreglarlo .
- Pregunta3. Dada una lista enlazada con dos punteros, uno es el siguiente puntero y otro es un puntero aleatorio que puede apuntar a cualquier Node de la lista (hacia adelante, hacia atrás o a sí mismo), debe hacer una copia de esta lista sin alterar la lista original. Escriba el código para el mismo en complejidad de tiempo O(n).
Enlace GeeksforGeeks
Ronda 3:
- Pregunta1. Proporcione diferentes enfoques posibles para verificar si dos strings son anagramas (con y sin usar tablas hash). ¿Cuáles son las posibles ventajas y desventajas de cada enfoque? Escriba el código para el enfoque que implica primero ordenar las dos strings y luego hacer coincidir carácter por carácter (enfoque O (nlogn)). ¿Qué clasificación utilizará y por qué? Escribir casos de prueba también.
- Pregunta2. Escriba código para contar el número de inversiones en una array en el mínimo tiempo posible. ¿Cuáles podrían ser los diferentes enfoques posibles?
- Pregunta3. Dados dos números enormes representados como una lista enlazada, escriba una función para agregarlos y devolver un número en el mismo formato.
Ex: 950 represented as 9->5->0->NULL 150 represented as 1->5->0->NULL then, the output should be 1->1->0->0->NULL
- Pregunta4. Tenemos ‘n’ personas en una fiesta, de las cuales solo una puede ser una celebridad. Y puede o no estar presente en la fiesta. Una celebridad es conocida por todos pero no conoce a nadie. Todas las demás personas pueden o no conocerse entre sí. Si una persona ‘A’ conoce a ‘B’, no implica que ‘B’ también conozca a ‘A’. Solo puede hacerle una pregunta a alguien: «¿Conoce a esta persona (‘X’)?» y solo puede responder SI o NO. Tu trabajo es encontrar a la celebridad en un número mínimo de preguntas.
Ronda 4:
Primero hizo preguntas generales del currículum.
- Pregunta1. Escriba código para encontrar el antepasado menos común de dos Nodes dados en un árbol binario . (ambos enfoque recursivo e iterativo).
- Pregunta2. ¿Qué estructura de datos utilizará para implementar las funciones ‘ malloc ‘ y ‘free’? (Se le ha dado un puntero que apunta a una gran cantidad de memoria). Escriba códigos completos para implementar estas dos funciones.
La duración de cada ronda presencial fue de aproximadamente 1 hora. Los resultados se declararon después de 4 días de entrevistas. Cada entrevista era una ronda eliminatoria. Las preguntas no eran muy difíciles, pero estaban muy interesadas en la precisión y la eficiencia del código (debería ejecutarse en todos los casos de entrada posibles).
Este artículo ha sido compilado por Monika Bisla . Muchas muchas felicidades a Monika por su selección. 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