Experiencia de entrevista de Intercambio de productos múltiples (MCX)

Ronda 1: Entrevista telefónica

  • Descríbase: cuál es su función actual, los proyectos en los que está trabajando en la empresa actual y las tecnologías utilizadas.
  • Me preguntó si conocía Java. Dije que no tengo experiencia profesional, pero conozco el núcleo de Java en buena medida.
  • Diga algunas características de Java 8: dije Streams y traté de explicarlo. A continuación, hablé sobre los métodos predeterminados en las interfaces.
  • Me preguntó si sabía cómo funcionaba Streams internamente. Yo digo que no sabía.
  • Acerca de las funciones lambda, qué son: dije que son funciones anónimas que se usan cuando no queremos crear una función separada que no se usará muchas veces. Dio un ejemplo y afirmó que la función lambda es un concepto de programación funcional (de la que no sabía mucho).
  • Explicar el tiempo de ejecución y el polimorfismo en tiempo de compilación.
  • Explique qué es la encapsulación en OOPS.
  • ¿Qué se entiende por abstracción? Diferencia entre clase abstracta e interfaz.
  • ¿Ha utilizado subprocesos múltiples en su empresa? Dé un ejemplo en el que haya usado (Él quería un ejemplo de proyectos en los que trabajé en la empresa actual).
  • Dada una lista de enlaces sencillos de longitud impar, encuentre el punto medio en ella, es decir, encuentre el Node que está en el medio de la lista. Dijo que no puedo usar más de 1 bucle.
    Mi solución (ineficiente, pero usa solo un ciclo):
    int getMiddleValue(Node head) {
        Node p = head;
        int cnt = 0, i = 0;
        boolean flag = false;
        while (true) {
            if (!flag && p != null) {
               p = p.next;
               cnt++;
            }
            else if (p == NULL) {
              p = head;
              flag = true;
            }
            else if (flag) {
              if (i < cnt / 2) p = p.next;
              else return p.val;
            }
       }
    }

    Solución óptima: use dos punteros, un puntero salta con la distancia 1, otro puntero salta con la distancia 2. Cuando el otro alcance el final de la lista, el primero estará en el medio.

  • Comprueba si un número es primo sin usar operadores de módulo, división o multiplicación. Se permite cualquier número de bucles.
    Pista: la división es solo una serie de restas. Solución: encuentre el resto restando repetidamente. Cuando el número se vuelve negativo, divisor – número es el resto.
    public int getRemainder(int number, int divisor) {
        while (number >= 0) {
            number -= divisor;
        }
        return divisor - number;
    }
  • Explique la recursividad. ¿Qué cuidado se debe tener al usar la recursividad? Caso base para salir de la recursividad. ¿Qué estructura de datos utiliza la recursividad? Pila. Dada una pantalla de función con un solo argumento n. Imprime números del 1 al n usando recursividad. Sugerencia: pila.
    public void display(int n) {
        if (n == 0) return;
        display(n - 1);
        System.out.println(n);
    }

Ronda 2: Entrevista cara a cara

  • Describete.
  • Preguntas sobre currículum, trabajo en la empresa actual, tecnologías utilizadas. Había trabajado con C++, por lo que me preguntaron si me sentía cómodo con Java.
  • Preguntas sobre algunos proyectos. En un proyecto dije que había usado Naive Bayes y me pidieron que escribiera una fórmula.
  • ¿Utilizó interfaces/herencia en el proyecto? Dije que no ni herencia.
  • ¿Qué es la encapsulación? ¿Conoces los subprocesos múltiples? Dije que sí, ya que había trabajado con subprocesos múltiples en C++ y dije que no es difícil en Java.
  • Diferencia entre Array y ArrayList.
  • Desplazar un valor de cambio dado array en dirección inversa o en sentido antihorario.
  • Si sabía SQL y cuánto lo sabía.
  • Me preguntaron si me sentía cómodo escribiendo consultas complejas que involucraban procedimientos, uniones, etc.
  • ¿Qué tan bueno eres con la gente? ¿Trabajando en un equipo? ¿Te gustan los desafíos y puedes manejarlos? Si usted es la persona a la que le gustan los desafíos o simplemente piensa en ello como una carga. Dije que soy en parte ambos, se rieron.
  • ¿Te gustará trabajar en proyectos desde cero? Dije que podría necesitar algo de ayuda.

La entrevista duró apenas 30 minutos.

Ronda 3: Entrevista cara a cara

  • Primero hubo una interacción con una persona en una cabaña. Hizo preguntas sobre educación, experiencia laboral, proyectos trabajados. Preguntó CTC actual y esperado. Dijeron que si no obtengo el incremento del año en curso a tiempo, considerarán mi último salario actualizado. Estaba un poco insatisfecho después de escuchar eso.
  • Luego me llevó a otra cabaña donde ya estaban cuatro entrevistadores.
  • Primero me preguntaron sobre la experiencia laboral. Como había trabajado con C++, me preguntaron sobre el proceso de compilación de principio a fin.
  • Dijeron que el rol era Java, así que me pidieron que calificara mi conocimiento del 1 al 10. Califiqué 7, así que me preguntaron por qué y dije que conozco el núcleo de Java, pero que aún puede haber muchos conceptos que desconozco.
  • Me preguntaron dónde he usado Java, dije en un proyecto y ocasionalmente en programación competitiva.
  • Preguntaron sobre la programación del socket y los pasos. Mientras contaba los pasos, me preguntaron algo sobre el descriptor del archivo y el socket. Nunca había usado el descriptor de archivos junto con los sockets en Java. Más tarde descubrí que había una clase separada FileDescriptor en Java SE.
  • Me preguntaron si tenía alguna experiencia en UI y dije que había trabajado con Java Swing en Netbeans. Me preguntaron si tenía experiencia con Angular JS, dije que no, pero que conocía tecnologías web básicas.
  • Dijeron que puedo irme por el día entonces.

Nuevamente, la entrevista duró apenas 30 minutos.

Ronda 4: Entrevista telefónica

  • Descríbete a ti mismo y describe tu trabajo.
  • ¿Qué baja latencia se aseguró en los proyectos en empresa?
  • Diferencia entre OOPS en C++ y Java.
  • ¿Por qué buscar un cambio de trabajo?

Recibí una oferta después de unos días.

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 *