Experiencia de entrevista de Ubisoft | Presencial 2021

  • Entrevista en el campus
  • Rol: Pasante de I+D + PPO
  • Número total de rondas: 4 rondas
  • Nivel de dificultad: Medio

Ronda 1 (Ronda de codificación – 60 min): La primera ronda consistió en 2 Preguntas de codificación en la plataforma https://www.codility.com/.

  • El primer problema es para la codificación y la segunda pregunta es para encontrar errores y corregirlos.
  • La primera pregunta fue fácil, pero la segunda pregunta fue un poco complicada (obtenemos un número limitado de líneas que podemos cambiar para corregir el código. En mi caso, solo puedo cambiar 3 líneas en el código).

Consejos: Resuelva las preguntas con una mente tranquila. No te estreses durante el examen porque tienes que hacer 2 preguntas en 60 minutos. Hay tiempo suficiente para resolver dudas.

Ronda 2 (Ronda técnica 1 – 60 min): El entrevistador comenzó con una Introducción de ambos lados y luego pasó inmediatamente al proyecto que mencioné en mi currículum.

  • Proyecto basado en Descentralización del sistema de bibliotecas (pila MERN). Discutimos el proyecto durante unos 15 min.
  • Luego pasó a CPP y OOP.
  • Explicar los conceptos básicos de la programación orientada a objetos.
  • ¿Qué son los polimorfismos y sus tipos?
  • Escriba código para polimorfismo dinámico con ejemplos de la vida real.
  • ¿Qué es un constructor de copias? ¿Y su sintaxis?
  • ¿Por qué escribimos «const» y pasamos un objeto como referencia en el constructor de copias? ( https://www.geeksforgeeks.org/copy-constructor-in-cpp/ )
  • ¿Qué es copia superficial y copia profunda? ¿Qué constructor de copia hace qué tipo de copia y en qué condición? (preferir el enlace de arriba para la respuesta)
  • ¿Qué pasará en el código?

    C++

    #include <iostream>
    using namespace std;
      
    class Demo {
    public:
        Demo() {}
        Demo(const Demo& t)
        {
            cout << "Copy constructor called " << endl;
        }
      
        Demo& operator=(const Demo& t)
        {
            cout << "Assignment operator called " << endl;
            return *this;
        }
    };
      
    int main()
    {
        Demo t1, t2;
        t2 = t1;
        Demo t3 = t1;
    }
    Producción

    Assignment operator called 
    Copy constructor called 
  • Luego me pidió que escribiera un código para 1 programa simple: Dada una string como entrada. número de salida de caracteres similares continuos.
    Input: “abccchddgdddhccaaa”
    Output:  
    c: 3
    d: 2
    d: 3
    c: 2
    a: 3
  • Me preguntó, ¿tiene alguna pregunta?

Ronda 3 (Ronda técnica 2 – 45 min): nuevamente Comience con una introducción y discusión sobre 2-3 proyectos.

  • ¿Qué son las variables constantes?
  • ¿Podemos inicializar variables const en el constructor? ¿Por qué?
  • Si queremos que un constructor inicialice las variables constantes, ¿cómo podemos hacer eso? explique. (Respuesta: lista de inicialización)
  • ¿Qué es la clase Singleton? Escriba 1 ejemplo de una clase singleton?
  • ¿Qué es una clase vacía? ¿Cuál es el tamaño de una clase vacía?
  • ¿Qué es llamar por valor, llamar por referencia, llamar por dirección?
  • ¿Dónde podemos usar estas llamadas? (continuar con la pregunta anterior)
  • ¿Qué son los punteros? ¿Cuál es el tamaño del puntero char, el puntero entero, el puntero de clase?
  • Me pidió que escribiera un programa. https://leetcode.com/problems/max-consecutive-ones/ 
  • Me preguntó, ¿tiene alguna pregunta?

Ronda 4 (HR Ronda – 20 min):

  • Dime algo sobre ti.
  • ¿Por qué quieres unirte a Ubisoft?
  • ¿Tienes algún plan de estudios superiores?
  • ¿Tiene alguna restricción de ubicación?
  • ¿Alguna pregunta?

Después de 2 días obtuvimos el resultado y fui preseleccionado.

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 *