logo

Experiencia de entrevista de Goldman Sachs | Conjunto 19

Tuve una entrevista con GS en su oficina de Bengaluru. Tengo 4 años de experiencia en desarrollo full stack usando Java. Recibí una llamada de un consultor.
    Ronda 1
    1. ¿Con qué conceptos te sientes cómodo dentro de Java? Dije colecciones. ¿Preguntó qué clases de colección has usado? Dije HashMap ArrayList y HashSet.
    2. ¿Cuándo usarías Set y cuándo una lista? Dije que Set admite elementos únicos no nulos y List no tiene esa restricción. Entonces, si quiero elementos únicos, usaré Set. ¿Preguntó alguna otra consideración? Dije el tipo de consultas a realizar sobre la colección. Como buscar. ¿Preguntó algún ejemplo? Dije: base de datos de empleados. Los empleados deben ser únicos para que podamos usar Lista y buscar mediante búsqueda binaria o una técnica similar, ya que generalmente están ordenados en algún orden. Pero creo que esperaba la respuesta o el conjunto del tiempo de búsqueda O(1). Le expliqué el funcionamiento de HashMap y HashSet y cómo eso ayudaría a un desarrollador a lograr fácilmente la singularidad de los elementos, pero el entrevistador no quedó convencido con mi respuesta a su pregunta original.
    3. ¿Cuál es el contrato de iguales () y hashCode ()? ¿Qué pasa si uno se anula pero el otro no?
    4. Encuentra el segundo mínimo en una matriz determinada .
    5. Encuentre el punto de pivote en una matriz ordenada y rotada.
    6. ¿Alguna pregunta para mí?
    Ronda 2
    1. Dé una breve introducción sobre su experiencia laboral.
    2. Brinde una descripción general del diseño de su proyecto reciente.
    3. Supongamos que tengo una interfaz de usuario donde hay una lista o tabla de artículos y cada artículo tiene un atributo de ganancia, un atributo de descuento, etc. Cómo garantizar que varios usuarios no dejen el estado de ningún artículo inconsistente. El usuario puede actualizar los atributos o algún otro servicio web puede hacer lo mismo. Sugerí sincronizar los métodos de configuración del elemento. Preguntó cómo clasificar los artículos. Dije que los elementos residirían en una lista de matriz e implementé la interfaz Comparable. Pidió un código de trabajo. Cuando escribí la expresión dentro del método compareTo(), dijo que el diseño no es flexible ya que existe una codificación estricta de los criterios de clasificación. Dijo que cuando alguien quisiera ordenar por otro atributo, sería imposible gestionar tantos objetos duplicados. Dije que podemos hacerlo con el patrón del método de fábrica. Ante esto, efectivamente puso fin a la ronda de entrevistas. En algún momento mencionó la interfaz Comparator y le expliqué cómo funciona. Dije que es una buena opción si no se quiere modificar las clases existentes. Creo que esperaba la implementación del método compare() ya que eso no requeriría objetos duplicados y la clasificación según diferentes criterios se puede realizar simplemente implementando Comparator en diferentes clases, una clase para cada criterio de clasificación y luego invocando el método sort() de la clase Colecciones con esa implementación de Comparator.
    4. ¿Alguna pregunta para mí?
    Me dijeron que se fuera por el día. Consejo: Intente no mencionar patrones de diseño a menos que se lo soliciten o tenga experiencia en resolver problemas con patrones de diseño. Escuche al entrevistador y esté alerta. Proporcionan pistas. En la ronda 1 también cometí un error en la pregunta de matriz rotada. Dio un caso de prueba en el que mi código fallaría. Corregí el error. Duerma lo suficiente antes del día de la entrevista. Todos los problemas de práctica para Goldman Sachs ! Crear cuestionario