Synopsis Entrevista Experiencia | 4 años de experiencia

Ronda de selección con el gerente de contratación (1 hora y 30 minutos):

  1. Se le preguntó sobre los proyectos actuales de la empresa y el lenguaje de codificación. en el que he trabajado. La experiencia de C++ es muy imp. para ellos.
  2. ¿Cómo te calificas en C++, principiante/intermedio/excelente? dije intermedio
  3. Diff b/w malloc y new que conducen a una discusión sobre Constructores. Escriba la sintaxis para el constructor de copias. ¿Por qué el argumento para copiar el constructor se pasa como referencia?
  4. https://www.geeksforgeeks.org/merge-3-sorted-arrays/ . Primero dijo el enfoque de fusión usando 2 arrays a la vez. Pero eso necesita más espacio extra. Entonces, el entrevistador pidió reducir la complejidad del espacio a O(1). Luego, se le dijo al enfoque que usara una array adicional de tamaño 3. Se requería un código de trabajo.
  5. https://www.geeksforgeeks.org/puzzle-9-find-the-fastest-3-horses/
  6. https://www.geeksforgeeks.org/count-set-bits-in-an-integer/
  7. https://www.geeksforgeeks.org/detect-loop-in-a-linked-list/
  8. https://www.geeksforgeeks.org/puzzle-set-35-2-eggs-and-100-floors/
  9. https://www.geeksforgeeks.org/maximum-sum-path-across-two-arrays/

Indiqué el enfoque de usar árboles/gráficos y luego verifiqué cada posibilidad, pero no pude escribir el código. El entrevistador me dijo el enfoque correcto y terminó la entrevista. 

Ronda Técnica (1 hora):

  1. Preguntado sobre los proyectos actuales de la empresa.
  2. Cuando me preguntaron si había trabajado en funciones de C++ 11 como el constructor de movimientos, los punteros inteligentes, etc. Le dije que no había trabajado, pero que tenía una idea al respecto.
  3. Diferencia b/w memory mgmt usando malloc y new
  4. Dadas 2 listas enlazadas que contienen datos de un solo dígito, ambas tienen la misma longitud. Discusión sobre diferencias. Enfoques para agregar 2 listas vinculadas
    L1 : 3  ->  5  ->  7
    L2 : 4  ->  4  ->  5
    L3 : 8   -> 0  ->  2
    add (L1, L2)
    • Le dije al enfoque que invirtiera la lista vinculada y luego realizara la adición, luego agregó la restricción de que la lista vinculada no se puede modificar
    • Le dije al enfoque que lo hiciera usando recursividad, ya que tenía una complejidad de espacio de O (n) para llamadas de pila, pidió hacerlo en el espacio constante
    • Dio una pista de que si la suma de 2 dígitos <= 8, entonces no se propagará hacia atrás. entonces, mantenga 2 punteros previos, apuntando a Nodes tales que su suma <= 8 y 2 punteros actuales si la suma de punteros actuales es> = 10, luego de anterior a actual, necesitamos propagar el acarreo. Pidió atravesar los Nodes de la lista de entrada solo una vez
    • El enfoque fue que necesitamos mantener ptr del último Node de suma con sum<=8 y tan pronto como sum>=10, significa que desde el Node anterior al actual, todos los Nodes de suma son cero.

    https://www.geeksforgeeks.org/add-the-given-digit-to-a-number-stored-in-a-linked-list/ -> extensión de este problema

Ronda Técnica (2 h):

  1. Preguntado sobre los proyectos actuales de la empresa.
  2. ¿Qué es la función virtual y su implementación interna?
  3. Pregunta basada en resultados

    C++

    class A{
      
    int a;
      
    public:
      
    void show(){
      
     cout<<"show";
      
    }
      
    void show1(){
      
     cout<<"show1:"<<a;
      
    }
      
    };
      
    int main() {
      
    A* ptr=NULL;
      
    a->show();   //will program crash-?
      
    a->show1();  //will program crash-?
      
    return 0;
      
    }

    También preguntó la razón.

  4. Se le pidió que implementara BST (insertar, imprimir) en C++. Lo implementé con funcs. Luego pidió implementarlo usando las características de encapsulación y abstracción de C++. Mantuve la estructura Node fuera de mi clase Tree. Pidió ponerlo dentro de la clase Tree y preguntó sobre las clases internas. Luego me pidió que lo hiciera genérico, lo hice. Además, pidió definir su propio DS (que tiene 2 enteros) para el Node del árbol, se requirieron muchas modificaciones para eso en el código. Se agregó el código de sobrecarga del operador para la comparación de objetos MyDS en blanco y negro. Pero la función de impresión también debe corregirse. Para eso se requería la función de amigo. Me pidió que aceptara la ayuda de Google.
  5. https://www.geeksforgeeks.org/puzzle-21-3-ants-and-triangle //en mi caso en lugar del triangulo era cuadrado
  6. http://www.crazyforcode.com/3-mislabeled-jars/
  7. Cuando se le preguntó sobre el problema del árbol, discutió por qué estamos regresando ostream de la función de amigo.
  8. Luego pregunta de comportamiento por qué quieres cambiar. También hablé de sinopsis.

Ronda de directores (30 minutos): debate general sobre el trabajo y la cultura laboral

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 *