Ronda 1 (Ronda de codificación en línea): esta ronda consistió en 20 MCQ de estructuras de datos, algoritmos, programas C basados en resultados, SO, DBMS (consultas SQL) y algunas preguntas de aptitud. Hubo 2 preguntas de codificación de la siguiente manera:
- La primera pregunta fue simple «La subsecuencia de suma más grande en una array sin tomar elementos adyacentes». https://www.geeksforgeeks.org/find-maximum-possible-stolen-value-houses/
- El segundo fue un poco un problema basado en la visualización. Se dan ‘n’ puntos que son diagonalmente opuestos al punto (1, 1) formando rectángulos con lados paralelos a los ejes. Además, hay edificios ‘r’ cuyas coordenadas (xi, yi) junto con sus alturas (hi). Tenemos que averiguar la altura máxima entre todos los edificios que están dentro de un rectángulo. Un total de 32 estudiantes fueron preseleccionados de 150 para la siguiente ronda de entrevistas realizadas al día siguiente. Se seleccionaron aquellos que pudieron obtener una pregunta completa y obtuvieron calificaciones parciales en la segunda. Esta ronda fue organizada en HackerEarth (2hrs)
Ronda 2 (Ronda técnica 1 F2F): La entrevista comenzó con el recorrido básico de mi currículum y el entrevistador me pidió que explicara todo lo que había hecho mientras estaba en la universidad. Luego comenzó con una pregunta que decía así
- Dada una lámina rectangular de dimensiones (L x R). También nos dan una array de pares de números (Xi, Yi) que son las dimensiones del corte que podemos realizar en la hoja. La pregunta era «¿Cómo podemos continuar cortando la lámina rectangular de manera óptima para que al final quede un área mínima sin cortar?» La misma dimensión de corte de la array se puede elegir cualquier número de veces. Pensé en el problema de los mosaicos en DP y seguí pensando en ello. Le expliqué mi enfoque recursivo, no parecía satisfecho. No pude obtener la solución completamente. Hubo mínimas pistas de él. Luego pasó a la segunda pregunta.
- Dada una array de enteros y un valor de k=3. Encuentre el máximo en cada subarreglo de tamaño k . Empecé con el enfoque de fuerza bruta y comencé a reducirlo utilizando el método de ventana deslizante. Luego lo optimicé aún más usando deque. Pidió escribir código para el método. Con un poco de ayuda en los casos extremos, escribí el código de trabajo. Esta ronda se prolongó durante aproximadamente 1 hora y 20 minutos.
18 estudiantes de 33 fueron seleccionados para la siguiente ronda.
Ronda 3 (Ronda técnica 2 F2F): El entrevistador comenzó con el habitual «Háblame de ti» y luego profundizó en mis proyectos y tecnologías en las que había trabajado. Más tarde, prosiguió con algunas preguntas algorítmicas:
- Dada una array de enteros, encuentre el máximo entre todas las diferencias absolutas entre los índices de los dos elementos a la izquierda y a la derecha del elemento actual que son más pequeños que él y los más cercanos a él.
por ejemplo: Array: {2, 3, 5, 1, 3}
Para el elemento en el índice 1 (3), 2 es menor que el de la derecha, su índice i=0. Entonces 1 es menor que el de la derecha y es el más cercano con índice, j=3. Así que para el elemento 3, diff = abs(ij) = |0-3| = 3. Haga esto para todos los elementos y descubra el máximo e imprímalo. Al pensar, obtuve la solución de fuerza bruta (O^n2) al viajar a la izquierda y a la derecha del elemento para todos los elementos en la array Esto fue ineficaz. Entonces, rápidamente me di cuenta de la importancia de ‘más cercano’ y pensé en usar una pila para mantener el orden. Usé dos pilas, lstack y rstack para almacenar los índices más cercanos.https://www.geeksforgeeks.org/find-maximum-difference- between-nearest-left-and-right-smaller-elements/
- Dada una array de enteros, encuentre el elemento pico en menos de O(n) tiempo.
https://www.geeksforgeeks.org/find-a-peak-in-a-given-array/
Seleccionaron 6 de 18 después de esta ronda.
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