Experiencia de entrevista de Goldman Sachs | Set 36 (Para experimentados)

Me entrevisté con Goldmanc Sachs el 17 de noviembre. El proceso es muy lento, ya que en mi caso, la primera ronda comenzó el 17 de septiembre y la última finalizó el 17 de noviembre.

Ronda 1:  Primero fue la prueba HackerRank. Dos preguntas de codificación, primero fácil, segundo de nivel medio a difícil.

Nota: No recuerdo la redacción exacta de la pregunta.

1.) Dada una string y una longitud de ráfaga, genere la string de manera que el recuento de los mismos caracteres adyacentes en la string sea menor que la longitud de la ráfaga.

Ejemplo:

Entrada: abbcaaaccd, 3

Salida: abbd

2.) Dada una array de enteros distintos, genere el número de subsecuencias de longitud 3, ya sea en orden creciente o decreciente.

Consejos: Prepare la Programación Dinámica ya que casi siempre la segunda pregunta es de DP.

Ronda 2: CoderPad

Aquí se hicieron dos preguntas:

  1.  Un robot solo puede moverse en cuatro direcciones: ARRIBA (U), ABAJO (D), IZQUIERDA (L), DERECHA (R). Dada una string que consta de instrucciones para moverse, emite las coordenadas del robot después de ejecutar las instrucciones. La posición inicial del robot está en el origen (0,0).
  2. Dada una array de enteros y una suma, genera el número de pares cuya suma es igual a la suma dada.

Sugerencias: en la ronda de CoderPad, discuta primero su algoritmo con el entrevistador. El entrevistador le permite escribir un código de nivel profesional. Además, el entrevistador le pedirá que escriba todos los casos de prueba posibles, especialmente los casos de prueba de esquina, y su código debería aprobarlos.

Ronda 3: Videoconferencia 

En esta ronda se hicieron muchas preguntas técnicas para comprobar el conocimiento profundo del lenguaje C++.

Algunas preguntas que recuerdo son:

  1. Presentarte
  2. Qué es la palabra clave virtual, cómo funciona vtable, destructor virtual.
  3. Manejo de excepciones en C++, C++14 (si afirma conocer c++14)
  4. Se dan muchos escenarios relacionados con el polimorfismo en tiempo de ejecución y se pregunta cuál será el resultado y por qué.
  5. Contenedores STL Map, Set, unordered_map.
  6. Diferencia entre map y unordered_map en C++, sus detalles de implementación.
  7. Usos en el mundo real de map, set, unordered_map.
  8. Seguridad de roscas de contenedores STL.
  9. punteros inteligentes como unique_ptr, shared_ptr, débil_ptr. Casos de uso y diferencias entre ellos.
  10. Pregunta de algoritmo: Dada una array de enteros, encuentre la subarray con la suma máxima.

Después de esta ronda y un mes de espera, me llamaron para una discusión cara a cara en GS Bangalore. Toda la ronda a continuación se llevó a cabo en GS Bangalore y en un solo día. Para cada ronda había dos entrevistadores.

Ronda 4: Cara a Cara

Nuevamente muchas preguntas sobre C++:

  1. mecanismo virtual
  2. Usos de la función virtual pura
  3. Función virtual pura vs función virtual
  4. Predicción de salida: Dado un código C++, qué se generará y por qué. (No recuerdo las preguntas exactas, pero un caso fue de polimorfismo en tiempo de ejecución y el segundo fue de referencia local devuelta por una función)
  5. Preguntas de algoritmo
    • Dada una array de enteros, encuentre la sub-array máxima. Salida de la suma con el índice de inicio-fin.
    • Dada una array llena de X y 0 (cero). Calcule la distancia desde el 0 más cercano para todas las celdas marcadas con X. La distancia de cuatro celdas vecinas (arriba, abajo, derecha, izquierda) será 1. Por ejemplo, ingrese: XXX X 0 X
      X
      XX

      Salida:
      2 1 2
      1 0 1
      2 1 2

Ronda 5 

Preguntas de C++:

  1. Implementar asignación Operador Sobrecarga, copiar constructores.
  2. Diferentes tipos de yeso y diferencia entre ellos.
  3. Up Cast y Down cast, por qué y cómo funcionan.
  4. Problema del diamante y cómo resolverlo.
  5. Cómo funciona internamente la herencia virtual.
  6. Preguntas de algoritmo:
    • Dada una lista enlazada con solo tres números posibles 0,1,2, ordene la lista.
    • Dada una array de enteros ordenados pero repetidos, encuentre el número de ocurrencias de un número dado.

Ronda 6

Pregunta de diseño  : diseñe un directorio móvil, es decir, la lista de contactos para guardar el número de teléfono móvil, el correo electrónico y otra información. Todas las operaciones que podemos hacer en nuestro móvil como buscar por nombre, número, etc.

Pregunta de algoritmo:  dadas dos strings s1, s2. muestra todas las formas en que estas dos strings se pueden fusionar manteniendo el orden de los caracteres igual que en s1, s2. Diseñar un algoritmo recursivo.

Ejemplo: s1: ab, s2: cd

Producción :

a B C D

acbd

acdb

taxi

cadb

cdab

Así que chicos, espero que lo encuentren útil para la preparación de su entrevista. ¡¡¡La mejor de las suertes!!!

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 *