Amazon Entrevista | Conjunto 114 (en el campus para prácticas)

Recientemente, Amazon India visitó nuestro campus para una pasantía de 2 meses. hubo tres rondas

2 preguntas de codificación en línea + 20 MCQ

Las preguntas del MCQ fueron principalmente 6-7 preguntas sobre estructuras de datos, 7-8 programas de salida en lenguaje C, 4-5 preguntas sobre aptitud general, probabilidad, permutación y combinaciones.

Las dos preguntas eran:

una. Dado un conjunto de intervalos, debe agrupar los intervalos superpuestos y mostrar todos los intervalos en orden no decreciente.
Por ejemplo: (1,5),(8,11),(3,6),(10,20)
salida: (1,6),(8,20)
Consejo: Aunque esta es una pregunta muy fácil y puede ser se encuentra en muchos portales en línea, solo recuerde que la entrada dada tiene la forma de una string y debe analizarse con cuidado.
Para esto, en lugar de convertir la string en números enteros, podría usar algo como

while(scanf("(%d,%d),",&a,&b))
{
//store a and b as you wish to
}

b. Dado un conjunto de números enteros, tanto negativos como no negativos, debe reorganizarlos de manera que los enteros negativos y no negativos estén en posiciones alternas.
Restricciones: el orden de todos los enteros negativos y no negativos debe ser el mismo que antes si hay más enteros negativos, los enteros en exceso deben ocurrir al final de la array y lo mismo ocurre con los enteros no negativos en caso de que sean más en número .

eg: -5,-2,5,2,4,7,1,8,0,-8
output: -5,5,-2,2,-8,4,7,1,8,0

Nuevamente, para la entrada, puede usar la técnica mencionada anteriormente.

Alrededor de 20 de 150 estudiantes fueron seleccionados después de esta ronda para entrevistas personales.

A continuación se presentan las experiencias de la entrevista de dos de nosotros.

Persona1:

RONDA 1:

1. Dado un árbol binario que tiene 3 punteros, izquierdo, derecho y hermano, de los cuales todos los punteros secundarios izquierdo y derecho ya están llenos, debe llenar los punteros hermanos con las direcciones del siguiente Node en el mismo nivel. Si es el último Node de un nivel, complete NULL.

Primero le dije un enfoque usando un recorrido de orden de nivel con una cola. Luego me pidió que lo hiciera sin cola usando recursividad. Le dije el enfoque y cuando estuvo satisfecho, me pidió que escribiera un código en un papel con todas las esquinas cubiertas.

2. Dada una array de tamaño 2n+1 donde n enteros se repiten dos veces y un entero aparece solo una vez, encuentre ese entero. Le dije usando XOR. luego cambió la pregunta a
Dada una array de tamaño 2n+2 donde n enteros se repiten 2 veces y 2 enteros vienen solo una vez. Encuentra a los dos. Esto también se puede hacer usando XOR. Puedes encontrar la solución en la sección de arreglos de Geeks for Geeks

3. Dado cualquier árbol binario en el que todas las hojas tenían sus punteros izquierdo y derecho conectados en una lista doblemente enlazada de izquierda a derecha en lugar de apuntar a NULL. Además, el puntero izquierdo de la hoja más a la izquierda apuntaba a ese Node en sí y el puntero derecho de la hoja más a la derecha apuntaba a esa hoja en sí y si había un Node interno sin hijo izquierdo o derecho, ese puntero en particular apuntará a ese Node en sí.
Necesita encontrar el recorrido en orden del árbol.
Una vez que le dije el enfoque, nuevamente me pidió que escribiera un código en papel.

4. Me preguntó sobre las estructuras de datos que conocía y luego comenzó a hacer preguntas sobre gráficos. ¿Cómo los representamos?
¿Cuál es mejor Array de adyacencia o Lista?
Luego me dio algunas situaciones y me preguntó cuál de las dos implementaciones debería usarse.

LA RONDA 2:

1. Me preguntó detalladamente sobre mis proyectos durante unos 15 minutos.

2. Luego me preguntó sobre las materias que había cursado en 3° y 4° semestre.
Olvidé cuáles eran todas las materias que había estudiado 😀 😀 😀
La primera materia que salió de mi boca después de mucho pensar fue Programación Unix Linux. Luego me pidió que escribiera todos los comandos que sabía en 5 minutos. Enumeré casi 20. Me preguntó las funciones de algunos de ellos y las diferencias entre algunos de ellos.

3. Finalmente me hizo una pregunta sobre árboles binarios que era bastante simple.
Reemplace los datos de cada Node de un árbol de búsqueda binario con la suma de todos los Nodes mayores que él.
Le di el enfoque usando el recorrido en orden inverso. Luego me pidió que escribiera un código en papel. Había usado punteros en el código. Luego me pidió que escribiera un código que no usara punteros, variables estáticas o variables globales.
Yo escribí esa. Finalmente pareció satisfecho.

Persona 2

RONDA 1:
1. Dada una lista enlazada de forma individual y un número entero k, tuve que escribir código para invertir la lista en pares de k, manejando también todos los casos base.
p.ej. 1->2->3->4->5->6->7->8 k=3
o/p 3->2->1->6->5->4->8->7
De hecho, probó mi código en varios casos base tratando de encontrar errores 😛

2. Dadas 2 arrays, una de tamaño n y otra de tamaño (n+k) pero con k valores llenos, se me pidió que fusionara las dos en la segunda array sin usar espacio adicional. Rápidamente le di la lógica y pasamos a la siguiente pregunta.

3. Dada una string de caracteres, encuentre el índice del primer carácter repetido en la string.
p.ej. abcba
o/p: 0 (ya que ‘a’ vino inicialmente antes que ‘b’, aunque ambos se repiten dos veces).
De nuevo, se requería un código sin errores.

4. Luego me hizo preguntas sobre el proyecto de investigación en el que estaba trabajando actualmente. Esto continuó durante otros 10-15 minutos.

RONDA 2:
1. Esta ronda comenzó con preguntas sobre mi proyecto de investigación. Luego me preguntó qué estructuras de datos me gustaban. Tuvimos una larga discusión sobre los montones y las complejidades de tiempo asociadas.

2. Dado un árbol binario, cualquier Node en el árbol y un número entero k, imprime todos los Nodes a una distancia k del Node dado.
Eso sí, el Node puede estar arriba o abajo. Primero discutimos sobre un enfoque y después de que estuvo satisfecho con mi explicación, pidió un código sin errores.

3. Dado un número entero n, ¿cuántos BST puede hacer con n Nodes ?
Le hablé del número catalán y de la fórmula directa – 2^n – n. Pero él quería una derivación, así que construí una recurrencia y le mostré el DP para evaluarlo.

4. Dadas n personas, te dicen todas las parejas de personas que pertenecen al mismo país. Debes decir la cantidad de pares de personas que no pertenecen al mismo país,
lo expresé como un gráfico y apliqué dfs para obtener la cantidad de componentes conectados y el tamaño de cada uno. Entonces era una fórmula simple sobre no de componentes.

Después de esto, comenzó a hablar sobre la vida en Amazon, lo que la empresa espera de ti y lo que deberías esperar hacer en la empresa.

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 *