Infosys es uno de los principales reclutadores del país. Desde hace 2 años, HackWithInfy se ha convertido en una de las principales competencias de codificación realizadas por Infosys. Así que aquí voy a discutir mi experiencia de HackwithInfy 2019. Solicité HackWithInfy a través de la celda de capacitación y colocación de VIT Vellore de mi universidad.
La ronda 1:
Se llevó a cabo el 1 de julio de 2019 en la plataforma de codificación HackerRank. Es simplemente un desafío de codificación en línea individual. Consistía en 3 preguntas de codificación que son diferentes para cada estudiante para ser resueltas en 3 horas. Habrá una verificación de plagio y los puntajes finales dependerán de la cantidad de casos de prueba que su código pase con éxito.
Solo puedo recordar exactamente una de las tres preguntas, palabra por palabra, pero le explicaré la esencia de las otras 2 preguntas.
Pregunta número 1
Dada una array de n elementos y un número m, necesitamos encontrar todos los pares distintos existentes en la array cuya suma de pares sea divisible por el número m dado y luego imprimir el número total de dichos pares. Pares distintos significa que (1, 2) y (2, 1) son lo mismo. Aquí pude pasar la mitad del total de casos y el resto de los casos no pasaron debido a que excedí la restricción de complejidad de tiempo dada.
Pregunta número 2
Una pregunta de manipulación de strings. Me las arreglé para pasar 2 de 13 casos aquí.
Pregunta número 3
Era un problema basado en arrays. Logré pasar 8 de 13 casos de prueba.
En general, si tiene habilidades moderadas de codificación, es bueno para navegar en esta ronda. Después de 2 semanas, estaba entre los 260 estudiantes impares de VIT Vellore y el campus de Chennai que fueron seleccionados para la ronda 2 de HackWithInfy 2019.
La ronda 2:
Se llevó a cabo el 14 de julio de 2019. Fue una ronda de codificación en línea que constaba de 3 preguntas en la plataforma HackerRank con acceso de cámara web para el administrador. Al igual que en la ronda 1, cada estudiante recibió un conjunto diferente de preguntas. Las preguntas eran de dificultad moderada a alta. Logré resolver 2 preguntas por completo y pasar 2 casos de prueba de los casos de prueba disponibles en la tercera pregunta. Las preguntas se enmarcaron de manera inteligente y solo tiene que llegar a la esencia de la pregunta. Así que les daría la esencia de las preguntas.
Pregunta número 1
Given an array of n numbers find the largest difference in the starting and ending indexes of the elements of the all possible strictly decreasing sub-sequences in the array. Input: 21, 13, 18, 10, 7, 3, 1 Output : 4 Here for element 1 the decreasing subsequence can be mapped till 18.It is 18, 10, 7, 3, 1.Similarly, for 3 it can be mapped till 18 which is 18, 10, 7, 3. For 7 it can be mapped till 18 which is 18, 10, 7. For 10 it can be mapped till 18 which is 18, 10. For 18 there is no continuous decreasing subsequence. For 13 it is 21, 13. The largest difference in indexes is at index 2 and index 6 that is 4. This question can be done using Two pointer method. We can keep track of indices of contiguous subsequence just by checking next array element. store the difference in a variable max and check it after each iteration. You just have to find the longest increasing contiguous subsequence from the backside of the array and report the difference in the index of starting and ending elements. Complexity of the algorithm will be O(n). Input: 1, 18, 17, 14, 15, 32, 16 Output: 2
Pregunta número 2
Hay n personas en el grupo. Cada persona lleva camisetas con números escritos en las camisetas. Los números de las camisetas pueden ser únicos o iguales. En tres turnos, 3 personas abandonan la fiesta de una en una. Se te proporcionan las personas que quedan en el grupo después de cada turno. Debe imprimir el número de camiseta de las personas que se fueron de la fiesta en el orden en que se fueron. Utilicé cuatro mapas en total, uno para la array inicial más tres uno para cada array de turnos con el número de camiseta como clave y su frecuencia como valor. Luego comparé el mapa inicial con el primer mapa de turno para encontrar el primer elemento faltante. De manera similar, luego comparé el primer mapa de turno con el segundo mapa de turno para obtener el segundo elemento faltante. Finalmente, comparé el mapa del segundo y tercer turno para obtener el tercer elemento faltante. Finalmente, Imprimí todos los elementos faltantes después de almacenarlos en una variable. Me las arreglé para pasar todos los casos de prueba dados.
Input:- Initial :- 11, 5, 1, 2, 7, 3, 1 After Turn 1 :- 11, 5, 2, 7, 3, 1 After Turn 2:- 5, 2, 7, 3, 1 After turn 3:- 5, 7, 3, 1 Output : 1, 11, 2 We can observe that one of the two 1's is missing after turn 1, similarly, 11 is missing after turn 2 and finally, 2 is missing after turn 3. So the output is 1, 11, 2. Input:- Initial :- 21, 15, 12, 11, 6, 5, 7 After Turn 1 :- 21, 15, 12, 6, 5, 7 After Turn 2:- 15, 12, 6, 5, 7 After turn 3:- 15, 6, 5, 7 Output : 11, 21, 12
Pregunta número 3
No recuerdo exactamente la pregunta, pero estaba basada en números primos. Logré pasar 2 casos de prueba del total de casos de prueba dados.
El resultado se anunció el 31 de julio de 2019 y tuve la suerte de obtener la entrevista previa a la colocación para el rol de programador de energía. En mi universidad, solo 9 fueron llamados para la entrevista de Power Programmer, mientras que 91 fueron llamados para el rol de ingeniero de sistemas.
Ronda 3:
Entrevista Skype
Fue una entrevista por Skype en la que el entrevistador era un programador de energía sentado en la oficina de Infosys. En primer lugar, me pidió que me presentara. Luego me pidió que explicara los conceptos básicos de OOPS, lo cual hice bien. Luego publicó una pregunta de codificación en el cuadro de chat de Skype.
Dado un archivo que consta de miles de millones de caracteres. Lea el archivo y, para cada fragmento de 6 caracteres únicos en el archivo, asigne la string de todos los fragmentos de 6 letras posibles de caracteres únicos a un valor único. Imprime toda la salida.
No sabía manejar archivos, así que traté de resolver la pregunta con el mapa. Sin embargo, mi código no produjo el resultado correcto.
Luego me hizo preguntas sobre el tipo de tecnologías que conozco y sobre mis proyectos.
3 de 6 fueron seleccionados para la ronda de recursos humanos y yo no era uno de ellos. A los 3 seleccionados para la ronda de recursos humanos se les asignó el trabajo.
A partir de entonces, tuve la oportunidad de ocupar el cargo de SES (especialista en ingeniería de sistemas). Compartiré la experiencia de la entrevista SES en la próxima publicación.
Me gustaría agradecer a GeeksforGeeks sin los cuales no podría aprender a codificar en absoluto.
Publicación traducida automáticamente
Artículo escrito por AKASH24497 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA