Entrevista a DE Shaw | Serie 1

Total 3 rondas. Primero escrito seguido de 2 cara a cara y cada ronda fue de ELIMINACIÓN uno. 

Ronda 1 (Escrito – 1hr): 3 secciones. 20 minutos cada uno. 

sección 1: 20 preguntas de aptitud y fue muy difícil. El promedio de preguntas resueltas es 4. 

sección 2: 20 (C++ y Java) oops preguntas relacionadas y otras preguntas de salida también. (el nivel era bueno. Datos G) 

  • En C++: principalmente funciones virtuales, destructor virtual, constructor de copias, lista de inicializadores, preguntas de herencia virtual, clases internas, etc.
  • En java: principalmente clases internas, referencia base y concepto de objeto secundario, preguntas anuladas, etc. 

     

sección 3: escribir código en ejecución para el siguiente problema: 

  • Encuentre 2 números en una array ordenada cuya DIFERENCIA no tenga K. 

     

De 99, 22 estudiantes fueron seleccionados. Eran principalmente de IIT, IIIT, NIT, Amazon, Microsoft, Adobe, etc. 

Ronda 2 (cara a cara – 1 hora): preguntas rápidas 🙂 principalmente del concepto OOP de C++, estructuras de datos y algoritmos, sistema operativo 
 

  1. Comenzó con una pregunta simple y se movió en profundidad.
  2. ¿Qué es una referencia colgante?
  3. ¿Pasó a lo que sucede cuando accedemos a él?
  4. ¿Cómo manejarlo? Dije que podemos usar el recuento de referencias o std::auto_ptr para evitar referencias colgantes. Estaba contento con el concepto de puntero inteligente auto_ptr.
  5. Entonces, ¿qué sucede cuando otro auto_ptr asigna un auto_ptr previamente asignado (es decir, cuando usamos el operador de asignación en auto_ptr)? Dije que solo un auto_ptr puede contener un objeto, por lo que el antiguo auto_ptr apuntará a NULL.
  6. Ahora, qué sucede cuando Old auto_ptr intenta acceder a un objeto (es decir, NULL). Dije excepción de tiempo de ejecución y el programa puede fallar.
  7. Asigne un nombre al tipo de excepción. Dije tal vez falla de segmentación. 
     

Más preguntas como: 

  1. Pregunta simple. En el manejo de excepciones, hay «retorno 1» escrito en un bloque de prueba y «retorno 5» escrito en el bloque final. ¿Qué valor devolverá la función y por qué?
  2. Cree su propio desbordamiento de montón, desbordamiento de pila. ¿Cómo los manejarás?
  3. Cómo funcionan internamente las funciones virtuales. También se explica en detalle el funcionamiento de la tabla virtual con múltiples conceptos de herencia.
  4. ¿Qué es la función virtual pura y cuál es su uso?
  5. ¿Qué es un destructor virtual y por qué lo usamos? Pocas discusiones al respecto.
  6. ¿Qué es iterador? Escriba un código para implementar un iterador para una clase de pila dada.
  7. Y muchas más preguntas OOPS que, como dije, se hicieron rápidamente. 

     

Ahora DS & Algorithms eran simples como: 

1. Los estudiantes están sentados en un salón de clases en orden de fila. Se les han dado las calificaciones de sus exámenes. Ahora viene un maestro y comienza con el primer estudiante de la primera fila y pregunta sus calificaciones hasta la última fila de los últimos estudiantes de forma lineal. En cualquier momento, la calificación más alta hasta el momento se debía decir y después de decir la calificación más alta, el estudiante debería abandonar la clase. La próxima vez, las calificaciones más altas se contarían en las restantes. Entonces, básicamente, la inserción y la eliminación estaban ahí. 
Di la solución usando el montón MAX con el inicio de sesión de inserción y el inicio de sesión de eliminación. 
O BST de equilibrio automático con inicio de sesión de inserción y registro de eliminación. 

2. BST más grande en árbol binario . Implementado esto con complejidad de tiempo O(n). 

3.Implementar diccionario telefónico. Dio solución usando trie con hashing. Pocas discusiones al respecto, pero estaba feliz al final. 
Esta ronda fue excelente según yo. 
De 22, 5 estudiantes pudieron pasar a la 3ra ronda. 

Ronda 3 (cara a cara): principalmente trató de confundir a todos. Fue divertido. (1:15 h) . Principalmente relacionado con mi trabajo actual. Mientras trabajaba en el campo Java, usando Spring & Hibernate, me hicieron algunas preguntas básicas sobre Spring & Hibernate. No en profundidad. 

Se centraron en Java, OS, DS y Algo. 

Java: 

1. ¿Se puede anular el método estático? ¿Por qué? 

Sabía la respuesta, así que la expliqué en detalle. 

2. Este es bueno. 

class Employee
{
  int age;
  String name;
  Date DOB;
}

En otra clase se escribió una función como:

Object myFun(Employee obj, String attribute)
{
   //return proper attribute value without using conditions like If-Else, ternary or     
   // conditional operators like && etc.
}

Ahora si llamo: 

myFun(obj, “name”); 

entonces esta función debería devolver el nombre del empleado del objeto «obj» que se pasó como parámetro. Entonces, según el nombre del valor del atributo, debería devolver el valor del atributo de ese objeto. 

DS y Algo eran simples: 

1. Dada la array ordenada. Todos se repiten dos veces excepto uno. Encuentra eso. Normalmente, las personas harán XOR y obtendrán el resultado en O (n). El desafío viene al usar la propiedad de clasificación para ingresar log(n). 

2. Array ordenada secuencialmente. Todos presentes exactamente una vez. Faltaba un número en la secuencia y se reemplazó con cualquier número aleatorio. Encuentra números perdidos y aleatorios. Esto fue solo para confundir a las personas que intentan usar la propiedad de clasificación sin darse cuenta de que buscar en una array ordenada no siempre dará como resultado una solución de registro (n). 

Más giro en esta pregunta como, todo repetido exactamente dos veces, excepto uno que está presente una vez y su segunda aparición se reemplaza con cualquier número aleatorio. 

Y 2 modificaciones más. En general, fue simple y requirió poco pensamiento. 

3. Gira una array cuadrada 90 grados con O(1) espacio adicional. Esto fue interesante. 

Sistema operativo: 

  1. ¿Qué es el proceso Zombie? Escriba código para crear el proceso Zombie.
  2. ¿Qué es el proceso huérfano? Escriba código en C para crear un proceso huérfano también.
  3. Una consulta Dada una tabla que tiene los atributos stud_name, English, phy, chem., maths. Escriba una consulta para mostrar el nombre del estudiante en orden descendente de sus calificaciones totales.
  4. ¿Qué es IPC? (Preguntado por mi amigo).
  5. Hay N puntos en el espacio. Encuentra si dos puntos dados están conectados o no. Esta es una pregunta gráfica. El algoritmo de Floyed Warshall modificado funcionará. Otros buenos algoritmos también están disponibles en GeeksForGeeks. (Preguntado por mi amigo)

Resultados declarados después de 3-4 días. De 5 estudiantes, 2 de ellos fueron seleccionados finalmente. Yo era uno de los afortunados. 🙂 

Un agradecimiento especial a su equipo de GeeksForGeeks. Sigo este sitio desde hace 1 año. Este es mi sitio Geek favorito. Ahora recibí una muy buena oferta de DE SHAW. La forma en que ha organizado su sitio es impresionante. Los algoritmos que proporciona son limpios, eficientes y fáciles de entender. Aunque todo el contenido de GeeksForGeeks es muy bueno, recomendaría a otros Geeks que sigan especialmente los algoritmos y G-Facts de GeeksForGeeks. 

Este artículo ha sido compilado por Shahnawaz . Muchas muchas felicidades a Shahnawaz por su selección. Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo y enviarlo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks. 

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *