Experiencia de entrevista en Amazon | Conjunto 273 (en el campus)

Me gustaría compartir mi experiencia de entrevista en Amazon (para pasantías) con su audiencia.

Primera ronda (ronda de codificación en línea):
fue una prueba de 90 minutos en Hackerrank. Tenía 20 MCQ y 2 preguntas de codificación. Los MCQ fueron de temas como la complejidad del tiempo, diferentes algoritmos de clasificación, dbms, os, 3-4 rompecabezas y apti, salida del código, etc.

Los MCQ tuvieron una calificación negativa de 0.50.

Se admitieron estudiantes de CSE, IT, ECE y hubo alrededor de 160 candidatos.

Preguntas de codificación:
1. Encuentre el primer carácter no repetido de la string.

2. H ay una array cuadrada de orden n que se llena de 1 a n^2 en fila mayor. Encuentre el elemento K-ésimo en el recorrido en espiral de la array.
Ejemplo: Dado n=3 y K=5.
Array:
1 2 3
4 5 6
7 8 9

Salida: 9

Resolví las dos preguntas de codificación e intenté 16 MCQ y clasifiqué para la siguiente ronda. Es muy importante resolver al menos una pregunta de codificación para calificar para la siguiente ronda.

Segunda Ronda (Entrevista Personal-I):

Tiempo: 40-50 minutos. 31 candidatos fueron seleccionados para esta ronda.

Comenzó con cuéntame sobre ti. Luego, el entrevistador me preguntó mi rango JEE (principal) y también qué estructuras de datos conozco. Me hizo preguntas básicas sobre árboles como qué es árbol, qué es bst, cuántos tipos de recorridos hay y cómo nombrarlos. A continuación, ella me dio este problema:

1. Se le proporciona una array de elementos, averigüe si la array representa el recorrido de pedido previo de un BST .

Lo pensé por unos segundos y le di lógica n^2. Antes de que me pidiera que lo optimizara, le dije que podía intentar optimizarlo.
Luego, después de pensarlo durante unos minutos, le dije mi lógica O(n).
Después de escuchar mi enfoque, me pidió que lo codificara. Escribí el código sin ningún error de una sola vez. Me preguntó la complejidad del tiempo y la complejidad del espacio de mi código después de verificar si está libre de errores o no.

Después de esto, el entrevistador me hizo preguntas teóricas sobre el sistema operativo, como qué es la sección crítica, exclusión mutua, semáforo, memoria virtual, fallas de página, formas de evitar interbloqueos, etc. Luego hizo una tabla simple y me pidió que escribiera una consulta SQL para ella. que fue muy fácil. Me preguntó qué es la indexación en DBMS, la diferencia entre sus tipos y si la consulta que escribí distingue entre mayúsculas y minúsculas o no.

A continuación, el entrevistador me preguntó si sabía clonar un problema de lista enlazada o no .

Dije si. Así que el entrevistador cambió la pregunta.

2. Dada una array con números negativos y positivos, encuentre la suma máxima de subarreglos contiguos.
Le dije al entrevistador mi enfoque (modificación del algoritmo de Kadane). Y ella me pidió que escribiera el código. Escribí el código sin ningún error.


Tercera Ronda (Entrevista Personal-II):

Tiempo: 80-90 minutos. 8 candidatos fueron preseleccionados para esta ronda.

Primero, el entrevistador revisó mi currículum y me preguntó sobre mi proyecto reciente. Luego me preguntó si me siento cómodo con los árboles. Dije si. Él me preguntó:

1. Suma vertical
Le dije el enfoque y me pidió que escribiera el código. Escribí el código sin ningún error.

Luego me hizo preguntas teóricas. Comenzó con conceptos de memoria virtual, luego escribió un código y me preguntó si había algún error. Luego hizo preguntas de C/C++ basadas en malloc/calloc, nuevo operador, etc. Una pregunta complicada sobre el manejo de excepciones. Había muchas otras cuestiones teóricas que no recuerdo.

2. Luego me dio este problema:
Hay n número de personas requeridas para hacer algunas tareas. Entre estas n personas, un número x de personas requiere una llave para comenzar su trabajo. Hay infinitas llaves que se lanzan una a una frente a las personas en cada unidad de tiempo. El tiempo que tarda una persona en recoger la llave es una unidad de tiempo. Además, el entrevistador mencionó condiciones como que una persona en particular solo puede comenzar después de que otra persona en particular termine su tarea. El tiempo que requiere una persona para terminar su tarea es una unidad. Me pidió que encontrara el tiempo mínimo en el que todas las personas terminan su tarea.

Después de pensar durante unos minutos, le dije al entrevistador mi enfoque utilizando la clasificación topológica en el gráfico. Luego me pidió que explicara la clasificación topológica en detalle. Luego pasó a otra pregunta.

3. Estás en un bosque y hay muchos caminos. Tienes que salir del bosque. ¿Qué camino eliges?
Era un problema de encontrar la distancia mínima entre el Node de origen y el Node de destino en un gráfico.
Le expliqué mi enfoque y luego me pidió que le explicara el algoritmo de Dijkstra. Entonces el entrevistador me preguntó la diferencia entre el algoritmo de Dijkstra y el algoritmo de Floyd-Warshall. Luego me preguntó sobre el algoritmo de prim y el algoritmo de kruskal.

Luego me dio otro problema interesante.
4. Para cada Node de un árbol binario, se le proporciona la identificación del Node y la suma de las identificaciones de sus hijos. Encuentre la identificación del Node de la raíz.

Después de unos minutos se me ocurrió un enfoque equivocado. Tan pronto como se lo dije al entrevistador, entendí que estaba equivocado. Luego me dijo que me concentrara en la suma de los id. Luego, en un minuto le dije otro enfoque. Me preguntó por qué funciona esto, le expliqué y quedó satisfecho.

Después de eso, el entrevistador me preguntó si tenía alguna pregunta para él. Por fin, volvió a preguntarme sobre uno de mis proyectos en los que usé Alexa.

Mantener la calma lo ayudará a encontrar una solución correcta más rápido, haga preguntas a los entrevistadores si tiene alguna duda, son muy amables. Practique preguntas de geeksforgeeks. Me ayudó un montón. Gracias frikis.

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 *