Ronda 1: esta fue una prueba en línea, con 25 MCQ y 1 problema de codificación. Límite de tiempo: 1:30 h
Los MCQ se basaron en permutación y combinación, expresiones regulares, conceptos básicos de Oops, DBMS, OS y algoritmos. El problema de codificación solicitado fue una variación del siguiente problema:
https://www.geeksforgeeks.org/next-smaller-element/
Después de esta ronda, 20 estudiantes fueron preseleccionados para entrevistas.
Ronda 2: Ronda técnica 1. Límite de tiempo: 1-1:30 hr aprox.
Comenzó con una introducción y luego me preguntó un problema de algoritmo.
Tiene una array de strings, y podemos conectar dos strings, si la última letra de una string es la misma que la primera letra de otra string. Por ejemplo, ABC CDE se puede conectar para hacer ABC-CDE. Ahora, tienes que averiguar si se puede hacer un ciclo uniendo las cuerdas de esta manera.
Entrada de ejemplo: array=[“ABC”, “CDE”, “EFA”]
Salida : Sí
Entrada de ejemplo: array=[“ABC”, “CDE”, “EFG”]
Salida : Sí
Le dije que podemos simplemente hacer un gráfico, conectando todos los pares posibles de strings, y luego solo necesitamos usar cualquier algoritmo estándar para la detección de ciclos. Luego me pidió que escribiera el código para la detección de ciclos en el gráfico. Agradeció la rápida respuesta y quedó satisfecho con mi código. Luego me preguntaron el siguiente problema de DP,
Hay n piedras, en línea, a lo largo de un río. Pisar las piedras puede ser arriesgado, ya que es probable que se hundan una vez que las pisas. Entonces, se le da una array de tamaño n, donde el elemento i-ésimo denota la probabilidad de no hundirse cuando pisa esa piedra. Además, estas piedras no están a la misma distancia, por lo que se le proporciona otra array, donde el elemento i-ésimo representa la diferencia entre (i+1) y la piedra i-ésima. Si puede dar un salto de a lo sumo l, encuentre la máxima probabilidad de cruzar el río.
Le dije que este es un problema de DP y que se puede pensar como una variación del problema LIS estándar. Estaba satisfecho con el enfoque. Luego hizo preguntas sobre mis proyectos, estos no fueron muy profundos.
14 de 20 llegaron a la siguiente ronda.
Ronda 3: Ronda técnica 2. Límite de tiempo: 45-60 minutos
Me hicieron la siguiente pregunta de algoritmo.
Dada una array de enteros, elimine todos los subconjuntos, que suman cero e imprima los elementos restantes. Si hay múltiples soluciones posibles, imprima cualquiera.
Entrada de ejemplo: [1, 2, -4, 4, 2, 0, -3, 5]
Salida de ejemplo: [2, 5]
Le dije que podemos sumar la array original y dejar que la suma sea S. Ahora, el subconjunto más pequeño de la array dada con suma igual a S, definitivamente será una solución. Y esto se puede resolver usando el enfoque estándar de dp, para encontrar un subconjunto de la suma dada en una array. Estaba satisfecha con el enfoque y no me pidió que codificara.
Luego me preguntó los conceptos básicos de Oops, OS (interbloqueo, programación, memoria virtual), DBMS (normalización, 1nf) y algunos conceptos básicos de arquitectura informática.
Luego me pidió que diseñara un sistema para la aplicación Uber, le mostré los diagramas de emergencia y quedó satisfecha con él. Luego me hicieron preguntas relacionadas con mis proyectos.
8 de 14 llegaron a la siguiente ronda.
Ronda 4: Ronda técnica 3. Límite de tiempo: 30-45 minutos
Me hicieron las siguientes preguntas sobre el árbol,
https://www.geeksforgeeks.org/print-k-sum-paths-binary-tree/
Le dije que podemos resolverlo con un enfoque de retroceso estándar. Me pidió que escribiera el código completo, que pude escribir. Me preguntó otro problema de algoritmo,
Se le da una array, con todas las filas y columnas ordenadas. Imprime los índices (fila, columna) para cada ocurrencia de un número dado.
Le dije que, en el peor de los casos, solo sería O(n*n), pero si solo quiere que evite las comparaciones innecesarias, eso se puede lograr usando declaraciones de interrupción y modificando el rango de la columna. Estaba satisfecho con el enfoque y me pidió que lo codificara.
Luego me pidieron el siguiente rompecabezas,
https://www.geeksforgeeks.org/puzzle-9-find-the-fastest-3-horses/
Conocía la solución y la respondí directamente.
Luego me pidió otro rompecabezas, https://www.geeksforgeeks.org/puzzle-20-5-pirates-and-100-gold-coins/
No conocía el acertijo, me tomé dos o tres minutos y le dije mi enfoque y 97 1 1 1 0 era mi distribución. Dijo, puedes optimizarlo un poco más, y descubrí la respuesta 98. Me apreció por la forma en que abordé este problema.
Ronda 5: Ronda de recursos humanos. Límite de tiempo: 10-15 minutos
Me preguntó cómo fue la experiencia de la entrevista, si le gustó el proceso y algunas cosas generales sobre las actividades extracurriculares mencionadas en mi currículum.
3 de nosotros, incluyéndome a mí, recibimos la oferta de colocación.
¡Gracias frikisforgeeks!
Publicación traducida automáticamente
Artículo escrito por sharmasuri33 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA