Fondo:
Fecha: 6 – 9 de julio de 2021
Modalidad: Presencial, totalmente Virtual (a través de MS Teams)
Ronda 1 (Ronda de codificación en línea) – 60 minutos + 14 minutos:
Esta fue una unidad virtual el 6 de julio. La primera ronda fue la ronda aptitude+codificación. La aptitud incluye relaciones consanguíneas, direcciones, codificación-descodificación, series de números, pasaje y cuantos básicos. Esta fue una ronda fácil de 14 preguntas.
Posteriormente hubo una ronda de codificación de 1 hora. Consistían en preguntas fáciles.
1. Imprimir un patrón:
Aporte
N=4
Producción:
1
2*3
4*5*6
7*8*9*10
7*8*9*10
4*5*6
2*3
1
2. Dada una array de tamaño N y una variable k. Debe ordenar la array de tal manera que los primeros k elementos se ordenen de manera creciente y los últimos k se ordenen en orden decreciente.
Aporte:
array=[2,5,6,4,1,3,9,8]
k=4
Producción:
llegada[2,4,5,6,9,8,3,1]
Pude resolver ambas preguntas. Todos los estudiantes que pudieron resolver ambas preguntas de codificación fueron preseleccionados. Había 59 preseleccionados para las entrevistas.
Ronda 2 (Entrevista técnica -1) – 30 minutos:
La entrevista comenzó con ¿Háblame de ti? Tuvimos una breve discusión sobre nuestro proyecto. Hice un proyecto de asistencia para ciegos en AI/ML usando la detección de objetos, tuve algunas discusiones sobre los cálculos de distancia. Más tarde, se pasó a las estructuras de datos. Me preguntó cómo eliminar un Node en una lista enlazada. Indiqué el enfoque de 2 punteros. Me preguntó si tenía la Lista Doblemente Vinculada entonces.
Respondí que un solo puntero es suficiente. Luego procedió con la pregunta Inversión de una lista enlazada. Indiqué el enfoque iterativo. Me dijo que lo optimizara. Indiqué la versión recursiva de la misma. Luego preguntó cómo implementar una pila con colas. Escribí el código para esto. Más tarde, preguntó sobre la Normalización (Todas las formas con ejemplos). Luego preguntó sobre la desnormalización, la integridad referencial, las claves externas, los comandos ON DELETE CASCADE. Al final, optó por OOP con todos los conceptos, me preguntó sobre el problema del diamante, la herencia múltiple en Java, las interfaces.
Podría responderlas y pasar a la siguiente ronda.
Ronda 3 (Entrevista técnica -2) – 60 minutos:
Me preguntaron sobre todos los conceptos de programación orientada a objetos. Más tarde, dijo compartir la pantalla y escribir todos los conceptos de OOP usando códigos. Escribí códigos sobre Abstracción, Herencia, Encapsulación, expliqué Polimorfismo verbalmente.
Luego preguntó sobre las bases de datos y me pidió que escribiera una consulta SQL usando las cláusulas INNER JOIN, COUNT, GROUP BY. Era unir dos tablas para encontrar Empleados que están trabajando en qué departamento junto con su conteo. Algunos empleados no tienen un departamento. Entonces, también tenía que encontrar el conteo de la categoría Nulo.
Más tarde me dio 2 preguntas de codificación:
1. Invertir una string sin ninguna función incorporada
2. Encuentre el elemento central de una lista enlazada en una sola pasada.
Podría responderlas correctamente y pasar a la siguiente ronda.
Ronda 4 (Entrevista técnica + HR-2) – 30 minutos:
Me preguntaron sobre mis pasiones, fortalezas, debilidades, inspiraciones. Me preguntó sobre mis prácticas. Estaba en una zona muy agresiva. Estaba un poco nervioso en esta ronda. Yo sugeriría tener confianza. Me hizo una pregunta de que trabajamos en AI/ML solo el 1%. Tienes experiencia con IA/ML. ¿Por qué quieres unirte a eQ? Al final, me dio una pregunta de codificación para resolver en menos de 45 minutos y enviar el código por correo electrónico. la pregunta era:
Escriba un programa en Java/C/C++ para generar el calendario de un mes. El método para imprimir el calendario se llamará PrintMonth(mes, año)
Los parámetros pasados son:
mnth – Número de mes – Numérico: 1 para enero, 2 para febrero, etc., terminando en 12 para diciembre. Todos los demás valores no son válidos.
yr – Año – numérico: año de 4 dígitos. Los valores válidos son de 1980 a 2480.
El resultado se muestra a continuación para PrintMonth (7, 2020):
julio 2020
+—–+—–+—–+—–+—–+—–+—–+
| lun | mar | miércoles | jue | Vie | sábado | sol |
+—–+—–+—–+—–+—–+—–+—–+
| | |1 | 2 | 3 | 4 | 5 |
+—–+—–+—–+—–+—–+—–+—–+
|6 |7 |8 |9 |10 |11 |12 |
+—–+—–+—–+—–+—–+—–+—–+
|13 |14 |15 |16 |17 |18 |19 |
+—–+—–+—–+—–+—–+—–+—–+
|20 |21 |22 |23 |24 |25 |26 |
+—–+—–+—–+—–+—–+—–+—–+
|27 |28 |29 |30 |31 | | |
+—–+—–+—–+—–+—–+—–+—–+
Por favor, no escriba código monolítico. Dividir el código en Métodos/funciones/clases constituyentes modulares.
Tenga en cuenta y mantenga las alineaciones. Utilice espacios exactamente como se muestra y no utilice tabuladores (‘\t’).
Suponga que tiene el siguiente método en su clase y puede llamarlo. El método se llama:
MonthStartsOn(monthNum, yr)
Donde monthNum acepta los parámetros 0 para enero, 1 para febrero, etc. hasta 11 para diciembre,
yr es el año que pasó arriba.
El método devuelve números del 0 al 6. Devuelve 0 para el lunes, 1 para el martes, etc. y 6 para el domingo. Devuelve -1 para cualquier valor de los parámetros <0 y >11
Aunque la pregunta parece ser muy fácil, hice un par de problemas en el código debido al nerviosismo. Hice lo mejor que pude para mantener la calma, pero creo que en la prisa cometí algunos errores realmente tontos que no me permitieron despejar esta ronda.
El código que escribí después de que salió el resultado y después de resolver todos los errores fue:
C++
#include <bits/stdc++.h> using namespace std; int total_days(int monthNum, int year) { if (monthNum == 0 || monthNum == 2 || monthNum == 4 || monthNum == 6 || monthNum == 7 || monthNum == 9 || monthNum == 11) { return 31; } else if (monthNum == 3 || monthNum == 5 || monthNum == 8 || monthNum == 10) { return 30; } else if (monthNum == 1) { if (year % 400 == 0 || (year % 4 == 0 && year % 100 != 0)) { return 29; } else { return 28; } } } string MonthName(int num_Month) { string months[] = { "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" }; string result = months[num_Month - 1]; return result; } // Just a call is needed for this function : // MonthStartsOn(monthNum-1, yr); You can test by replacing // int present=MonthStartsOn(monthNum-1, yr); // with // int present=2; void PrintMonth(int monthNum, int yr) { int date = 1; int present = MonthStartsOn(monthNum - 1, yr); int max_days = total_days(monthNum - 1, yr); cout << MonthName(monthNum) << " " << yr << endl; cout << "+-----+-----+-----+-----+-----+-----+-----+" << endl; cout << "| Mon | Tue | Wed | Thu | Fri | Sat | Sun |" << endl; cout << "+-----+-----+-----+-----+-----+-----+-----+" << endl; for (int i = 0; i < 5; i++) { cout << "|"; for (int j = 0; j <= 6; j++) { if (j < present && i == 0) { cout << " |"; } else if (i >= 0 && date <= 9) { cout << " " << date << " |"; date++; } else if (i > 0 && date > 9 && date <= max_days) { cout << " " << date << " |"; date++; } else if (date > max_days) { cout << " |"; } } cout << endl << "+-----+-----+-----+-----+-----+-----+-----+" << endl; } } int main() { int year; cout << "Enter Year" << endl; cin >> year; int month; cout << "Enter Month" << endl; cin >> month; PrintMonth(month, year); return 0; }
Sugeriría pasar por todas las experiencias de la Entrevista y prepararse en consecuencia. Sugeriría estar tranquilo, sereno y estable en sus entrevistas. El código es fácil. Puede usar clases, funciones, para hacerlo más modular. Por último, mantente confiado. Podrás lograrlo. ¡¡¡Creo en ti!!! ¡¡Les deseo a todos lo mejor!!
Un total de 13 estudiantes fueron seleccionados después de esta ronda final.
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