Experiencia de entrevista de Amazon SDE | En el Campus 2019

La ronda 1:

La ronda 1 fue una ronda de codificación en línea. Hubo 2 preguntas de codificación y 28 mcq técnicos para resolver en 90 minutos. Mis preguntas de codificación fueron: –

  1. Hay n canastas que contienen manzanas. La entrada consiste en una array dada que representa el número de manzanas en cada canasta. Encuentre el número mínimo de manzanas que se moverán para hacer no. de manzanas en cada canasta igual.
  2. Se da una string como entrada. Hay un formato particular de una url. tienes que convertir la string dada a url. No recuerdo exactamente los mcq, pero todos estaban en estructuras de datos y preguntas de salida en C y C++. Resolví las dos preguntas de codificación. Alrededor de 300 personas se sentaron para la ronda en línea y 24 fueron preseleccionados. Algunas preguntas que llegaron a mis amigos fueron: encontrar el conteo de inversión, evaluar una expresión de postfijo, lanzamiento de dados, trastorno más pequeño, decodificación total de mensajes, etc.

La ronda 2: 

Esta fue una entrevista cara a cara. la entrevista comenzó con la pregunta normal, preséntese y luego dijo que ahora haremos un poco de codificación. La primera pregunta que hizo fue: Hay un hotel y hay una reserva de clase. La clase de reserva consta de ID de usuario, fecha de entrada y fecha de salida. Encuentra el día en el que hay máximo de usuarios en el hotel. Escribió el encabezado de la función en un papel y me lo dio. Luego le dijo un enfoque manteniendo una array con índice como número de día. Luego dijo que para optimizar la complejidad del espacio. Luego le dije una solución usando la clasificación. Estaba satisfecho. Me dijo que escribiera el código.

La siguiente pregunta que hizo fue, dado un árbol binario con un puntero más llamado puntero principal que apunta al Node principal. Ahora, dado cualquier Node del árbol, encuentra que es el primer hermano. Primero le dije mi enfoque, me dijo que yo también lo modularizara. Luego escribí una función recursiva para el mismo. luego discutimos algunos casos extremos. Me faltaba un caso extremo que no pude resolver. Pero quedó satisfecho, me preguntó la complejidad del tiempo y la ronda terminó.

https://www.geeksforgeeks.org/find-right-sibling-binary-tree-parent-pointers/

Ronda 3:

La ronda 3 comenzó con una descripción de mi pasantía. Me hizo varias preguntas al respecto, como qué tecnologías usaste. Luego me preguntó qué tan bueno soy en sistemas operativos. Dije que no soy muy bueno. Luego me explicó la importancia del sistema operativo. Lo escuchaba pacientemente. Luego me dijo que escribiera el código para dibujar un círculo con un radio dado y asumiendo que el centro es 0, 0. Le dije un método usando seno y coseno. Luego me dijo si puedo hacer algo más. Entonces le dije otro enfoque matemático que incluía cálculos de punto flotante. Me dijo que quitara eso. Luego derivé dos condiciones con las que podemos decidir el siguiente punto. Estaba un poco satisfecho. Luego me dijo que la ronda había terminado. Estaba un poco confundido sobre si calificaría o no, pero lo hice.

Ronda 4 :

Esta ronda fue tomada por un SDE2. Me dijo que considerara que hay varios paquetes y que cada paquete depende de algunos o de ninguno. Para que se construya un paquete en particular, ¿cuál es el orden óptimo en el que se deben construir los paquetes? La respuesta es considerarlo como un gráfico y luego usar Clasificación topológica. Le dije Tipo topológico. Luego me dijo que escribiera el código para el mismo. Después de algunas discusiones con él, escribí un código adecuado para ello.

La siguiente pregunta fue Recorrido en orden espiral de un árbol binario. Primero le dije un enfoque usando más espacio. Luego me dijo que lo optimizara. Entonces le dije la solución usando dos pilas. Me dijo que escribiera el código para ello.

Ronda 5:

Esta ronda comenzó con descríbete a ti mismo. Luego me preguntó sobre la diferencia entre Herencia y Composición en Java. Luego preguntó las condiciones en las que la herencia es una mala opción y en las que es buena. Luego me preguntó acerca de los recorridos en un árbol. Le dije 4 travesías. Luego me dijo que hiciera un recorrido de orden en espiral. Lo hice usando dos pilas. Luego me dijo que usara solo una pila o cualquier estructura de datos menos una. Luego me dijo que implementara una función C. La siguiente pregunta que hizo fue un intercalado de una array. Luego me dijo que implementara lo mismo en una Lista Vinculada. Luego me dijo que, dado un String, lo convirtiera en un número entero. Luego me hizo algunas preguntas sobre redes como la dirección IP virtual, cómo funciona el DNS, IPv4 e IPv6, el protocolo SLIP, etc. Luego me preguntó sobre las aplicaciones del gráfico. Le dije Facebook. Luego preguntó, aparte de la recomendación de sus amigos, cómo utiliza Facebook los gráficos. Cómo Google Maps usa gráficos. Qué tipo de base de datos tienen. Entonces la ronda había terminado.

Finalmente, después de 6 horas de entrevista, me informaron que soy seleccionado.

Algunos consejos:-

Mantente confiado y humilde. Incluso si conoce la solución, primero dígale a la fuerza bruta y luego optimícela. Que también discuta esto con el entrevistador. Sigue interactuando con él. Ellos le guiarán a la solución. Cuéntales tu proceso de pensamiento en lugar de decirles la solución directamente. Cada vez que haga preguntas al final de la entrevista. Y nunca digas la solución de una vez. Discuta la solución con ellos, al menos en el caso de Amazon, esto resulta ser excelente. Porque si conoces la solución, la considerarán como una pregunta. Mantente seguro y confía en tus instintos.

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 *