Experiencia de entrevista en Amazon | Conjunto 322 (fuera del campus)

Recientemente asistí a una entrevista en Amazon para el perfil SDE 1.

Ronda 1 (escrita):
se dieron 3 preguntas y se me pidió que escribiera el código ejecutable en cualquier idioma.

  1. Compruebe si el árbol es BST. <
  2. Compruebe si la lista enlazada es Palindrome. (O(1) espacio).
  3. Una array (Array 1) de tamaño m con m elementos ordenados y otra array (Array 2) de tamaño (m + n) con n elementos ordenados, debe colocar todos los elementos de ambas arrays en la Array 2 en orden ordenado. (O(1) espacio auxiliar y O(m + n) tiempo).

Ronda 2 (F2F):

  1. Dada una pila de números enteros de tamaño n, debe ordenarlos usando solo operaciones push y pop (no puede copiar los números en la array auxiliar y ordenarlos y luego empujarlos hacia atrás en la array). (Le di el enfoque O (n ^ 2) y el espacio auxiliar O (1)).
  2. Subir escaleras: un movimiento válido se define como un solo paso o 2 pasos . A partir del primer escalón, debe llegar al enésimo escalón en movimientos mínimos válidos. Le di un enfoque de dp y luego lo reduje a la fórmula de Fibonacci que se puede resolver en tiempo O (log (n)) usando Matrix Exponentiation.
  3. Números escalonados : Un número escalonado se define como un número en el que la diferencia absoluta entre los dígitos consecutivos no es mayor que 1. Un número escalonado no puede ser un número de un solo dígito. Tienes que encontrar el número de pasos entre n1 y n2 donde n2 > n1 y n2, n1 > 0. Primero di un enfoque de fuerza bruta, es decir, atravesé de n1 a n2 e imprimí i si i es un número de paso. Me pidieron que lo optimizara, después de un tiempo se me ocurrió la solución BFS, donde un Node en el gráfico (dirigido) representa un número y los Nodes directamente conectados a él tienen un dígito más adjunto al final. Deténgase cuando el número eliminado de la cola sea mayor que n2.
  4. Versión iterativa de la Torre de Hanoi. Di la versión de pila de TOH. Dado que la recursión usa la pila de recursión. Eliminé la recursividad y usé stack para imitar la recursividad en su lugar. Quedaron satisfechos con la solución.


Ronda 3 (F2F):

  1. En cualquier momento, imprima el primer número que no se repite en una secuencia de números. Me tomó bastante tiempo y después de una pequeña lluvia de ideas se me ocurrió una solución usando DLL y mapa.
  2. Eliminar un Node de BST . Había olvidado cómo se hizo, así que tuve que pensar mucho, me di cuenta de que el Node eliminado debe reemplazarse con su sucesor en orden para mantener la propiedad BST y codifiqué la solución.
  3. Esta fue la ronda más emocionante. Parecían felices con mi enfoque.

Ronda 4 (Ronda de Diseño):

  1. Diseño de un estacionamiento.
  2. Crear cola usando stack.
  3. Discusión sobre todos los algoritmos de programación del sistema operativo.
  4. Cómo implementar SRTFS (SJF preventivo).
  5. Discusión sobre comunicación entre procesos: memoria compartida y sockets.
  6. Por qué se prefieren los sockets a la memoria compartida.
  7. ¿Dónde se almacena la memoria compartida (en el espacio del usuario o en el espacio del kernel)? y por qué ?

Ronda 5 (ronda del gerente de contratación):

  1. Discusión General.
  2. Conversión de infijo a sufijo.
  3. Devuelve una secuencia de longitud máxima que contiene números consecutivos de un árbol binario. es decir
                90
               /  \
              1   66
             /      \            
            2       67
          /   \    /
         5     4  68
              /    \
            99      100

    Secuencia consecutiva de longitud máxima: [66, 67, 68] de longitud 3.

Tuve la corazonada, pero no pude codificarlo al principio, así que me pidió que lo hiciera más tarde, luego de discutirlo, me dieron 15 minutos para completarlo y finalmente en esos 15 minutos hizo clic y logré hacerlo.

Algún consejo:

  1. Practique la codificación en papel, intente escribir código limpio sin sobrescribir.
  2. Repase los conceptos importantes del sistema operativo.
  3. Se concentraron más en el proceso de pensamiento para llegar a la solución final. Así que piensa en voz alta y recibirás pistas ;).
  4. Mantenga la calma y mantenga la confianza.

Gracias Geeksforgeeks!!!

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 *