Prueba de codificación en línea: la prueba consistió en 28 MCQ centrados principalmente en salidas C/C++, estructuras de datos, conceptos OOPS.
También se hicieron dos preguntas de codificación:
- Dada una ecuación de la forma X + Y =Z donde falta uno de X, Y, Z, encuentre el valor de la variable faltante.
- Count Derangement (Permutación tal que ningún elemento aparece en su posición original)
Después de aprobar la prueba de codificación, tuve entrevistas virtuales.
Primera Ronda: Fue una ronda de codificación. Se hicieron tres preguntas de codificación.
- Encuentre la cantidad de fallas de página dado el tamaño de caché ‘n’ y el algoritmo de reemplazo de página es LRU.
Resolví esto usando una cola de dos extremos en python. El entrevistador quedó convencido por este enfoque.
2. Dado un número muy grande ‘n’. Encuentre el número de k dígitos con la segunda frecuencia más alta.
Ex:
n=12341234567856785678 k=4 Output:1234
3. Dadas varias franjas horarias, encuentre el número mínimo de bloques necesarios para programar las entregas.
Ex:
Time slots: [1,3], [2,4], [16,20] Output: 2
Esta es una variación del problema de los intervalos de fusión. El entrevistador me pidió que lo hiciera en tiempo O(n).
Segunda Ronda: Esta también fue una ronda de codificación. Se hicieron dos preguntas de codificación.
- Dado un diccionario donde los valores son las conexiones de la clave. Averigüe si una persona A puede enviar una solicitud de conexión a la persona B. Una persona solo puede enviar una solicitud de conexión si el número de conexiones entre las dos personas es como máximo ‘k’.
Input: {1:[2,3,4], 4:[5,6],6:[7,8]} k=1 A=1 B=8 Output: NO
Inicialmente, decidí usar el enfoque DFS, pero el entrevistador señaló que no tengo que calcular la ruta, solo la cantidad de Nodes. Así que apliqué BFS y seguí el nivel. Si el nivel excedía k antes de encontrar el Node, imprimía No más Sí.
2. Encuentra el número de maneras de subir ‘n’ escaleras.
Tercera Ronda: Esta ronda también fue una ronda técnica. Se hizo una pregunta de codificación y múltiples preguntas basadas en conceptos.
- Dado un número ‘n’, construya todos los posibles árboles binarios estructuralmente diferentes (no BST)
Otras preguntas que se hicieron fueron:
- Diferencia entre semáforo y mutex
- Discusión de condiciones de punto muerto, prevención de punto muerto y recuperación
- Normalización
- Convertir una tabla dada a 2NF luego 3NF y BCNF.
Cuarta Ronda (Bar Raiser): Esta ronda fue una mezcla de preguntas técnicas y de comportamiento.
Comenzó con una discusión sobre mi proyecto de pasantía. Luego se hicieron las siguientes preguntas.
- Hábleme de un momento en que aprendió algo por su cuenta. ¿Por qué lo aprendiste?
- Hábleme de un momento en que tuvo un conflicto con sus compañeros de equipo y cómo lo manejó.
- Hábleme de un momento en que se quedó atascado en algo. ¿Cómo lo manejaste?
Se hicieron algunas otras preguntas sobre el trabajo en equipo.
Una pregunta de codificación:
- Dada una lista de dependencias de un módulo, imprima el orden de construcción de ese módulo.
Input: A-> B,C,D | B-> C,F | C->E Print build order of A Output: E C F D B A (Multiple correct answers were possible)
Discutí el enfoque DFS y me pidieron que lo codificara. El entrevistador quedó satisfecho con mi enfoque.
Después de esperar dos semanas, obtuve mis resultados. Me ofrecieron una pasantía FTE + 6 meses.
Nota: Al abordar las preguntas de codificación, piense en voz alta. Discuta su enfoque con el entrevistador primero y tenga en cuenta las sugerencias proporcionadas. Piense en la complejidad de tiempo y espacio de su código y discútalo con su entrevistador. Lo que es más importante, mantén la calma y la compostura durante la entrevista, ya que te ayudaría mucho. 🙂
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