Experiencia en entrevistas de Synopsys (para ingeniero de I + D, Sr I)

Fui entrevistado en Synopsys Bangalore para Ingeniero de I+D, Sr. Publico. Hubo dos rondas de entrevistas telefónicas y luego seis rondas de entrevistas técnicas cara a cara y una ronda de discusión de recursos humanos.

Vuelta Telefónica 1: Me hicieron las siguientes preguntas.

  1. Discusión sobre el trabajo actual.
  2. La forma eficiente de atravesar una array 2D (recorrido de columna frente a fila).
  3. Polimorfismo en tiempo de ejecución (función virtual)
  4. Copia constructor y operador de asignación.
  5. Problema del diamante y cómo superarlo.
  6. Detectar bucle en una lista de enlaces.
  7. Construya un árbol binario de equilibrio a partir de una lista de enlaces ordenados.
  8. A partir de un flujo de enteros, realice la operación getMax(). getMax() devuelve el valor máximo de la transmisión y la próxima vez que esta función devuelva el valor máximo del resto de los elementos.

Ronda Telefónica 2:
Juego de dos pilas (https://coderinme.com/game-two-stacks-hackerrank-problem-solution/)

F2F Ronda 1: Me hicieron las siguientes preguntas.

  1. Preguntas de la lista enlazada.
    • Cree una lista de enlaces individuales a una lista de enlaces dobles.
    • Cree una lista de enlaces individuales a una lista de enlaces dobles donde el puntero anterior de un i-ésimo Node apuntará al (i-paso)-ésimo Node, el paso se dará en tiempo de ejecución. para todo i < paso, anterior será nulo.
  2. Encuentre un ciclo en un gráfico dirigido.
  3. Problema basado en el recorrido del árbol

F2F Ronda 2:

  1. Suma y cuenta dadas. Puede usar el único número entero del 1 al 9 (puede usar más de una vez) para hacer la suma. La restricción es que el número del elemento debe ser igual a Count. Encuentra todas las combinaciones posibles.
    Ejemplo:
    Sum = 10 and Count = 2
    Result is (1, 9), (2, 8), (3, 7), (4, 6) and (5, 5)
    1 + 9 = 10
    2 + 8 = 10
    3 + 7 = 10
    4 + 6 = 10
    5 + 5 = 10
  2. Me pidió que escribiera el código de sobrecarga del operador + para una clase que tiene solo una variable miembro entera. La clase tiene un constructor parametrizado. propuse dos enfoques
    • Enfoque 1:

      Un operador + (A const &src) {
      return (src.val + val);
      }
      Explicó cómo funciona.

    • Enfoque 2:

      Un operador + (A const &src) {
      A res;
      res.val = real + src.val;
      volver res;
      }

    Agregué un constructor de copias para futuras mejoras de la clase. Lo eliminó y preguntó si el código funcionará o no. Luego detalle la discusión sobre el constructor de copias.

F2F Ronda 3:

  1. ¿De cuántas maneras diferentes se pueden ordenar las letras de la palabra ‘CORPORATION’ de modo que las vocales siempre estén juntas?
  2. Diferencia entre array de estilo C y Vector

F2F Ronda 4:

  1. Discusión sobre el administrador de memoria. ¿Cómo ayuda el administrador de memoria a asignar memoria?
  2. Análisis de código de un programa en C que verifica si dos strings son un anagrama o no.
  3. Análisis de código de un código que asigna memoria utilizando malloc hasta que malloc devuelve NULL.
  4. ¿Por qué quiere dejar su organización actual?

F2F Ronda 5:

  1. Discusión detallada sobre el principio de funcionamiento de la función virtual. ¿Qué sucederá si una función virtual tiene algún parámetro de valor predeterminado?
    class A{
            A(){}
            virtual void foo(int var = 10) { std::cout<< var; }
           };
    
    class B: public A{
            B(){}
            void foo(int var = 7) { std::cout<< var; }
           };
    
          int main(){
              A *ptr = new B();
              ptr->foo();
              delete ptr;
              return 0;
           }
    
  2. Colorea todos los países o estados de los mapas geográficos donde no se pueda asignar el mismo color a dos países o estados adyacentes.

F2F Ronda 6:

  1. ¿Por qué Synopsis?
  2. Discusión sobre el trabajo actual y mi rol actual.
  3. Hay un reproductor de audio que toma una canción aleatoria de la lista de reproducción y la reproduce. La canción no debe repetirse hasta que todas las canciones se reproduzcan al menos una vez. El número de secuencia de las canciones se da en una array. Diseñe dicho reproductor de audio sin utilizar ningún espacio adicional.
    https://practice.geeksforgeeks.org/problems/picks-up-a-random-song-from-the-playlist-and-plays-it
  4. Cree 32 × 1 MUX usando 2 × 1 MUX.
  5. Discusión sobre la asignación de memoria usando malloc.
  6. ¿Qué harás si sientes que tu amigo está recibiendo el favor de tu gerente?

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 *