Ronda 1 (en línea en HackerRank)
Duración: 90 minutos
20 preguntas MCQ basadas principalmente en el sistema operativo, estructuras de datos y algoritmos y algunos acertijos.
2 preguntas de codificación:
- No recuerdo el enunciado exacto del problema, pero se reduce a encontrar el ciclo en un gráfico dirigido .
- Era una pregunta de implementación básica obvia en strings. (No recuerdo el enunciado del problema).
Nos llamaron en el sitio en Hyderabad para más rondas F2F.
Ronda 2 (F2F) Duración = 70 minutos: comenzó con mi currículum, hice algunas preguntas durante aproximadamente 5 minutos y comenzó con las declaraciones de problemas.
Así que se hicieron 3 preguntas en esta ronda:
- Dado un arreglo y un entero positivo k, encuentre el primer entero negativo para todas y cada una de las ventanas (subarreglo contiguo) de tamaño k.
- Dada una array de tamaño M x N, hay un gran número de consultas para encontrar sumas de subarrays. Las entradas a las consultas son los índices superior izquierdo e inferior derecho de la subarray cuya suma es averiguar. Para cada consulta, tenemos que encontrar la suma en O(1).
- Considere una tubería de longitud L. La tubería tiene N gotas de agua en N posiciones diferentes dentro de ella. Cada gota de agua se mueve hacia el final de la tubería (x=L) a diferentes velocidades. Cuando una gota de agua se mezcla con otra gota de agua, asume la velocidad de la gota de agua con la que se está mezclando. Determine el número de gotas que salen del extremo de la tubería.
Comenzó con el enfoque ingenuo y luego dio la solución optimizada similar a Sliding Window Maximum.
Después de resolver estas 2 preguntas, el entrevistador todavía tenía algo de tiempo, por lo que hizo la tercera pregunta.
No pude entender el enunciado del problema de una sola vez después de todas las aclaraciones requeridas. Le di el enfoque matemático para resolver este problema. Estaba convencido con la solución, pero hizo hincapié en qué estructura de datos podría ser más útil para resolver este problema en particular. Después de algunas pistas, dije que se puede resolver usando pilas.
Ronda 3 (F2F) Duración = 75 minutos: comenzó con algunas preguntas sobre mi experiencia laboral anterior, pero apenas duró 5 minutos y luego los entrevistadores comenzaron con las preguntas.
En esta ronda se hicieron 2 preguntas:
- Dada una secuencia de caracteres, encuentre el primer carácter que no se repite de la secuencia. Debe indicar el primer carácter que no se repite en el tiempo O (1) en cualquier momento.
- Imprima la ruta hoja a hoja más larga en un árbol binario.
Di el primer enfoque de usar un hashmap y Dequeue para resolver esto, pero el entrevistador dijo que no quería hacer ningún procesamiento para el resultado y que este enfoque requeriría sondear los caracteres del dequeue si se repiten. Después de eso, di un enfoque de usar un Hashmap donde cada carácter se asignará a un Node de una Lista Doblemente Vinculada. Si encontramos un carácter repetido en nuestra secuencia, podemos eliminar ese carácter de la DLL ya que podemos obtener la dirección del Node del hashmap. El jefe de la DLL será nuestro resultado.
Esta pregunta consumió casi media hora.
Di la solución más optimizada ya que el tiempo consumido en la primera pregunta fue alto.
Ronda 4 (F2F) Duración= 70-80 minutos: Comenzó con mi currículum y experiencia laboral previa. Se hicieron preguntas sobre OOPS y SDLC (que se mencionó en mi currículum). Después de 10 minutos, comenzó con las preguntas de resolución de problemas.
En esta ronda se hicieron 2 preguntas:
- Ordene la lista enlazada .
- Dado que para preparar un determinado ingrediente podemos necesitar otro ingrediente, es decir
- Para preparar el ingrediente A requerimos el ingrediente B.(A -> B)
- Para preparar el ingrediente B requerimos el ingrediente C.(B -> C)
- Para preparar el ingrediente C necesitamos el ingrediente A.(C -> A)
Di la solución de merge-sort en la lista vinculada.
Tenemos que determinar si podremos preparar el plato o no. Entonces todo se reduce a encontrar el bucle en el gráfico dirigido. Después de las 3 rondas presenciales, se les dijo a los candidatos seleccionados que tendrían una ronda de videollamadas (Bar raiser). La ronda de subida de la barra se llevó a cabo después de una larga espera de aproximadamente un mes.
Ronda 5 ronda de elevación del listón = 70-80 minutos: Comenzó con la introducción, luego el entrevistador dijo que hará algunas preguntas y luego tengo que responderlas con un ejemplo de mi experiencia anterior en la empresa. A continuación, hará una pregunta de codificación.
Así que las preguntas que hizo el entrevistador fueron:
- Cuénteme una situación en la que el cliente estaba presionando mucho y tiene que entregar los resultados muy rápido por lo mismo.
- ¿Cuénteme un problema que resolvió en su organización anterior? Después de eso, me preguntó por qué elegí este problema en particular solamente.
Después de alrededor de 30 minutos de discusión, hizo una pregunta de codificación que debía resolver en el editor de código que se compartió.
- Tenemos que rotar una array de tamaño n por r . Estaba esperando una solución O(n) en el lugar. Di la solución del algoritmo Malabares para este problema en particular.
Después de aproximadamente una semana, recibí un correo electrónico que decía: «¡Felicitaciones! Nos complace informarle que Amazon está haciendo una Oferta para el puesto de Ingeniero de Desarrollo de Software”.
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