Ronda 1: Ronda de codificación en línea (1 hora y 45 minutos en Hackerearth)
Esta ronda tuvo 5 MCQ con marcas negativas relacionadas con las complejidades del tiempo y los algoritmos de programación populares y 3 preguntas de codificación:
Pregunta 1 (75 puntos): se le da un número entero N (1<=N<=10^18) el número de Nodes en un árbol binario completo donde el Node i tenía 2*i y 2*i+1 como sus hijos y 1 como Node raíz, tenía que responder consultas Q (1<=Q<=10^5). Cada consulta tenía un número entero k, tenía que devolver el número de Nodes hoja en el subárbol k del árbol binario.
Muestra de entrada-
5 2
1
2
Salida de muestra: 3 2
Pregunta 2 (100 puntos): Dada una array de N elementos y un número entero K, encuentre el número máximo de elementos en cualquier subconjunto de la array tal que el promedio de los elementos sea menor que K. ( Sugerencia: esta es una aplicación de búsqueda binaria y sumas de arrays de prefijos)
Pregunta 3 (100 puntos): Dada una array no decreciente de N elementos (1<=N<=10^5), elimine K elementos de ella (1<=K<=N-2) de modo que el máximo de la diferencia entre los elementos consecutivos es mínima. ( Sugerencia: puede observar que la respuesta será óptima solo si eliminamos elementos de la izquierda o de la derecha pero no del medio, es decir, debe encontrar el mínimo del máximo de diferencias consecutivas de los elementos en ventanas de longitud NK , esta es una aplicación de imprimir el máximo en una ventana de tamaño M en una array).
Alrededor de 14 estudiantes fueron preseleccionados para la siguiente ronda. Aquellos que respondieron al menos 2 preguntas de codificación fueron preseleccionados.
Ronda 2: Entrevista de codificación personal 1
En esta entrevista se hicieron muchas preguntas sobre programación. Pocos eran: escribir pseudocódigo para verificar si un vector dado de strings está ordenado o no, diccionario alienígena, clasificación topológica, eliminar Node de una lista de doble enlace en O (1) complejidad de tiempo esperada, encontrar el rectángulo de suma máxima en una array 2D (una aplicación del algoritmo de Kadanes al rectángulo 2D) se pidieron soluciones ingenuas (O (n ^ 2 m ^ 2)) y optimizadas (O (n ^ 2 m)). No pude obtener la solución óptima en ese momento. También se hicieron algunas preguntas más relacionadas con estructuras de datos como el mapa desordenado, el mapa ordenado y sus complejidades.
6 estudiantes fueron seleccionados para la siguiente ronda.
Ronda 3: Entrevista de codificación personal 2
En esta ronda, las preguntas relacionadas con las rotaciones de árboles AVL, las complejidades de tiempo para las actualizaciones en el árbol de segmentos binarios y el árbol de segmentos de grado K, los árboles B de grado K (árboles de búsqueda equilibrados), la impresión de las permutaciones de un vector con elementos distintos y luego con Se pidieron duplicados. También me pidieron que codificara la ordenación rápida, su peor y mejor complejidad, y por qué no se puede resolver en menos de O (nlogn).
Ronda 4: La ronda de recursos humanos
Esta ronda tuvo una discusión normal sobre mis proyectos, los desafíos que enfrenté, mis pasatiempos y mis objetivos profesionales, etc.
Los entrevistadores fueron muy amables y comprensivos. El tiempo otorgado para resolver las preguntas en las rondas de codificación fue estricto. Los estudiantes con experiencia en programación competitiva tenían una ventaja allí. Un fuerte dominio de las estructuras de datos y los algoritmos te ayudará mucho. La mayoría de las preguntas de codificación involucraron una aplicación indirecta de preguntas populares de entrevistas, por lo que un poco de práctica y un enfoque claro para esos problemas pueden ayudarlo mucho.
Sólo uno fue finalmente seleccionado para la pasantía. Ahora te toca a ti probar esta entrevista y llegar a la final.
Recuerda, ¡tú eres tu propio dios!
¡Mis mejores deseos!
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