Entrevista a DE Shaw | conjunto 3

Ronda 1: (Entrevista telefónica) (45 minutos)

1. Cuéntame sobre ti.

2. Conceptos OOPS como abstracción, encapsulación y ejemplos para cada uno.

3. Polimorfismo – Estático y dinámico. por qué el nombre es estático y dinámico. De nuevo con ejemplos.

4. ¿Qué es la palabra clave final en Java?

    Ques: Suppose we have -- > final ArrayList<Object> list = 
                                           new ArrayList<Object>();

Respuesta: Sí, es una operación válida. Podemos hacer agregar/eliminar. La única restricción es que no podemos hacer que la lista apunte a otros objetos ArrayList. por ejemplo, no podemos hacer list = list1.

5. ¿ Qué es un puntero colgante y cómo corregirlo?

6. ¿ Cómo obtendría el número total de palabras en un archivo (en Unix)?

7.   Dadas dos strings… necesita saber si son permutaciones entre sí. Diversos enfoques y sus complejidades.

8.   Dada una string. Debe imprimir el primer carácter que no se repite . Le dije que usaríamos la array de conteo, conteo[256].
Contrapregunta: ¿Cómo reduciría la complejidad del espacio? Le dije que podíamos usar la tabla Hash. En eso, solo necesitaríamos espacios iguales al número de caracteres diferentes.

9.   Edificio de 200 pisos… Un huevo entregado (Sí, solo un huevo)… encuentre desde qué nivel el huevo se rompería en un número de intentos inferior a 200. (Todavía no tengo ninguna respuesta para esto: D)

10. Se dan cuatro números: 1 3 4 6 = 24. Usa cualquier operador matemático. Le pregunté si podía escribir esta expresión en C y ejecutarla desde allí para obtener el resultado requerido. Dijo que sí se puede.
Luego tomé 4 variables enteras (1,3,4,6) y otro resultado de variable entera. Ahora, 1/3 = 0 (división de enteros C). así que simplemente 4*6 me daría 24. Bastante simple: D. Dijo que está bien, pero intente solo con operadores matemáticos. (Sin codificación :D)
Respuesta: (1^3) * (4*6) = 24
Código: (Se enviaría por correo electrónico)

11. Escriba un código bien comentado para imprimir Matrix en orden espiral. También escriba algunos casos de prueba.

————————————————————————-

Ronda 2: (Entrevista interna) (45 minutos)
——————————————————

1. Discusiones sobre varios conceptos básicos como qué hace que el lenguaje independiente de la plataforma Java, por qué C depende de la plataforma, diferencia entre JDK, JRE y JVM, qué es un código de byte (en Java) y la discusión continuó así.

2. ¿Qué es un puntero de función? Dónde se usa. Escribe un código para implementar lo mismo.

3. ¿Es posible tener un bloque try-finally sin un bloque catch? Y varias otras discusiones similares sobre el manejo de excepciones.

4. ¿Qué es un proceso? ¿Cuáles son los diversos tipos de algoritmos de programación de procesos? Diseñe una estructura de datos que pueda usarse de manera eficiente para programar procesos en función de sus prioridades. Además, agregaron que las prioridades de algunos procesos pueden cambiar en cualquier momento y deberíamos poder elegir el proceso que tiene la máxima prioridad (concepto Min Heap). También puede haber muchos procesos de la misma prioridad. Algunas discusiones sobre enfoques.

5. ¿Cuál es la diferencia entre extensiones e implementos? Algunas discusiones sobre la clase abstracta y la interfaz.

6. ¿ Por qué Java NO es compatible con la herencia múltiple? Cómo resolvemos el problema del anillo de diamantes en C++ (herencia virtual). ¿Cómo acceder a una función específica de una clase en caso de herencia múltiple? (Respuesta: Uso del operador de resolución de alcance)

7. ¿Cuál es la diferencia entre #define MAX 30 y const int max = 30?

8. ¿Qué es la clase de almacenamiento ‘registro’? Si hemos declarado algún registro variable y no hay registros libres disponibles, ¿qué sucederá? ¿El compilador arrojará algún tipo de error/advertencia?

9. En C, ¿dónde podemos encontrar la definición de printf()? Algunas discusiones sobre los archivos de encabezado y los pasos de ejecución del proceso (como el preprocesamiento, la compilación, la carga, la vinculación, etc.).

10. ¿Tenemos destructores en Java? ¿Podemos destruir objetos explícitamente en Java?

11. Dado un árbol binario completo como:

             5
           /   \
         3      6
       /  \    /  \
      1    7  2    4

Conviértalo en un árbol ordenado por orden de nivel como :

             1
           /   \
         2      3
       /  \    /  \
      4    5  6    7

Se requiere código.
——————————————————————————————-

Aunque no recibí la oferta, fue una gran experiencia. Si quiere descifrar a DE Shaw, tenga un concepto claro de cualquier tecnología en la que esté trabajando. Para preparar Java/C++, consulte http://javarevisited.blogspot.in/ y http://www.learncpp.com/ .

Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo y enviarlo por correo electrónico a contribuya@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 *