Prueba en línea: 9 de septiembre de 2020
Entrevista: 10 de septiembre de 2020
Prueba escrita: En primer lugar, 230 estudiantes fueron seleccionados por Procol, Gurugram de un grupo de más de 600 estudiantes elegibles en base a su currículum.
La prueba en línea consta de 2 secciones:
21 MCQ: Los MCQ se basaron en conceptos de redes, sistemas operativos, MySQL y oops.
3 preguntas de codificación, preguntas de codificación:
- Concatenar n strings desde el índice donde aparece una vocal.
Ejemplo:
Input Strings: abcde, bcdef, fgkl, dseiou Output String: abcdeefeiou
El enfoque simple de fuerza bruta O(n) funcionó (donde n es la longitud total de todas las strings combinadas). Hice esta pregunta.
- Cambios mínimos requeridos para hacer que todos los números en una array sean primos.
Resolví esta pregunta usando Digit DP. La idea era calcular todos los primos usando un tamiz y luego hacer 2 arrays que definieran la distancia de un número particular desde la izquierda y la derecha de un número primo. Ahora, para cada consulta, simplemente el mínimo de ambas arrays fue nuestra respuesta.
- Dada una array A de N números, debe realizar operaciones B. En cada operación, debe elegir cualquiera de los N elementos y agregar el valor original (valor almacenado en el índice antes de realizar cualquier operación) a su valor actual. Puede elegir cualquiera de los N elementos en cada operación.
Realice operaciones B de tal manera que se minimice el elemento más grande de la array modificada (después de las operaciones B). Devuelve un entero correspondiente al mínimo elemento más grande posible después de K operaciones.
Ejemplo:
Input: A = [1, 2, 3, 4] B = 3 Output: 4
Explicación: Después de la primera operación, la array cambiaría a [2, 2, 3, 4] Después de la segunda operación, la array cambiaría a [3, 2, 3, 4] Después de la tercera operación, la array cambiaría a [4, 2, 3, 4]
A: [8, 6, 4, 2] B: 8 El valor devuelto esperado: 12
No pude resolver este problema por completo y se ejecutaron 2 de 3 casos de prueba.
23 de 230 estudiantes fueron seleccionados para el proceso de Entrevista Virtual el 10 de septiembre.
Entrevista: Hubo 2 rondas de entrevistas y ambas fueron técnicas.
Consejos: tenga una buena conexión a Internet, se prefiere la banda ancha ya que me conecté con mi celular 4G pero la voz del entrevistador se estaba rompiendo y tuvimos que reprogramar la entrevista.
La ronda 1:
- Comenzó con una discusión sobre mis proyectos y prácticas.
- Cómo saber si un número es potencia de 2 o no. Primero le dije al enfoque de fuerza bruta y luego le dije al enfoque de manipulación de bits de x&(x-1) debe ser 0 para ser una potencia de 2.
- ¿Conoces la pila? Dije si.
- Descríbalo y ¿cuáles son las operaciones de pila? Explicado
- ¿Cómo implementar la pila? Expliqué usando el enfoque de lista enlazada.
- ¿Por qué no podemos usar arreglos? Explicación de la naturaleza estática de los arreglos.
- En la discusión adicional sobre la implementación con la lista enlazada, encontramos que la operación emergente sería costosa. Entonces, ¿cómo hacerlo eficiente? Sugerí el método de lista de enlaces inversos, para hacer una pila usando una lista de enlaces inversos. Estaba convencido.
- ¿Conoces Sql? Sí, señor.
- ¿Qué son las uniones? Explique la combinación externa izquierda. Explicado
- ¿Qué es el cambio de contexto? Le expliqué algo, pero estaba seguro de que me equivoqué, así que me dijo que no soy capaz de recordar.
- Dada una array no ordenada, encuentre dos pares tales que la suma de los pares sea k. Primero di un enfoque de fuerza bruta de O (n ^ 2). Luego dijo un mejor enfoque por hashing.
La ronda 2:
- Dada una array binaria ordenada cuyo tamaño podría ser tan grande como 10^14. No sabemos el tamaño de la array y tampoco podemos encontrarla. Encuentre la aparición del primer «1» en la array.
Me topé con esta pregunta porque no podemos encontrar el tamaño o podríamos haber hecho una búsqueda binaria simple. Así que vine con una búsqueda binaria redefinida donde primero podemos verificar cada número 100,000 para ver si es 1 o no. Si es así, entonces estamos seguros de que nuestro primer 1 es este o está en la parte izquierda de la array, así que simplemente haga un búsqueda binaria de este índice a 100.000 índices restantes.
- ¿Podemos optimizarlo?
Después de pensarlo un poco, le dije que en lugar de mantener una brecha de 100,000, podríamos usar una brecha exponencial. Como por ejemplo, sugerí tomar la brecha 2^i que aumenta fácilmente, por lo que podemos alcanzar nuestro primer «1» más rápido. Contabilizándolo con el algoritmo O (logN). Estaba impresionado.
- ¿Qué es la normalización en DB,S? Contestada
- ¿Qué es la memoria caché LRU? ¿Cómo implementarlo? ¿Algún ejemplo de la vida real donde se use LRU? Contestada
- ¿Intercambiar dos números tomando una tercera variable adicional? Sugerí un método usando la manipulación de bits.
x = y ^ x^ (y=x);
Me dijo que lo ejecutara usando algunos casos de prueba que incluían números negativos y se ejecutó con éxito.
Veredicto: Seleccionado
Publicación traducida automáticamente
Artículo escrito por ShivamChauhan5 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA