Experiencia de entrevista de Goldman Sachs | 2019

Ronda 1: Codificación en línea

La ronda se llevó a cabo en Hackerrank. 600-700 estudiantes se presentaron al examen. Esta ronda constaba de una prueba en línea de 2 horas de duración y tenía 4 secciones:

Sección 1: 3 preguntas de codificación:

1. Usted es el propietario de un canal de noticias y tiene un programa que comienza en 0 y termina en M. Tiene N cantidad de anuncios y cada anuncio tiene un valor de efectividad asociado que se proporciona en una array de tamaño ‘n ‘ en el formato [v1, v2, …, vn]. El momento en que se pueden mostrar los anuncios se da en el formato [(x1, y1), (x2, y2), …, (xn, yn)], donde la i-ésima tupla en la array indica el momento del i-ésimo anuncio en el formato (hora de inicio, hora de finalización). Debe maximizar la suma de los valores de efectividad de los anuncios si el intervalo de tiempo mínimo entre dos anuncios es de 4 min. Por lo tanto, si selecciona mostrar un anuncio con tiempos como (1,5), entonces no puede mostrar el siguiente anuncio antes de las 10. Por lo tanto, el próximo anuncio (9,14) no puede ser posible, pero el anuncio (10,14) sí. Restricciones: m>=xi,yi>=0

Por ejemplo, m = 20,

Anuncios: [(6, 9), (9, 11), (11, 14), (14, 18)]  

Los valores de efectividad son [9, 10, 6, 7],

Respuesta: anuncio 0 y anuncio 4 (indexación basada en cero) Máx. efectividad = 16

2. Otro problema de DP: se dio una array de costos. Puedes dar dos saltos hacia adelante o uno hacia atrás. Si aterriza en un índice en particular, debe agregar el costo a su total. Encuentre el costo mínimo necesario para cruzar la array o llegar al final de la array.

3. Pregunta de codificación avanzada: Gráfico. No recuerdo exactamente la pregunta porque no la intenté.

Sección 2: 10 MCQ basados ​​en Dbms, sistema operativo, OOP, estructuras de datos, algoritmos y problemas matemáticos (probabilidad, etc.). Esta sección tenía marcado negativo.

Sección 3: 2 Preguntas subjetivas:  

  1. Escribe sobre tu experiencia trabajando en un equipo, donde no eras el líder. ¿Cuáles fueron sus aportes?
  2. Tiene sus exámenes finales de fin de semestre a partir de la próxima semana, y también tiene una entrevista con la empresa de sus sueños la próxima semana. ¿Qué harías?

Pude completar las dos primeras preguntas de DP y acerté la mayoría de los MCQ.

32 estudiantes fueron seleccionados para la siguiente ronda.  

*Enfóquese en los MCQ y también en las preguntas subjetivas. Son igualmente importantes. *  

Ronda 2: F2F

Tiempo total: 30–45 minutos

Esta ronda fue con uno de los VP. Me pidió que me presentara. Luego pasó a mis proyectos y pasantías. Hablamos sobre mi última pasantía y me pidieron que dibujara todo el pipeline o la arquitectura de mi proyecto de pasantía y las herramientas que usaba. La mayor parte de mi trabajo fue en Deep Learning, NLP, Data Science, por lo que comenzó a hacerme preguntas básicas de los dominios antes mencionados.

Luego me hizo una pregunta de codificación y dos acertijos.

Pregunta de codificación: me dieron una estructura similar a un gráfico como la siguiente:

Pregunta: Desde cada Node a partir de la raíz, puede pasar al siguiente nivel y a los Nodes conectados correspondientes. Encuentra la suma máxima de valores que puedes obtener desde la raíz hasta el último nivel.

Solución: enfoque Dp ascendente, comenzando desde el último nivel, es decir, las hojas. Siga agregando el valor máximo que podemos tomar de una capa en particular a la capa superior.

Fórmula: Node particular (nivel i) = Max (Node 1 al que está conectado (nivel i + 1), Node 2 al que está conectado (nivel i + 1))

Rompecabezas: https://www.geeksforgeeks.org/puzzle-25chessboard-and-dominos/

Y otro acertijo matemático que se me ha olvidado, pero es similar a los acertijos que encontrarás en Geeksforgeeks.

Intenta resolver tantos acertijos como puedas https://www.geeksforgeeks.org/puzzles/. Más o menos, de manera similar, se pedirán acertijos modificados.

Luego me preguntó si estaba familiarizado con SQL y bases de datos. Dije que lo era. Luego me pidió que escribiera dos consultas básicas, que pude. Se hicieron algunas preguntas más básicas sobre normalizaciones (1NF, 2NF, 3NF, BCNF) y propiedades ACID.

Finalmente, me preguntó si tenía alguna pregunta para él o no. Así que hice algunas preguntas que quería hacer sobre la empresa, en qué se diferencia un día normal en Goldman Sachs de otras empresas, etc.

Esta ronda fue bastante bien. Estaba satisfecho con mi entrevista y yo también. 14 fueron seleccionados para la siguiente ronda.

Ronda 3: F2F

Tiempo: 1:20 hora a 1:30 hora

Esta ronda fue la más importante para mí. El entrevistador me hizo preguntas relacionadas con mis proyectos, pasantías y probó mis habilidades de codificación. Tuvimos una discusión detallada de dos o tres de mis proyectos. También estaba trabajando en Deep Learning y, por lo tanto, hizo preguntas detalladas sobre diferentes algoritmos, técnicas de optimización, funciones de activación, diferentes modelos de redes neuronales y preguntas matemáticas de ML o DL. Incluso me preguntó cómo funciona Google Colab, ya que dije que entrené a mis modelos allí. Quería que comparara y contrastara diferentes enfoques o algoritmos. Me preguntó sobre los enfoques finales que usé y por qué los usé.

Preguntas de codificación:

       1. Plantas venenosas https://www.hackerrank.com/challenges/poisonous-plants/problem

       Solución: https://github.com/abhranil08/Leetcode/blob/master/Stacks/poisonousPlants.java

       2. K-ésimo elemento más pequeño en un BST. 

       Solución: https://www.geeksforgeeks.org/kth-smallest-element-in-bst-using-o1-extra-space/

       Esperaba la solución de Morris-transversal.

       3. Implemente Trie, Min-heap, Max-heap. Tuve que codificar las implementaciones en un papel y también las complejidades de tiempo y espacio de sus diferentes funcionalidades.

Hizo algunas preguntas sobre Java, ya que estaba codificando en él. Se hicieron preguntas de Core java: concepto de programación orientada a objetos, constructores, herencia, polimorfismo: preguntas de entrada/salida de tiempo de ejecución y polimorfismo en tiempo de compilación, interfaces y abstracción. También me preguntó sobre Redis, el almacenamiento en caché y la arquitectura MVCS tal como la implementé en una de mis pasantías.

Finalmente, empezamos a hablar de mis pasatiempos y todo eso. Fue muy amable y cooperativo.

Como es habitual, la entrevista finalizó con la pregunta “¿Tienes alguna pregunta para mí?”. En respuesta, hice más o menos el mismo tipo de preguntas que en mi entrevista anterior.

Esta entrevista también fue buena en mi opinión y aumentó mi confianza. Podría escribir una solución eficiente para la primera pregunta después de algunos consejos. Mientras iba en la dirección correcta, me dio pequeñas pistas que entendí. Para la segunda pregunta, escribí la solución ingenua al principio, pero luego quiso que mejorara. Entonces, después de un tiempo, escribí la solución transversal de morris. Tuve que pensar y llegar a la solución, por lo que me llevó algo de tiempo codificar mi solución final. Se revisaron casos de esquina para todas las preguntas de codificación. Implementé Trie and Heaps en mi primer intento.

Ronda 4: F2F con el gerente de contratación

Tiempo: 30–35 minutos

Esta ronda fue con un vicepresidente senior.

No quería que me presentara porque dijo que ya habían discutido sobre los estudiantes. Entonces comenzó con algunos temas de CS:

     1. Algunos algoritmos comunes: diferencia DFS y BFS; búsqueda de unión, diferencia de algoritmos de ruta más corta (algoritmo de Dijkstra, algoritmo de Floyd, Bellman-Ford, algoritmo de Johnson).

     2. Cómo funcionan internamente LinkedList, HashMap, HashSet. Preguntas sobre árboles autoequilibrados.

     3. ¿Cómo puedo resolver el problema de Resolución de Dependencias en un sistema? La solución sería la clasificación topológica. Sólo tenía que pasar por el algoritmo.

     4. Modificación del problema del atrapamiento del agua de lluvia. Sólo quería el algoritmo.

     5. Algunas preguntas básicas del sistema operativo sobre subprocesos, dos o tres algoritmos de programación diferentes, interbloqueos y semáforos. Me dio un problema con los semáforos y también me pidió que implementara un caché LRU (solo el algoritmo).

Luego, siguieron algunas preguntas de recursos humanos:

    1. Puedo ver que la mayor parte de su experiencia radica en la ciencia de datos, pero SUPONE que no le voy a dar ningún trabajo en ciencia de datos sino en desarrollo de aplicaciones, ¿cuál es su opinión al respecto?

    2. ¿Dónde te ves en 5 años? (Tuvimos una muy buena discusión sobre mis planes futuros).

    3. Puedo ver que representó a su estado en el cricket y que fue el capitán de su universidad, ¿cómo puede lograr un cambio en mi equipo en Goldman Sachs?

    4. Puedo ver que administraste bastante bien el tiempo equilibrando tu cricket y tus estudios, entonces, ¿por qué tu GPA es bajo?

    5. ¿Por qué no deberíamos contratarte? (Sea honesto acerca de este tipo de preguntas y no atrape todas las respuestas).

    6. ¿Estará contento con el hecho de que tendrá que dejar de jugar al cricket cuando comience a trabajar para Goldman Sachs? Dije que sí, así que la pregunta de seguimiento fue: ¿Cómo puedes ser feliz después de dedicar tanto tiempo a un deporte y luego trabajar en un banco de inversión?

    7. ¿Tiene alguna pregunta para mí?

Hubo más preguntas de recursos humanos, pero estas fueron las más importantes.

En esta ronda, se estaban enfocando principalmente en cómo me comunicaba. Para los temas de CS, solo tuve que discutir los algoritmos y no me pidieron que codificara. Las preguntas de recursos humanos eran solo para comprobar la confianza que tenía. Realmente nunca me preparé para estas preguntas. Respondí lo que sinceramente me vino a la mente.

No recuerdo exactamente el número de estudiantes convocados para la ronda final, pero no todos los 14 habían sido convocados. Finalmente, se seleccionaron 4.

*Se pidieron diferentes enfoques para cada pregunta de codificación y se esperaba la solución optimizada. Piensa en voz alta durante la entrevista.*

Veredicto: Seleccionado. 

Cosas para recordar:

  • No mientas en tu currículum.
  • Conozca todos los algoritmos comunes, sus complejidades espaciales y temporales.
  • Piense en voz alta durante su entrevista, comience con la peor solución y baje a la más eficiente que pueda pensar. A lo largo de todo el proceso, informe a su entrevistador cómo se está acercando a la solución. Pero NO hagas preguntas tontas. Pregunta, pero también piensa antes de todo lo que hablas.
  • No atrape las preguntas de recursos humanos. Se honesto.
  • La opinión de todos puede diferir conmigo sobre esto, pero no es obligatorio que Goldman Sachs tenga un GPA estelar. Yo mismo tenía un GPA bajo entre los buenos candidatos. Si tiene un GPA bajo, intente tener buenos proyectos, pasantías o actividades extracurriculares en su currículum.
  • La comunicación es muy muy muy importante. No se trata de tus habilidades para hablar sino de tu confianza. Tener confianza.
  • Extraer experiencias de cada entrevista. Con cada entrevista, mejoras. Trate de no pensar en su rechazo o aceptación. Esto te pondrá nervioso y estresado.
  • Use la pregunta «¿Tiene alguna pregunta para mí?» como una oportunidad para desarrollar una buena relación con su entrevistador.

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 *