Primera ronda: reanudar la preselección (preselección indirecta de CG), mi CG fue 8.8. Un total de 92 estudiantes fueron preseleccionados para la prueba en línea.
Segunda ronda : prueba de codificación en línea: las preguntas fueron bastante fáciles. Me tomó menos de 30 minutos resolver ambas preguntas.
Tiempo Duración: 1 hora
No. de preguntas: 2 preguntas de codificación solamente
Plataforma: HackerEarth
Consejo :
- Si es posible, familiarícese con la plataforma en línea donde se llevará a cabo la OT.
- Lea atentamente la pregunta, de lo contrario, se pierde mucho tiempo y el resultado es doloroso.
- Si no está obteniendo una solución optimizada rápidamente, siga adelante con la fuerza bruta, las calificaciones parciales también importan mucho y, a veces, pasa todos los casos de prueba.
Después de la prueba en línea, 10 estudiantes fueron preseleccionados para la ronda de entrevistas.
Pregunta 1: se dan N strings de igual longitud y un solo entero K. En una operación, podemos seleccionar dos strings de N (digamos A y B) e intercambiar (A [i], B [i]).
Tenemos que responder si podemos hacer que al menos K strings sean iguales o no realizando cualquier número de operaciones.
Pregunta 2: dadas las coordenadas n (x, y) de los puntos en el plano 2D y las consultas Q. Cada consulta contiene un número entero r, la tarea es contar el número de puntos que se encuentran dentro o sobre la circunferencia del círculo que tiene radio r y centrado en el origen.
Tercera ronda: esta ronda comenzó con una breve introducción y luego pasaron directamente a las preguntas de DSA. Discutieron un total de 3 preguntas comenzando con mi enfoque (cualquier optimización si es posible) y luego la implementación seguida de una ejecución en seco en algunos casos en los que no se les pidió que ejecutaran el código. Para algunos candidatos, me pidieron que codificara en google doc ????, tuve suerte porque me pidieron que codificara en algún editor de código en línea. Esta ronda duró aproximadamente 1 hora.
Primera pregunta: dada una array ordenada que contiene elementos duplicados, y se le pidió que eliminara los enteros repetidos de modo que todos los enteros aparezcan solo una vez y devuelvan la longitud de esta array sin usar ningún espacio adicional.
Enlace: https://www.geeksforgeeks.org/remove-duplicates-sorted-array/
Segunda pregunta: dadas dos oraciones (arreglo de strings, vector<string>) y una lista de pares de palabras (arreglo de pares de strings, vector<par<string, string>>) donde cada par representa que ambas palabras en un par son similares.
if vector<pair<string, string>> similarWords = { {a, b}, {b, c}, {d, e}}
Significa que “a” es similar a “b”, “b” es similar a “ c”, “d” es similar a “e”.
Además, siguen la propiedad simétrica y transitiva significa que si «a» es similar a «b», entonces «b» también es similar a «a» y si «a» es similar a «b» y «b» es similar a «c ” significa “a” también es similar a “c”. Y obviamente, si dos palabras son iguales entonces también son similares.
Y tenemos que responder si las dos oraciones son similares o no. Dos oraciones (digamos A y B) son semejantes si cumplen las siguientes condiciones:
- Ambas oraciones deben tener el mismo número de palabras.
- Las palabras correspondientes de ambas oraciones también deben ser similares. Al igual que la primera palabra de A y la primera palabra B, la segunda palabra de A y la segunda palabra de B, de manera similar, la iésima palabra de A y la iésima palabra de B también deberían ser similares.
Ejemplo:
S1: Mango is the fruit S2: Apple is tasty similar words = { {"Mango", "Apple"}, {"tasty", "yummy"}, {"yummy", "fruit"} } So here S1 and S2 are similar. And if we say similar words = { {"Mango", "Apple"}, {"tasty", "yummy"} } then S1 and S2 are not similar because 3rd word, "fruit" and "tasty" is not similar.
Lo resolví usando Disjoint Set Union y usé map<string, string> para implementar DSU para strings.
3ra pregunta: dado un árbol binario, encuentre la longitud del camino más largo donde cada Node en el camino tiene el mismo valor. Esta ruta puede o no pasar por la raíz. La longitud del camino entre dos Nodes está representada por el número de aristas entre ellos.
Exactamente igual que el siguiente enlace: https://www.geeksforgeeks.org/longest-path-values-binary-tree/
Puntas:
- No pienses nada en silencio, habla lo mismo que estás pensando.
- Después de explicar su enfoque cuando está codificando, también explique lo que está haciendo cada línea/pieza de código.
- Después de completar su código, siempre ejecute en seco su código en casos de prueba dados y todos los casos de esquina posibles y demuestre lo mismo al entrevistador hablando en voz alta.
- Si no está seguro de cómo resolverlo o tiene dificultades para depurar, también puede solicitar algunos consejos. No es un punto negativo.
Esta ronda también me fue bien, el entrevistador quedó completamente satisfecho con mi enfoque y mis explicaciones, pude resolver la primera y la tercera pregunta de una sola vez con el enfoque óptimo, para la segunda pregunta primero expliqué el enfoque de fuerza bruta usando conjuntos, luego me pidió que optimizara esto. Le expliqué mi enfoque usando DSU, pero no estaba seguro, así que le pregunté si iba en la dirección correcta o no, luego estuvo de acuerdo y me pidió que implementara lo mismo.
Después de esta ronda, 5 candidatos de 10 fueron preseleccionados para la siguiente ronda (ronda de recursos humanos).
Cuarta ronda: esta ronda también comenzó con una presentación, Recursos Humanos fue muy amable, hablaba como un amigo después de preguntarme cómo estás y mi introducción, me pidió que compartiera mi pantalla y abriera cualquier proyecto y explicara todo al respecto. Esta ronda duró aproximadamente 20-25 min.
Estaba demasiado concentrado en el proyecto, pidió todo muy profundamente con respecto a mi proyecto. Después de preguntar sobre mi proyecto, preguntó si había alguna pregunta para él, le hice algunas preguntas sobre CultFit y me explicó brevemente porque se estaba quedando sin tiempo.
Un resumen de mi conversación con Recursos Humanos: cuando me dijo que explicara su proyecto, después de compartir la pantalla primero abrí el sitio web de mi cartera porque allí he guardado todos mis proyectos, su enlace de demostración en vivo, enlace de código fuente. He alojado el sitio web de mi cartera en netlify, por lo que lo primero que preguntó fue sobre netlify y cómo implementé mi cartera allí. Luego seleccioné mi sitio web de comercio electrónico para explicar, así que abrí ese proyecto y luego me pidió que abriera el repositorio de Github, mi última confirmación fue hace unos 28 días, así que preguntó por qué todas estas confirmaciones son tan recientes, ¿lo has copiado? ¿desde algún lugar? Luego expliqué que hice este proyecto solo el año pasado, pero recientemente limpié el código y agregué algunas funciones adicionales. Luego me pidió que mostrara el historial de confirmaciones y luego hice lo mismo y después de ver mis confirmaciones del último año, estaba un poco satisfecho. Luego me preguntó qué IDE uso y abrí el código en el mismo IDE y explique el código. Así que abrí el código en VS Code y comencé a explicar. Mi sitio web estaba en Django, y tiene dos aplicaciones «cuenta» y «tienda» y expliqué cuáles son sus funciones.
Estaba más interesado en la aplicación de la cuenta y la parte de autenticación. Me pidió que creara y verificara el usuario. Luego, otras preguntas sobre cómo funciona la autenticación me pidieron que abriera el código responsable de eso, cómo estoy enviando el correo electrónico y cómo estoy generando el token de verificación.
He alojado mi sitio web en pythonanywhere.com, así que también me preguntó cómo estoy insertando el código allí, cómo estoy implementando y haciendo la configuración, me pidió que abriera mi cuenta de pythonanywhere y me pidió que mostrara la estructura de carpetas, y luego me pidió que consola abierta allí.
Después de hacer tantas preguntas???? y al verificar todos los compromisos y cuentas, quedó completamente satisfecho y preguntó si había alguna pregunta para él. ¡Eso es todo! Era el final de la entrevista.
Veredicto: ¡¡Seleccionado!! (Total 3 candidatos fueron seleccionados de 5)
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