Criterios:
- Sucursales permitidas CS/IT
- Hasta el 4to semestre: GPA>=8.5
Aquí se preseleccionaron alrededor de 45 personas.
Ronda 1: esta fue una ronda en línea realizada en AMCAT. Consta de 3 secciones.
Sección 1: Tiene 14 preguntas de razonamiento lógico que fueron muy fáciles. No hay necesidad de demasiada práctica para resolver estas preguntas. Hay un temporizador para cada sección. Esta sección tiene 15 minutos.
Sección 2: Consta de 16 preguntas Cuantitativas no demasiado difíciles, para ser resueltas en 20 minutos.
Sección 3: Era de programación. Todo el mundo tiene conjuntos diferentes. Había dos preguntas de programación que necesitaban ser resueltas en 1 hora.
Los casos de esquina deben manejarse con cuidado en esta pregunta.
step1: find a substring of str1 of length 2 and reverse the substring, and str1 becomes str1' (str1' != str1) step2: find a substring of str1' of length 3, and reverse the substring, and str1' becomes str1'' (str1'' != str1') step3: find a substring of str1' of length 4, and reverse the substring, and str1' becomes str1'' (str1'' != str1')
Los siguientes pasos son similares.
La longitud de la string está en el rango [2, 30]
Requisito: Cada paso debe realizarse una vez, y no podemos saltarnos los pasos anteriores y realizar el paso siguiente. Si es posible cambiar str1 a str2, genere los pasos mínimos requeridos; de lo contrario, genere -1.
Dado que las restricciones eran muy menores en este problema, lo resolví usando recursividad simple.
Pude resolver ambos problemas por completo. Los estudiantes que pudieron resolver las dos primeras secciones con casi total precisión e hicieron 1 pregunta de codificación fueron preseleccionados para la entrevista.
Después de la ronda Online, 24 personas fueron seleccionadas para entrevistas.
Ronda 2: La entrevista duró más de 1 hora. Primero, me pidió que me hablara de mí además de lo mencionado en mi currículum.
Había mencionado dos proyectos sobre ML en mi currículum, el entrevistador pareció impresionado y me pidió que se los explicara brevemente. No se hacen preguntas de seguimiento. Luego saltó directamente a las preguntas de codificación:
- Dado un árbol binario, imprima Nodes alternos en cada nivel del árbol.
Formato de salida:
The first node at each level must be printed always. Each level should begin with a new line.
Discutí mi enfoque para realizar el recorrido de orden de nivel de un árbol usando la cola y mantener una variable para indicar el siguiente nivel y una variable de bandera (que sigue negándose después de cada iteración) para imprimir Nodes alternativos.
El entrevistador quedó satisfecho con mi enfoque y me pidió que escribiera el código para el mismo. Me pidió que hiciera un simulacro en algunos casos para verificar el código. - Pseudocódigo para el recorrido de un árbol en orden previo, posterior y en orden.
- Detectar bucle en una lista enlazada. Discutí el enfoque basado en mapas en tiempo y espacio O(n), pero el entrevistador exigió un algoritmo con complejidad espacial O(1). Entonces le dije el algoritmo del ciclo de floyd. Quedó impresionado y me pidió que escribiera el código.
- Como seguimiento a la última pregunta, también me pidió que eliminara el bucle de LL (se solicitó el único enfoque, no se requiere código)
- Dado un arreglo de enteros positivos, diseñe un algoritmo para imprimir el índice inicial y final del subarreglo con la suma k(k se da como entrada).
Solución esperada: O(n) tiempo Se pidió el código - Me pidió que explicara rápidamente las propiedades de los ácidos.
En general, el entrevistador estuvo abierto a las discusiones y brindó sugerencias cuando fue necesario. Esta fue la última ronda y después de que se anunciaran los resultados, se seleccionaron 6 candidatos para la pasantía, y yo era uno de ellos.
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