Entrevista Goldman Sachs (para experimentados)

La entrevista fue la misma para todos los IIT.

Las rondas pueden variar de 7 a 12 rondas según el puesto que solicite

Ronda 1: Prueba HackerRank – 90 min

1: Encuentre los puntos de red totales en la circunferencia del círculo.
Referencia: https://www.geeksforgeeks.org/circle-lattice-points/

2. Dada una array de enteros/puntos positivos. Tenemos que empezar desde la esquina inferior izquierda y llegar a la esquina superior derecha. Nuestro camino debe ser tal que consigamos el máximo de puntos. Solo se permiten dos movimientos: hacia arriba y hacia la derecha, es decir, desde una celda (R, C), puede ir a (R, C+1) o (R-1, C).

Nota: Para calificar para la próxima ronda, ambas preguntas deben resolverse.

Ronda 2: (Diseño)

Preguntas de diseño:
1. Diseña el juego de la serpiente y la escalera.

Algoritmos: Dada una lista enlazada circular, detectar un bucle en ella.
Ref: https://www.geeksforgeeks.org/detect-and-remove-loop-in-a-linked-list/

2. Min flip para alternar strings binarias.
Referencia: https://www.geeksforgeeks.org/number-flips-make-binary-string-alternate/

La tercera fue una pregunta basada en la implementación de strings.

Ronda 3: (Tecnología-1)

1. Comenzó con la presentación de mí mismo y el trabajo que estaba haciendo en mi organización actual. Luego, una discusión al respecto que involucra particularmente los servicios REST. Luego me hicieron escribir un método HTTP GET para una situación de manera eficiente.
2. Implemente la cola usando pilas. Primero lo resolví usando dos pilas diferentes.
3. Luego me pidieron que implementara la cola usando solo 1 pila. https://www.geeksforgeeks.org/queue-using-stacks/
4. ¿Qué es un árbol de búsqueda binario?
5. Escriba un programa para verificar si un árbol binario es BST o no.
https://www.geeksforgeeks.org/a-program-to-check-if-a-binary-tree-is-bst-or-not/
6. ¿Qué es JDK, JRE, JVM? Luego algunas preguntas más sobre las respuestas que di.
7. Dada una array que contiene solo 0 y 1. Cada fila tendrá algún número de 0 seguidos por algún número de 1 consecutivos. Tenemos que encontrar la fila que contiene el máximo de 0 y también el número de 0 en esa fila. Al principio, sugerí implementar la búsqueda binaria en cada fila para encontrar la cantidad de ceros y luego comparar la cantidad de ceros para cada fila. Los entrevistadores dijeron que está bien pero que querían algo mejor. Luego sugerí implementar la búsqueda binaria en la primera fila, almacenar el índice que contiene el último 0 y luego bajar en la array en ese índice. Si encuentra un 1, puede ignorar esa fila con seguridad. Si obtiene un 0, puede implementar la búsqueda binaria en esa fila y actualizar sus valores almacenados. Los entrevistadores quedaron satisfechos con esta solución.
8. Diferencias entre Arreglos y Listas Enlazadas. ¿En qué situación elegirías uno sobre el otro?

Ronda 4: (Tecnología-2)

1. ¿Qué es la sobrecarga de operadores? Escriba un código que represente la implementación de la sobrecarga de operadores.
2. Escriba un método de sobrecarga de operadores para el operador + en strings, que concatene la primera string con el reverso de la segunda string.
Ej. String1- app String2- le Entonces String3 = String1 + String2 = appel.
Después de escribir el método, me pidieron que optimizara mi método. Así que sugerí un reverso más rápido de la segunda cuerda.
3. Escriba un método para probar el código anterior. Querían que escribiera un código de prueba limpio que fuera comprensible para otras personas que no saben nada sobre mi código original.
4. Diferentes conceptos de prueba. ¿Qué son las pruebas unitarias, las pruebas de integración y las pruebas de regresión? ¿Cuál es la necesidad de cada uno de ellos?
5. La discusión sobre las pruebas conduce a la discusión sobre los entornos. Mencioné entornos de producción y prueba en mis respuestas. Entonces comenzaron a discutir la necesidad de tantos entornos para una misma aplicación.
6. Si le damos una característica particular para agregar a una aplicación, ¿cómo lo hará? ¿Cómo lo documentarás, lo probarás? ¿Cómo lo llevarás a través de diferentes entornos de la aplicación?

Ronda 5: (Tecnología-3)

1. Luego haga una pregunta con corchetes, paréntesis y/o llaves, vea si es válida. Como {]}{})(, {}()[()]. La primera sería falsa, la segunda sería verdadera. El entrevistador realmente buscó cuándo me atascaba y trató de ver cómo lo haría. reaccionar cuando no sabía algo. Le gustaba la parte en la que me atascaba y cuando podía encontrar el camino de regreso a la solución.

2. En una arquitectura cliente-servidor, existen múltiples requests de múltiples clientes al servidor. El servidor debe mantener los tiempos de respuesta de todas las requests en la hora anterior. ¿Qué estructura de datos y algoritmo se usarán para esto? Además, el tiempo de respuesta promedio debe mantenerse y debe recuperarse en O(1).

Ronda 6: (Tecnología-4)

1.Encuentre el elemento mínimo en la pila. Se requiere una solución optimizada.

2. Eliminar un Node en BST.

3. Punto de intersección de dos listas enlazadas.

4.Comprueba si una lista enlazada es palíndromo o no

5. Concepto de OOPS: encapsulación, ocultación de datos, abstracción, polimorfismo, etc.
Mutex vs Semaphore

Temas en General

Ronda 7: (Algoritmos)

1> https://www.geeksforgeeks.org/largest-sum-contiguous-subarray/

2. Dada una lista de transacciones entre amigos que tienen que dar o recibir una cierta cantidad de dinero entre sí. Ahora, tienen que conformarse con un número mínimo de transacciones. Además, ha devuelto una lista de todas las transacciones. Por ejemplo, si Bow debe A Rs. 200 : B->A = 200. De manera similar, si C debe B Rs. 200: C->B= 200. Entonces, el número mínimo de transacciones es 1 y debería ser: C->A = Rs. 200

Ronda 8: (Tecnología-5)

Nos dieron un código de 2 páginas cuyo propósito era fusionar una lista enlazada mientras eliminamos duplicados y teníamos que señalar errores en la LÓGICA PRINCIPAL del programa y no dar errores tontos como punto y coma o punteros desreferenciados. Creo que encontré unos 4 o 5 buenos errores en el código. 7 personas fueron seleccionadas para la 2da ronda. En mi entrevista, la primera pregunta fue, dada una string de operadores ternaria, por ejemplo, a?b?c:d:e, teníamos que convertirla en forma de árbol.

https://www.geeksforgeeks.org/convert-ternary-expression-binary-tree/

Me tomó algo de tiempo resolver este problema, alrededor de 25 a 30 minutos, incluida la escritura del código. El entrevistador quedó impresionado y me hizo una segunda pregunta basada en una programación dinámica.

https://www.interviewbit.com/problems/ways-to-decode/

Ronda 9: (Tecnología-6)

1. Nos dieron un código de 2 páginas cuyo propósito era fusionar una lista enlazada mientras eliminamos duplicados y teníamos que señalar errores en la LÓGICA PRINCIPAL del programa y no dar errores tontos como punto y coma o desreferencia. punteros Creo que encontré unos 4 o 5 buenos errores en el código. 7 personas fueron seleccionadas para la 2da ronda. En mi entrevista, la primera pregunta fue, dada una string de operadores ternaria, por ejemplo, a?b?c:d:e, teníamos que convertirla en forma de árbol.

https://www.geeksforgeeks.org/convert-ternary-expression-binary-tree/

2. Me tomó algo de tiempo resolver este problema, alrededor de 25 a 30 minutos, incluida la escritura del código. El entrevistador quedó impresionado y me hizo una segunda pregunta basada en una programación dinámica.

https://www.interviewbit.com/problems/ways-to-decode/

Ronda 10: (Tecnología-7)

1.Atrapar agua de lluvia

2.Siguiente número más pequeño/Siguiente mayor permutación

3.Distancia máxima entre 2 Nodes en un árbol n-ario

2) Dado un árbol con pesos de aristas, encuentre cualquier camino en el árbol con la suma máxima de aristas.

3) Dado un laberinto, un punto inicial y un punto final encuentran el camino más corto para llegar al punto final desde el punto inicial.

Ronda 11: (Ronda del director)

Para empezar, me preguntó a fondo sobre mi trabajo actual y en qué cosas estoy trabajando. Tuvimos una discusión de alrededor de 30 minutos sobre mi experiencia laboral.
Luego, me pidió que implementara stack. Lo hice usando una lista de arreglos. El interrogatorio cruzado sobre esto sucedió durante 10 minutos.
Después de eso me dio un acertijo: Supongamos que tú y yo estamos jugando en una mesa redonda y ambos tenemos un número infinito de monedas. Las reglas son las siguientes:
• Es un juego por turnos, así que tú y yo nos turnamos alternativamente (1 moneda por turno)
• Tenemos que colocar la moneda sobre la mesa y las monedas no se pueden poner una encima de la otra.
• Las monedas no se pueden mover una vez puestas sobre la mesa.
• si no hay lugar para poner monedas en la mesa, gana la persona que colocó la última moneda posible.

Ronda 12: (Ronda de recursos humanos)

1) ¿Qué sabes de Goldman Sachs? ¿Por qué quieres unirte?

2) Preguntas sobre el nivel normal de recursos humanos.

3) Preguntas sobre cómo se organiza un evento/trabajo esto en el sector bancario TOP.

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 *