Experiencia de entrevista en Goldman Sachs (pasantía de verano, en el campus)

Recientemente, Goldman Sachs realizó una serie de pruebas en nuestra universidad para seleccionar pasantes de verano e intentaré anotar mi experiencia en detalle aquí para ayudar a otros a prepararse 🙂

Ronda 1:  La primera ronda fue una prueba en línea realizada en la plataforma Hackerrank. Consistía en 18 preguntas de opción múltiple: 8 de temas generales de informática, como análisis de complejidad temporal, verificación de sintaxis y lenguaje formal, y 10 preguntas sobre estadística y probabilidad. Puntuación: +10 por cada respuesta correcta, -2 por respuestas incorrectas.

También hubo una pregunta de codificación de 20 puntos. La pregunta era la siguiente: nos dieron una array de strings que representaban los nombres de las ciudades y 2 arrays 1-D más que representaban las coordenadas x e y de las ciudades, en orden (así que city[0], x[0] y y[0] tendrá la información completa de la primera ciudad). Luego, tuvimos que responder m consultas en las que para cada consulta se nos dio un nombre de ciudad y tuvimos que devolver una ciudad que tuviera las coordenadas x o y en común con la ciudad actual y que estuviera a la distancia más corta posible de esa ciudad. Si existían varias ciudades de este tipo, teníamos que devolver la lexicográficamente más pequeña y, en caso de que ninguna ciudad tuviera x o y en común con la ciudad actual, teníamos que devolver «NINGUNA».
Restricciones : n (Número de ciudades) y m (número de consultas)<=10^5
Longitud del nombre de la ciudad<=10
Todas las ciudades tendrían coordenadas únicas.

Utilicé un enfoque de clasificación personalizado y mantuve 2 arreglos (ordenar según la coordenada x en un arreglo y la coordenada y en el otro, seguido del orden lexicográfico) y luego realicé una búsqueda binaria sobre el arreglo para obtener la ciudad lexicográficamente más pequeña. También había usado un Hashmap para recuperar rápidamente el nombre de la ciudad a partir de las coordenadas.

12 personas fueron seleccionadas para más rondas.

Ronda 2:  Inicialmente, el entrevistador me pidió que me presentara durante aproximadamente 5 minutos y luego comenzó a hacerme preguntas de mi currículum. Creo que, dado que mencioné Java como mi idioma principal en mi currículum, las preguntas se derivaron principalmente de eso, algunas de las cuales fueron:

  1. Explique el significado de “public static void main (String args[])” en un código Java. ¿Qué sucede si se omite alguna de estas palabras clave? ¿Hay algún trabajo alrededor?
  2. ¿Por qué Java no admite la herencia múltiple?
  3. Diferenciar entre JVM, JRE y JDK.
  4. ¿Cómo imitar el comportamiento de los punteros usando referencias en Java?
  5. ¿Qué sabes sobre las rutinas del recolector de basura en la JVM?
  6. Explicar los subprocesos múltiples en Java.

También me hicieron preguntas básicas sobre algoritmos como:

  1. Encuentre el ancestro común más bajo en un árbol de búsqueda binaria ( https://www.geeksforgeeks.org/lowest-common-ancestor-in-a-binary-search-tree/ )
  2. Detectar si una lista vinculada tiene un bucle ( https://www.geeksforgeeks.org/detect-loop-in-a-linked-list/ )
  3. Maximice las ganancias comprando y vendiendo acciones solo una vez ( https://www.geeksforgeeks.org/stock-buy-sell/?utm_source=tuicool )

Terminó la entrevista haciéndome de nuevo preguntas básicas como “¿Tienes alguna idea de cómo opera Goldman Sachs?”, “Si tuvieras que elegir entre Goldman Sachs y Microsoft, ¿cuál elegirías? ¿Por qué?» y finalmente, la más predecible, “¿Tienes alguna pregunta para mí?”

6 personas fueron seleccionadas para la ronda final.

Ronda 3:  esta ronda fue rápida y giró en torno a algoritmos y acertijos (bueno, muchos  acertijos). Algunos de ellos involucrados:

Algoritmos/Estructuras de datos:

  1. Implemente una pila usando colas.
  2. Comprueba si la representación binaria de un número decimal es un palíndromo.
  3. Dado un conjunto de k bolas (siendo el número de cada bola n1, n2…nk), cuente la cantidad de maneras de colocarlas en una recta numérica de modo que sigan una secuencia dada (por ejemplo, si n=3 y la secuencia es GYB, la última bola verde debe venir antes de la última bola amarilla que a su vez debe venir antes de la última bola azul)
  4. Implemente un gran cálculo factorial sin la ayuda de bibliotecas como BigInteger en Java.
  5. Una discusión sobre la eficiencia relativa y el uso de árboles versus mapas.

Rompecabezas/probabilidad: Bueno, estaba muy contento de haber practicado el archivo de rompecabezas de GeeksForGeeks ya que las preguntas me eran familiares en su mayoría (:P)

  1. Rompecabezas de camello y plátano ( https://www.geeksforgeeks.org/puzzle-15-camel-and-banana-puzzle/ )
  2. Conozca el salario promedio sin revelar los salarios individuales ( https://www.geeksforgeeks.org/puzzle-26-know-average-salary-without-disclosing-individual-salaries/ )
  3. Encontrar los 3 caballos más rápidos ( https://www.geeksforgeeks.org/puzzle-9-find-the-fastest-3-horses/ )
  4. Si un número aleatorio de hormigas camina sobre un palo de 1 m de largo y si después de una colisión entre 2 hormigas  invierten instantáneamente  sus velocidades, ¿cuál es el tiempo mínimo en el que se garantiza que todas las hormigas se caerán de la mesa? Las hormigas pueden estar en cualquier parte del palo inicialmente y pueden elegir cualquier dirección para moverse. (Respuesta: 1 segundo)
  5. Si un solo jurado tiene una probabilidad p de tomar la decisión correcta y hay un jurado de 3 personas donde 2 miembros del jurado tienen la misma probabilidad  y el tercero tiene  1/2 probabilidad de tomar una decisión correcta, ¿cuál es mejor? ¿Tu respuesta depende del valor de  p ? (Respuesta: Ambos son equivalentes)

El truco es mantener la calma y hacerle saber al entrevistador lo que estás pensando en caso de que te quedes atascado, ¡ya que definitivamente te ayudará!

Finalmente, dos personas fueron seleccionadas de nuestra universidad para la pasantía, una de las cuales fui yo.

Publicación traducida automáticamente

Artículo escrito por Uni_Omni 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 *