Experiencia de entrevista de DE Shaw para SDE | Fuera del campus 2021

Ronda de codificación en línea: hubo tres preguntas de codificación y MCQ. Cada sección tenía un tiempo asignado fijo. Los MCQ se basaron en habilidades generales de resolución de problemas y fundamentos de CS.

Preguntas de codificación:

  1. Dos jugadores A y B juegan un juego de piedras en el eje x positivo, la piedra está inicial en el punto 0 y se le da un punto N. En cada movimiento, el jugador puede mover la piedra i 2 (i > 0) pasos hacia el punto N. El jugador gana si puede mover la piedra al punto N. Debe indicar qué jugador ganará. (Nota: la piedra nunca puede moverse más allá del punto N)
    Example:
    Input: 5
    Output: B
    Explanation:
    Player A can either move 
    the stone by 1(1*1) or 4(2*2). 
    No matter which move player A chooses,
    Player B can always choose a move to 
    reach 5 and win.
  2. Dada una array de N números, debe generar el valor máximo V entre todos los subarreglos donde el valor V para un subarreglo A[L..R] se define como sum(A[L…R])*MAX(A[L …R]) 1 <= L <= R <= N.

    Restricciones: 1 <= A[i] <= 1e9, 1 <= N <= 1e5

    Example:
    Input: 1 -1 2 3 -4
    Output: 15
    Explanation:
    The subarray which gives maximum
    value V is A[3..4] = {2,3}, 
    V = (2+3)*MAX(2,3) = 5*3 = 15

Había una pregunta más que no recuerdo.

Pude resolver la mayoría de los MCQ y una pregunta de codificación parcialmente.

Después de 10 días recibí una llamada para mi primera entrevista técnica.

Ronda 1 (Entrevista Técnica): Duración: 1hr

La entrevista se realizó en la plataforma de par de códigos hackerrank. La entrevista me pidió que me presentara y compartiera los detalles de mi proyecto de pasantía. Luego me hizo algunas preguntas de seguimiento sobre mi proyecto de pasantía durante unos 5 minutos.

Luego pasó a preguntas relacionadas con los fundamentos de CS:

  1. Fases del compilador
  2. Enlazador y cargador
  3. ¿Cómo se almacena el programa en la memoria? ( https://www.geeksforgeeks.org/memory-layout-of-c-program/ )
  4. Si mi PC tiene 8 GB de RAM y abro un archivo de 50 GB en un editor. ¿Cuáles son los posibles resultados?

DSA:

  1. Implemente una función aleatoria que tenga los siguientes requisitos:

    una. El número aleatorio generado debe ser completamente impredecible

    b. El rendimiento debe ser bueno

    Le di una solución basada en usar la marca de tiempo actual y multiplicarla por un número primo para generar el número aleatorio. Dijo que es un gran comienzo, pero el rendimiento de su función sería lento, ya que la función de tiempo que usará necesitará golpear el reloj cada vez para obtener la hora actual. Entonces, me dijo que optimizara mi solución. Seguí compartiendo mi proceso de pensamiento, pero no pude encontrar nada que funcionara. Después de unos minutos, el entrevistador pasó a la siguiente pregunta.

  2. Dada una array de elementos distintos, puede elegir cualquier subconjunto de la array y reordenarlos. Puede colocar los siguientes operadores entre ellos: +, -, *, /, (, ) y evaluar el valor de la expresión. Su tarea es encontrar el número positivo mínimo que no se puede formar usando los elementos de la array. Puede usar los elementos de una array solo una vez para una expresión.
    Example:
    Input: [1, 2]
    Output: 4
    Explanation:
    1 and 2 are already present in the array.
    You can make 3 by adding 1 and 2 i.e. 3 = 1+2
    There no possible way to make 4.

    Solo pude decir el enfoque de fuerza bruta y la complejidad del tiempo para este problema. Me pidió que lo optimizara. Compartí algunas ideas e hice una analogía con el problema de la suma de subconjuntos, pero al final no pude resolver el problema.

Veredicto: Rechazado

¡¡Mis mejores deseos!!

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 *