Experiencia de entrevista de Synopsis para ingeniero sénior de I+D 1

Recientemente, pasé por cuatro rondas de entrevistas de Synopsys para Ingeniero sénior de I + D 1

La ronda 1: 

Preguntas basadas en resultados:

  1. C++

    int j = 0;
      
    for(int i = n; i > 1; i = i/2) j++;
      
    int add(int &a, int &b)
      
    {
      
     int c = a + b;
      
     return c;
      
    }
      
    int main()
      
    {
      
     int int1, int2, sum;
      
     sum = add(int1, int2);
      
    }
  2. C++

    int a =10;
      
    int &r = a;
      
    int b = 25;
      
    r = b;
      
    r++;
      
    cout << r << endl << a << endl << b << endl;
      
    void printArray(int A[])
      
    {
      
     // write code here
      
    }
      
    int main()
      
    {
      
     int Arr[5] = {2, 4, 6, 8, 10};
      
     printArray(Arr);
      
     return 0;
      
    }
  3. C++

    void ChangeArray(int A[], int n)
      
    {
      
     for(int i = 0; i < n; i++)
      
      A[i]++;
      
    }
      
    int main()
      
    {
      
     int Arr[5] = {2, 4, 6, 8, 10};
      
     ChangeArray(Arr, 5);
      
     for(int i = 0; i < 5; i++)
      
         cout << Arr[i] << " ";
      
     return 0;
      
    }
  4. C++

    void func(int n)
      
    {
      
     cout << n;
      
     func(n-1);
      
    }
      
    int main()
      
    {
      
     func(3);
      
     return 0;
      
    }
      
    int func(int n)
      
    {
      
     static int x = 0;
      
     if(n<=0)
      
      return 0;
      
     x++;
      
     return func(n-1) + x;
      
    }
      
    main()
      
    {
      
     func(5);
      
    }
  5. C++

    void foo(int n, int sum)
      
    {
      
     if(n==0) return;
      
     int k = n%10;
      
     int j = n/10;
      
     sum = sum + k;
      
     foo(j, sum);
      
     cout << k << ", ";
      
    }
      
    int main()
      
    {
      
     int a = 2048, sum = 0;
      
     foo(a, sum);
      
     cout << sum << endl;
      
    }
  6. C++

    int j = 0;
      
    for(int i = n; i > 1; i = i/2) j++;
      
    int i = n; 8
      
    int j = 0;
      
    while(i > 1) {
      
    j++;
      
    i = i/2;
      
    }
  7. C++

    void printArray(int A[])
      
    {
      
     // write code here
      
     int len = sizeof(A)/sizeof(A[0]);
      
     for(int i = 0; i < len; i++) {
      
      printf("%d ", A[i]);
      
     }
      
    }
      
    int main()
      
    {
      
     int Arr[5] = {2, 4, 6, 8, 10};
      
     printArray(Arr);
      
     return 0;
      
    }
  8. C++

    int func(int n)
      
    {
      
     static int x = 0;
      
     if(n<=0)
      
      return 0;
      
     x++;
      
     return func(n-1) + x;
      
    }
      
    main()
      
    {
      
     func(5);
      
    }
  9. C++

    void foo(int n, int sum)
      
    {
      
     if(n==0) return;
      
     int k = n%10;
      
     int j = n/10;
      
     sum = sum + k;
      
     foo(j, sum);
      
     cout << k << ", ";
      
    }
      
    int main()
      
    {
      
     int a = 2048, sum = 0;
      
     foo(a, sum);
      
     cout << sum << endl;
      
    }
  10. Cree un árbol de búsqueda binaria utilizando el orden previo y el recorrido en orden
  11. Preguntas sobre funciones virtuales en C++

La ronda 2:

  1. Cola de diseño usando pilas
  2. Elemento mayor siguiente y elemento menor anterior
  3. Declarar arreglo 2d en C++
  4. Qué significa cada declaración a continuación
    const char* p; // pointer itself is constant
    char * const p; // value is consstant  
    const char * const p; // both are constants
  5. Diseñe su propia clase de vector y la diferencia entre vector y array.

Ronda 3:

  1. Segundo elemento más grande en un BST.
  2. Ciclo en un gráfico dirigido y no dirigido
  3. Preguntas básicas de C++ relacionadas con funciones y constructores virtuales.

Ronda 4:

  1. Encuentra el siguiente número en la serie
    3, 5, 8, 13, 22
    3 * 2 = 6 - 1   5  
    5 * 2 = 10 - 2  8  
    8 * 2 = 16 - 3  13  
    13 * 2 = 26- 4  22
    22 * 2 = 44- 5  39
  2. Convierta el número de string en un número entero como atoi y asegúrese de que se cubran los casos de prueba adecuados
  3. Por qué buscar un cambio y algunas otras preguntas de comportamiento.

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 *