Ronda 1: prueba de codificación en línea : 90 minutos (HackerEarth)
Tenía 2 preguntas de codificación y 20 MCQ.
- Variación de mochila (puede elegir un artículo cualquier número de veces) GeeksforGeeks Link
- Dada una array 2D que consta de 0, 1 y 2. 1 denota una manzana fresca, 2 denota una manzana podrida y 0 denota la ausencia de una manzana en esa posición.
Cada manzana podrida tarda 1 día en hacer que sus vecinas (8, dada una manzana fresca, ya está allí) también se pudran. Calcula el número de días en que todas las manzanas estarán podridas. Si no, imprima el número de manzanas que nunca se pudrirán.
Los MCQ incluyeron algunas preguntas basadas en resultados en C (5), complejidad de tiempo (2), estructuras de datos (10), OS (2), preguntas de resultados basadas en Java (1), etc.
Ronda 2 (F2F1)
El entrevistador estaba muy relajado y me pidió que me presentara, luego me pidió que explicara alguno de mis proyectos. Luego me hizo dos preguntas:
- Dado un árbol binario especial, encuentre la altura del árbol.
Especialidad: cada hoja está conectada a la hoja siguiente (de izquierda a derecha) en forma circular de lista doblemente enlazada.
Moda. Digamos que las 2 hojas consecutivas son A y B, entonces, A->derecha = B y B->izquierda = A. La izquierda de la hoja más a la izquierda apunta a la hoja más a la derecha y la hoja más a la derecha apunta a la hoja más a la izquierda.
Complejidad de tiempo esperada = O(n), complejidad de espacio = O(1).
Enlace GeeksforGeeks - Voltee el máximo de k bits para encontrar el número máximo de 1 consecutivos en una array binaria .
Complejidad de tiempo esperada = O(n), complejidad de espacio = O(1).
Ronda 2 (F2F2)
Comenzó con una descripción de mis proyectos y luego me hizo varias preguntas, principalmente:
- Siguiente permutación de una string dada (puede contener duplicados). (Escriba el código completo, incluido el intercambio, el reverso, etc.).
Enlace GeeksforGeeks - Encuentra el espejo de un árbol en el que cada Node puede tener cualquier número de hijos. (Escribe el código completo)
Enlace GeeksforGeeks - Recorrido del orden de los límites.
Enlace GeeksforGeeks - Compruebe si los 2 Nodes dados son primos o no.
Enlace GeeksforGeeks - Compruebe si un árbol dado es un árbol de suma o no. (El valor de cualquier Node = suma de todos sus valores secundarios).
Enlace GeeksforGeeks
Ronda 3 (F2F3)
Ella comenzó con una descripción de mis proyectos y luego me hizo varias preguntas, principalmente:
- Diferencia entre recursión e iteración (discusión un poco larga).
- Diferencia entre array, lista enlazada y árboles.
Enlace GeeksforGeeks - Discusión sobre todos los algoritmos de clasificación O(n logn).
- Ordene una array que consta de 0, 1 y 2 solo en una pasada.
Enlace GeeksforGeeks - Dadas 2 arrays que denotan los elementos que se insertarán en dos árboles de búsqueda binarios separados. Averigüe si los dos
árboles de búsqueda binarios serán iguales o no, sin construir realmente el árbol.
Enlace GeeksforGeeksEg: 2 3 1 2 1 3 Ans = Yes. Eg. 1 2 3 3 2 1 Ans = No.
- Formas normales en DBMS.
- Diferencia entre hilos y procesos. Además, entre subprocesos múltiples y procesamiento múltiple.
- Devuelve un Node aleatorio de un árbol de búsqueda binaria dado y también encuentra el k-ésimo valor más pequeño en el árbol (puede cambiar la estructura)
GeeksforGeeks Link - Recorrido de orden espiral en una array cuadrada.
Enlace GeeksforGeeks - Encuentre un elemento en una array ordenada y rotada. Complejidad de tiempo esperada = O (log n).
Enlace GeeksforGeeks
Ronda 4 (Telefónica + pantalla compartida)
También comenzó con una descripción de mis proyectos. Luego solo hizo una pregunta.
- Dada una array, encuentre el número de inversiones en la array. Enlace GeeksforGeeks
La calidad de la llamada y la conexión a Internet eran malas. No pude explicar mi solución (recursiva) en la llamada telefónica.
Luego escribí el código en la pantalla compartida. Me pidió que lo ejecutara en seco en un caso. Justo cuando estaba a punto de ejecutar la ejecución en seco, encontré un error 502 Bad Gateway. Sin embargo, aún podía ver mi código y me hizo preguntas sobre algunas de las cosas
en mi código, como el uso de «y» en lugar de «&&» y la declaración de array como int temp[n] y no usar malloc
(Específicamente: por qué malloc, si puede declarar una array como esta?). Más tarde, no pude escucharlo bien, así que decidió terminar la entrevista aquí mismo.
Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo usando contribuya.geeksforgeeks.org o envíe su artículo por correo a contribuya@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
Problemas de práctica relacionados
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