DE Shaw visitó nuestro campus (MNIT Jaipur) en la primera semana de agosto de 2019 para una pasantía de desarrollo de software de 2 meses.
Prueba técnica (50 min)-
1. Encuentra el número máximo de Nodes conectados en el gráfico. (Dfs)
2. Elimine algunos números de la array dada para maximizar la diferencia entre la suma de los elementos de posición impar y los elementos de posición par. (Codicioso o Dp)
Ej. 6 7 5 1 9 2 10
Respuesta 23 (7, 1, 9, 2, 10)
Pude resolver ambas preguntas en 20 minutos y por eso me dieron mucha preferencia en la entrevista. Aquellos que pudieron resolver una pregunta y media fueron seleccionados para la ronda de entrevistas.
De 88 estudiantes, 11 preseleccionaron para la entrevista.
Entrevista técnica 1 (50 min):
hubo dos entrevistadores y ambos fueron muy útiles.
1. La implementación interna de la lista en python. (si Python se menciona en el currículum)
3. Implementación interna del diccionario Python (hashing)
5. Preguntas de C++ sobre unique_ptr y shared_ptr y sus funciones.
6. Diferencia entre macros y typedef.
7. Explique el proceso de compilación.
8. Explique la función virtual (vptr y vtable).
9. Una breve discusión sobre herencia múltiple, problema de diamantes, solución.
12. Cuestiones de Arquitectura de Computadores. (Como soy estudiante de ECE, no he estudiado arquitectura de computadoras, así que lo salteé).
13. Las preguntas de mi currículum explican por qué cambié mi idioma principal a c ++ de python. Mi estructura de datos favorita en Python y C++.
14. Preguntas básicas sobre mí mismo, qué hago en mi tiempo libre, mis hobbies y mis proyectos favoritos y todo.
15. Por qué elijo NodeJS sobre todos los demás lenguajes de back-end. Le había dado una respuesta muy pobre porque solo aprendí esto, por eso lo estoy usando. Se rieron pero quedaron satisfechos con la respuesta.
16. Breve introducción y discusión sobre el proyecto (por muy poco tiempo).
17. Explicar la función en línea y diferenciar entre en línea y macros.
18. Diferencia entre declaración y definición de funciones.
19. Uso del archivo de cabecera stdio, si en él se declaran o definen funciones y detalles básicos del mismo.
20. Diagramas de gestión de memoria. (Explicación del nivel de caché 1, 2, 3, memoria principal, almacenamiento en disco). ¿Qué hace que el caché sea rápido? ¿Cómo funcionan estos recuerdos?
21. Manejo de archivos en c++ y que pasa si abrimos un archivo de 10gb en una computadora con 4gb de RAM.
Acabo de dar algunas respuestas y no reaccionaron en absoluto.
21. ¿Se puede almacenar una función en la lista de python o en el puntero void * en c++? Dije que no, pero no sé si es correcto o no.
22. Hay n bienes con un peso de i-ésimo bien es wi y m camiones. Tienes que cargar este camión de tal manera que cada camión lleve pesos casi iguales.
Di una solución DP para m==2 y no me piden que la generalice.
5 estudiantes de 11 fueron promovidos al siguiente TI. Su puntaje en la ronda de codificación, actitud, confianza y habilidades de comunicación son los más importantes. Debe tener un conocimiento profundo de al menos un idioma. Lea todos los artículos relacionados con su idioma principal en geeksforgeeks.
Entrevista técnica 2 (50 min) –
También hubo dos entrevistadores en esta ronda. También fueron muy útiles y brindaron las sugerencias necesarias en los momentos pertinentes.
1. Primero, me hacen sentir cómoda y me preguntan qué comí en el almuerzo y algunas preguntas generales.
2. Me preguntaron cuál era mi lenguaje de codificación principal y por qué usé Python en lugar de C++ (mi lenguaje de codificación principal) en la prueba de hoy.
3. ¿Puede dar otro enfoque que no sea dfs para la primera pregunta de la prueba de codificación?
Sol: – Sugirió bfs, enfoques de fuerza bruta pero no quedaron satisfechos. Luego proporcioné un enfoque de conjunto y unión y expliqué el funcionamiento y los usos de conjunto y unión. Estaban satisfechos con el enfoque.
4. Diseñe una estructura de datos con operaciones de inserción, eliminación y búsqueda en O(1)(peor caso).
Sol: – Dados los enfoques hash y diferentes métodos para el manejo de colisiones, pero todos los métodos toman más de O(1) en el peor de los casos.
Luego me dijeron que los datos estarán en el rango 1-9999 solamente.
Inmediatamente di una solución con una array cuando se inserta un número, haga 1 en la posición del número y 0 para eliminarlo.
5. Me pidió que implementara get random también en O(1).
Sol: – Pude descifrar la solución usando 3 arrays. Una solución que encontré en geeks está aquí .
6. Pregunta sobre Dp. En una array, encuentre la ruta más larga con la diferencia entre los elementos adyacentes que debe ser 1. Puede comenzar en cualquier punto y moverse en cualquier dirección desde el elemento.
Sol: – Usaron Dp y pidieron escribir el código en papel. Simplemente verificaron la lógica, no la sintaxis y me pidieron que ejecutara en seco el código con una array proporcionada por ellos. Pude pasar todos los casos de prueba de esquina.
7. Basándose en su experiencia con c++ y python, ¿qué lenguaje le resulta más útil y por qué? Se le pidió que comparara los idiomas en todos los aspectos posibles.
8. Debate sobre mis proyectos y me pide que muestre alguna web que haya realizado. El sitio web de mi cartera estaba alojado en GitHub, así que lo mostré.
9. Me preguntó sobre los aspectos internos de NodeJS y JavaScript, a lo que respondí que no sé mucho sobre los aspectos internos de estos lenguajes.
10. Me preguntaron por qué usé NodeJS y quieren alguna respuesta técnica, no como la anterior.
11. Una pregunta muy difícil sobre una teoría de juegos que no podía recordar pero que no pude resolver hasta el punto que esperaban. Di una solución básica pero quieren que diseñe un algoritmo exacto que no pude.
12. Diferenciar entre lenguajes fuertemente tipados y débilmente tipificados, lenguajes dinámicos y estáticos y clasificar c ++ y python en función de lo mismo.
13. Comprensión de lista en python e intenté confundirme con python escribiendo string + int y muchas otras funciones que darían un error de compilación. Predicción de salida para códigos python.
Después de esta ronda, solo 2 estudiantes fueron promovidos a la ronda de recursos humanos. En esta ronda, su enfoque principal estaba en mi forma de pensar. No se limite a una sola solución, intente siempre explorar otras posibilidades.
Entrevista de Recursos Humanos (15 min)-
1. ¿Cómo fue su entrevista?
2. ¿Es esta tu primera experiencia? ¿Como estuvo?
3. Cuéntame sobre ti.
4. ¿Por qué DE Shaw?
5. Las 3 principales empresas de sus sueños además de DE Shaw.
6. ¿Cómo estuvo la Prueba?
7. En una escala de 10, ¿cómo calificaría la prueba de hoy? ¿Hay algún estudiante que sea realmente bueno programando pero que no pueda descifrar el examen?
Dos estudiantes fueron seleccionados para la pasantía de verano y tuve la suerte de ser uno de ellos.
si lo desea, después de cada ronda, puede hacer algunas preguntas al entrevistado.
por ejemplo, puede preguntar sobre tecnologías, idiomas utilizados en su empresa o sobre el medio ambiente.
Todas las preguntas estaban disponibles en https://www.geeksforgeeks.org/ y es el mejor sitio que encontré para preparar entrevistas. Muchas gracias a todo el equipo de geeksforgeeks y colaboradores.
Este artículo es una contribución de Suryaprakash Agarwal.
Su conocimiento de DSA y sus habilidades blandas son clave para su éxito.
La mejor de las suertes para sus entrevistas.
Publicación traducida automáticamente
Artículo escrito por surya738393 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA