Entrevista de Microsoft | Conjunto 27

Ronda 1: (1 h)
==============

  1. Q1. Diseñe un recolector de basura como java. ¿Cómo detectaría el bucle de referencia dependiente?
    Hist: diseño de clase, algoritmos de detección de ciclos para gráficos disjuntos (Lista de gráficos conectados)
  2. Q2. Encuentre un elemento en una array rotada ordenada en complejidad O (logn).

Ronda 2:(1.h 15min)
===================

  1. Q1. Dada una array ordenada que tiene elementos duplicados, ¿cómo encontraría el primer índice de un elemento dado en O (inicio de sesión)?
    Escribe código para ello. Cambie la condición para averiguar el último índice de esos elementos.
    [Sugerencia de búsqueda binaria]
  2. Q2. Tienes un diccionario de palabras. Dada una palabra, imprime todos los anagramas que están en el diccionario. Indique la estructura de datos que se utilizará para resolver este problema.
  3. Q3. Diseñar un sistema Chip-Encryption. Que hará la siguiente operación:
    • Tome una palabra del usuario
    • Cifre la palabra mediante alguna criptografía de clave pública o privada o cualquier otro algoritmo.
    • Transmite la palabra encriptada por TCP o UDp o SSL.
  4. Diseñe el diagrama de clases usando OOD. Qué patrón de diseño está utilizando para lograr esto.

Ronda 3:(1.h 15min)
===================

  1. Q1. En un plano se dan n puntos (X e Y). ¿Cómo averiguará los puntos máximos de co-liner? Extiende estos algoritmos. para el punto (x, y, z) en el plano 3D.
  2. Q2. Invertir un entero de 32 bits. escribir código para ello.
  3. Q3. ¿Cuál es el problema diferente en subprocesos múltiples ? ¿Cuál es la diferencia entre mutex y semáforo?
  4. Q4. Tienes un archivo con millones de palabras. Encuentra las 10 palabras más frecuentes en ese archivo. Node que puede almacenar todas las palabras en la memoria.
    (Nota: Min-Heap + Lista)

Ronda 4:
Saltado… 🙂

Ronda 5 (2h 30 min)
===================

  1. Q1. Se le proporciona un Texto, donde se eliminan todos los espacios, puntos y todos los signos de puntuación. Desea reconstruir el texto poniendo espacios entre las palabras.
    Se da un dict y también se da la siguiente API.
    • Decide si el texto se puede convertir en una oración con palabras válidas o NO.
    • Encuentra de cuántas maneras puedes hacer la reconstrucción del texto.
    • Encuentre cuál es la cantidad mínima de espacio que se puede usar para esta reconstrucción.
    • Para el caso (c) averigüe los índices donde se supone que debe poner un espacio.
    • Ahora recupere el texto de la oración en su lugar.
      Pregunta posterior:

    • 1. ¿Por qué la técnica Greedy no funcionará para esto?
    • 2. ¡sí! El retroceso funcionará, ¿cuál es el problema de usar el retroceso?
    • 3. Ilustre y explique cómo se contrae la solución de la tabla dinámica.
    • 4. Escriba el código de trabajo correcto para (c), (d), (e).
  2. Q2. Dado un BST, encuentre la longitud mínima desde la raíz hasta la hoja con suma S. Tenga en cuenta que:
    • Ruta desde la raíz hasta el Node hoja.
    • La suma de los Nodes del camino es S
    • si existen varias rutas de este tipo, imprima la ruta de longitud mínima.
    • ¿Cuál es la ventaja de BST en lugar de BT utilizado para este algoritmo, cómo mejora el rendimiento? en BST, ¿es necesario explorar ambos lados?
    • Escribe códigos de trabajo para él.

Estado: ¡Seleccionado! (La llamada de entrevista era para SDE-I, pero me ofrecen para el puesto de SDE-II(L61))

Muchas muchas felicidades al autor. 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 *