Amazon Entrevista | Conjunto 87 (para SDE)

Recientemente borré la posición de Amazon SDE. A lo largo de mi preparación, GeeksforGeeks desempeñó un gran papel, este es el único sitio al que me referí/seguí más del 90 % del tiempo durante la fase de preparación.

Encuentre mi experiencia con Amazon a continuación.
1 Prueba escrita
1) Dada una array de números, encuentre el siguiente mayor no a la derecha de cada elemento

Example-    Input     12 15 22 09 07 02 18 23 27
            Output    15 22 27 18 18 18 23 27 -1

2) Dada una lista de enlaces e ingrese int K, invierta la lista de enlaces en ranuras de tamaño K

Example Input 12--> 13--> 3--> 20--> 55--> 87--> 20--> 77--> 90 Lets k =3
Output 3--> 13->12--> 87--> 55--> 20--> 90--> 77--> 20

3) Dado el árbol y la entrada int K, imprima los Nodes que están a una distancia k de la hoja.
La entrada está debajo del árbol y k = 2
imagen

Salida-2, 5, 4

2. Primera ronda F2F (DS y Algo)
Dos entrevistadores estaban allí en el panel, solo uno estaba haciendo preguntas, el otro solo estaba observando, estaba anotando todas las conversaciones entre nosotros y notando el enfoque y la solución proporcionados por mí. Esto fue común en todas las rondas de entrevistas.

1) Dada una string infinita de 0 y 1 respectivamente. Necesitas encontrar el punto de transición de 0 a 1.
Di la solución nativa en O(n). Me dijo que optimizara más. No se puede aplicar la búsqueda binaria directa porque la string era infinita y no se proporcionó la longitud de la string.
Le dije que dividiría la string en 10 ranuras de tamaño para reducir la complejidad. Aún así le dijo a optimizar más. Le dije que aumentaría el tamaño de la ranura en potencia de 2 como 2,4,8,16,32. estaba satisfecho con eso.
Nuevamente lo complica agregando que ahora mi string contiene 0, 1, 2 en orden ordenado. Debe encontrar el punto de transición de 0 a 1 y de 1 a 2. Proporcioné el enfoque.
Después de eso, esta vez quiero que sea genérico. La string puede contener un número de 0 a n (entrada) para encontrar todos los puntos de transición. Lo resolví, estaba satisfecho con el enfoque y me dijo que escribiera un código para ello.

2) Encuentra elementos comunes de dos arrays ordenadas

3. Segundo F2F (DS y Algo)

1) Fue un poco difícil para mí descifrar, dijo que preguntó desde la clonación de Java, que era mi área débil. Dada una clase que contiene la string Nombre y referencia a una persona amiga, se muestra claramente a continuación.

Class A {
   A(String str, Person P { //Constructor
       this. name = str;
       this.friend= P ;
   }
   // override
   Clone() {
       // code for this function was expected from me
       // which can produce the deep copy
   }
}

Supongamos que A–>B–>C–>D significa que A es amigo de B, que es amigo de C y así sucesivamente.
Llamar una vez al método Clone clonará toda la lista de amigos como
A’–>B’–>C’ –>D’ (ahí A’ es el clon de A).
Descifrar esto fue realmente difícil para mí, porque no estaba familiarizado con estas preguntas.

2) Cómo encontrar el último elemento n de la lista de enlaces individuales, fue muy fácil para mí.
Resuelto en 2 minutos y escribió el código rápidamente.

3) Dada una array ordenada de número, valor K y valor X, encuentre el número K más cercano al valor
Ejemplo: Entrada 12 16 22 30 35 39 42 45 48 50 53 55 56 K = 4 X = 35
Salida 22 30 39 42
El entrevistador se estaba quedando sin tiempo porque la primera pregunta tomó mucho tiempo. Entonces ella dijo que solo dijera el enfoque, no se esperaba el código.

4. Tercer F2F (Elevador de barra)

El entrevistador era de carácter amistoso. Era un tipo muy senior y muy genial. Comencé con mi pregunta de proyecto y luego con una pregunta de comportamiento y en la última pregunta técnica
  1. ¿Cuál es su proyecto actual? ¿Qué valor agregó en su proyecto hasta ahora?
  2. Qué desafíos enfrentó mientras trabajaba en el proyecto y cómo los superó.
  3. ¿Cuál fue el aprendizaje importante para ti en el último proyecto?
  4. Si tiene la opción de retroceder 3 años en la vida, entonces qué le gustaría cambiar en la vida, significa qué habilidades y pasos/decisiones desea obtener o cambiar.
  5. Lo que hiciste en el pasado de lo que te sientes orgulloso… blaa blaa….
  6. Dado un árbol, ¿cómo hallarás la suma vertical de los Nodes?
    consulte este enlace para comprender más sobre la pregunta
    Le di la solución usando el mapa Hash, pero no estaba satisfecho con la respuesta. Dijo que dio otra solución porque el mapa Hash aumentará la complejidad del espacio. Usé una solución de array que aumentaba la complejidad del tiempo, luego usé una lista de enlaces circulares y finalmente la resolví usando una lista de enlaces dobles. Estaba satisfecho con la solución. Me dijo que codificara para ello.

5. Cuarta ronda f2f (OOPS, patrón de diseño y sistema operativo fundamental)

  1. Comenzó con los detalles de mi proyecto, mi proyecto estaba en un dispositivo móvil Android, por lo que me dijo que diseñara una «aplicación de contacto». Se esperaba de mí el diagrama de clase y su relación. Qué patrón de diseño puedes usar en eso.
  2. Explique la herencia y se le da la clase base. Debe dejar de exponer los métodos de la clase base sin tocar la clase base en absoluto. Fue realmente complicado. pregunta me gusto
  3. ¿Qué es un punto muerto y cómo detectar un punto muerto en el sistema?
  4. Concepto de normalización de base de datos y varios tipos de la misma.
  5. También comenzó a hacer algunas preguntas sobre redes. Como TCP/IP, conexión de socket.
  6. Cómo funciona internamente el chat entre 2 usuarios, internamente cómo fluyen los paquetes entre capas. Y supongamos que el usuario A envía un mensaje «Hola» al usuario B y el usuario B simplemente apaga el sistema. Que pasara en ese caso.

6. Quinto f2f (gerente de contratación)

  1. Por qué quieres unirte a Amazon.
  2. ¿Qué sabías de Amazon?
  3. Explicación del proyecto actual.
  4. Qué nuevo código implementó y cuánto impacto tuvo en otros.
  5. Dado un árbol, escriba el recorrido en orden. Escribí en 2 minutos usando recursividad.
    La siguiente adición fue, ¿puedes escribirlo usando la iteración probada y escribiste un código con errores?
    Comenzó a verificar y le dijo al error y me dijo que lo corrigiera. Aunque resolví la misma pregunta en mi casa, todavía no estaba haciendo clic en mi mente. Empecé a corregirlo pero fallé. Después de eso, el entrevistador dio una pista. Usé la pista y resolví todo el código nuevamente. Se estaba quedando sin tiempo, así que tomó la hoja de códigos y me dijo que la revisaría más tarde en el tiempo libre.
    Consulte este enlace para obtener una solución real y una comprensión adecuada de la última pregunta

Mensaje para todos: –
Amazon espera un código exacto y preciso con menos complejidad. Así que discuta primero con su entrevistador el enfoque. No salte al código.
Incluso si no sabe la respuesta correcta, siga discutiendo varias posibilidades para resolver la pregunta e intente resolver ese problema desde un ángulo diferente. Practique más y más la verdad de las preguntas.

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 *