Commvault visitó nuestro campus por el perfil de Ingeniero de Desarrollo de Software (Prácticas + Tiempo Completo). También tenían el perfil SDET, pero solicité SDE solamente. Todo el proceso fue en tres rondas diferentes, como se describe a continuación:
La noche anterior a la primera ronda, nos hicieron seleccionar el idioma de nuestra elección: teníamos que elegir entre C++ o Java para el perfil SDE. El idioma seleccionado se usaría para juzgarnos en esta y las siguientes rondas y no se permitió cambiar el idioma después de esta etapa. Elegí C++.
Ronda 1: esta ronda se llevó a cabo en la plataforma geeekd y fue la ronda de selección principal. Constaba de dos tramos.
Sección 1: Consistió en 15 MCQ en el idioma elegido. Para C++, se hicieron preguntas basadas en predicción de salida, conceptos orientados a objetos, punteros, sobrecarga de operadores, operador de resolución de alcance y manejo de archivos de datos. Estos MCQ debían ser respondidos en 25 minutos.
Sección 2: Fue una ronda de codificación y tuvimos que codificar en el idioma elegido anteriormente. Se nos permitió usar STL original, según los estándares C++03. Esta ronda constaba de tres preguntas de programación a resolver en 40 minutos.
Las preguntas de programación no eran exactamente, pero algo así como:
- El problema de la subcuerda palindrómica más larga
- Suma de los máximos para cada tamaño de ventana en una array
- Problema de la casa de pintura
Resolví todos los problemas correctamente.
El resultado de esta ronda se declaró después de 3 días y me clasifiqué para la siguiente ronda que se suponía que tendría lugar después de dos días.
Ronda 2: esta ronda fue la más emocionante y desafiante de todas, ya que involucró tanto el diseño como el conocimiento de DSA. Se nos pidió que diseñáramos un sistema de archivos en el mismo idioma que habíamos elegido anteriormente. Algunas de las operaciones que tuvimos que realizar en nuestro sistema de archivos fueron:
- crear un archivo
- Eliminar un archivo
- Copie un archivo a la ruta dada
- Mover un archivo a la ruta dada
- Mantener múltiples versiones del mismo archivo
- Revertir a una versión anterior cuando sea necesario
Tuvimos que escribir el código del mismo en sus máquinas virtuales usando Remote Desktop, cuyas credenciales nos fueron proporcionadas un día antes de la ronda.
- También tuvimos una reunión con los altos funcionarios de Commvault la noche anterior a esta ronda, en la que nos dijeron algunos detalles como cuánto durará la ronda, a qué hora comienza la ronda y se despejaron todas nuestras dudas si habíamos ningún. Además, por la mañana, antes de que comenzara la codificación, los funcionarios de la empresa nos explicaron detalladamente la declaración del problema.
- Fue una ronda de 6-7 horas, y nos asignaron mentores que se conectaron con nosotros a través de Zoom y verificaron nuestro progreso en intervalos periódicos y también resolvieron nuestras dudas y consultas. En la primera hora, se esperaba que estuviéramos listos con el diseño de nuestro sistema de archivos y teníamos que llenar las clases provistas con miembros de datos y funciones de miembros que planeábamos usar. El mentor asignado le pidió a cualquiera que no pudiera idear un diseño que se fuera. Además, durante la fase de codificación, si el desempeño de alguien no era satisfactorio, también se les pedía que se fueran. A todos en mi habitación (había varias habitaciones), excepto a mí, se les pidió que se fueran, ya que después de un tiempo, mi mentor se quedó conmigo todo el tiempo. Se esperaba que escribiéramos un código en ejecución, y la salida también debería ser correcta. Si encontramos algún error, nuestros mentores nos ayudaron señalando dónde podría estar el error. Se nos permitió usar C++ 14 en esta ronda, lo que fue un alivio para mí.
- Los mentores fueron muy útiles y motivadores, al igual que los altos funcionarios de la empresa que se dirigieron a nosotros antes de que comenzara la ronda.
- El resultado de esta ronda no se declaró formalmente, pero terminé escribiendo un código que funcionaba perfectamente y mi mentor me dijo que alguien de Recursos Humanos me contactaría pronto, así que asumí que había calificado esta ronda. Dos horas después recibí una llamada de Recursos Humanos para unirme a una reunión de Zoom, donde los panelistas me esperaban para la tercera ronda: la entrevista técnica.
Ronda 3: Esta ronda fue una entrevista técnica y una discusión, en la que pusimos a prueba nuestros conocimientos teóricos y prácticos. Duró alrededor de 75 minutos y me pidieron que resolviera algunos problemas de codificación como:
- Todas las substrings que contienen solo vocales en una string
- Implementación de un caché LFU: con y sin enteros duplicados para claves
Pude resolver ambos problemas mientras sostenía una buena discusión sobre las estructuras de datos utilizadas por mí y varias optimizaciones posibles.
- Los panelistas fueron muy serviciales, comprensivos y bien informados, y hablaron con suma amabilidad. Fue una excelente discusión y los panelistas nos ayudaron dándonos pistas si nos golpeaban en alguna parte.
- También tuvimos una discusión sobre mis proyectos, que incluyó la explicación de su funcionamiento también.
- También me preguntaron sobre los conceptos de superposición y OOPS en C++. Finalmente, me hicieron algunas preguntas basadas en strings y punteros.
- Luego me preguntaron si tenía alguna pregunta para ellos, a lo que hice algunas preguntas y se hizo la entrevista y me pidieron que saliera de la habitación.
- Después de esto, esperaba una ronda de recursos humanos, pero eso no sucedió. 3,5 horas después de que terminó la entrevista, recibí un correo electrónico de Recursos Humanos para unirme a una reunión de Zoom, donde los altos funcionarios y el equipo de Recursos Humanos estaban esperando junto con los panelistas para decirme que fui seleccionado.
De las 25 personas que habían dado la segunda ronda, 4 fueron finalmente seleccionadas y estuvieron presentes en la misma reunión. A todos se nos ofreció el perfil Internship + FTE.
Veredicto final: ¡Seleccionado!
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