Accolite visitó nuestro campus para el puesto de Ingeniero de Software.
Día 1:
Ronda 1: Prueba en línea
La prueba consistió en 20 MCQ y la duración de la prueba fue de 30 minutos. La pregunta asignó conceptos de estructuras de datos, algoritmos, sistema operativo, redes, DBMS, preguntas cuantitativas y de salida de C++.
Esquema de calificación: +1 para correcto, -0.25 para incorrecto
Número de estudiantes que dieron la prueba: 106
Preseleccionados: 39
Consejos: Mantenga los conceptos básicos de los fundamentos de CS (estructuras de datos, algoritmos, SO, DBMS, redes) absolutamente claros y tenga una comprensión profunda de ellos . Solo intenta si estás seguro de la respuesta.
Día 2:
Ronda 1: Prueba de codificación escrita (lápiz y papel) (1 hora)
Se deben codificar 2 preguntas. El código completo debía ser escrito.
1. Intercambio de Nibbles: dado un número decimal representado como un byte (8 bits), intercambie los 4 bits más a la izquierda (nibble) con los 4 bits más a la derecha.
Por ejemplo, 100 (01100100)
Salida: 70 (01000110)
2. Beneficio máximo comprando y compartiendo una acción como máximo dos veces
En una negociación diaria de acciones, un comprador compra acciones por la mañana y las vende el mismo día. Si el comerciante puede realizar como máximo 2 transacciones en un día, donde la segunda transacción solo puede comenzar después de que se complete la primera (vender->comprar->vender->comprar). Dados los precios de las acciones a lo largo del día, averigüe la ganancia máxima que podría haber obtenido un operador de acciones.
Por ejemplo, precio[] = {10, 22, 5, 75, 65, 80}
Salida: 87
precio[] = {90, 80, 70, 60, 50}
Salida: 0
Número de estudiantes que dieron la prueba: 39
Preseleccionados: 9
Consejos: Resuelva todas las preguntas con código optimizado pasando todos los casos de prueba. Esto da una primera impresión positiva. Al menos 1 problema está relacionado con la programación dinámica. Resolver ese problema usando el enfoque DP es una ventaja.
Ronda 2: Ronda técnica 1 (2 horas)
Una pequeña discusión sobre uno de los proyectos enumerados en mi currículum
1. Dado un BST y un rango (mínimo-máximo), elimine todos los Nodes del árbol que no satisfagan el rango dado mantenimiento de la propiedad BST.
Dé el enfoque O(n) y codifique la solución.
2. Dada una array de gran número de enteros positivos donde se desconoce el rango, cualquier elemento puede repetirse cualquier número de veces. Encuentra el elemento que se repite el máximo de veces. Si no existe tal elemento o múltiples elementos máximos, repita el retorno -1.
Proporcione un enfoque en el lugar (sin hashmap o array de conteo auxiliar) y codifique la solución.
3. Dada una serie de números, encuentre el número de pares.
Por ejemplo, {1,2}
Salida: 2 [{1,2}, {(1,2)}]
Por ejemplo, {1,2,3}
Salida: 4 [{1,2,3}, {(1,2),3}, {(1,3),2}, {(2,3),1}]
Un número no puede estar presente en 2 pares . Si un número no se puede emparejar, se deja como está.
4. Dada una array, encuentre el segundo número más grande.
Proporcione la complejidad del tiempo O(n) y el enfoque del espacio auxiliar O(1).
5. Enfoque algorítmico
Hay cinco casillas numeradas del 1 al 5. Hay un gato. Todas las noches, el gato puede moverse de una caja a otra, pero usted está dormido durante la noche, por lo que no sabe en qué caja está el gato. Por la mañana, debe decir en qué caja está el gato.
Solo el enfoque para resolver el se esperaba el problema.
6. Cómo construir un árbol AVL a partir de una entrada de elementos.
Cualquier pregunta de mi parte. Hice 2-3 preguntas.
Después de esta ronda, 7 fueron preseleccionados para la siguiente ronda.
Ronda 3: Ronda técnica 2 (1,5 horas)
1. Si tuviera que mantener la propiedad de equilibrio del árbol AVL que se mantiene usando la rotación izquierda y derecha, ¿cómo implementaría lo mismo sin usar la rotación?
2. Dada una string de entrada, por ejemplo, aaaacacacaac y un patrón (a*c) donde * significa cualquier número de caracteres, imprime todos esos patrones en la string dada en O(n) tiempo.
3. Explicar los conceptos de Programación Orientada a Objetos (herencia, polimorfismo, abstracción, encapsulación, enlace de datos, anulación, sobrecarga) utilizando un ejemplo con código de clase.
4. Se proporciona una gran cantidad de alfabetos en mayúsculas y minúsculas. Encuentre e imprima todas las palabras válidas posibles en inglés.
5. Identificar si un árbol binario dado es un árbol de búsqueda binaria o no.https://www.geeksforgeeks.org/a-program-to-check-if-a-binary-tree-is-bst-or-not/
Cualquier pregunta de mi parte. Hice 2-3 preguntas.
Después de esta ronda, 5 fueron seleccionados para la siguiente ronda.
Ronda-4: Ronda Técnica-3 (1.5 hrs)
Tomaron esta ronda para otros 4 candidatos. Me llamaron directamente para el HR después de la segunda ronda técnica.
Después de esta ronda, se seleccionó 1 de 4 para RRHH.
Ronda 5: RR.HH. (10-15 min)
Para la entrevista de RR.HH. solo se seleccionaron 2, yo y el que fue seleccionado después de la ronda técnica 3.
1. ¿Cómo estuvo tu día?
2. Cuéntame sobre ti…
3. Antecedentes familiares …
4. Por qué no quieres ir a la EM…
5. Qué sabes de Accolite…
El HR dijo que había sido seleccionado y me felicitó con un apretón de manos. Este fue el único momento que estaba esperando desde que me admitieron en VJTI :).
Cualquier pregunta de mi parte. Nuevamente hice 2-3 preguntas como cultura laboral, jerarquía, capacitación, etc.
Mi amigo y yo (el otro tipo de TI) logramos el proceso de la entrevista y recibimos la oferta.
Este artículo es una contribución de AshishKumar Malik . 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.
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