Experiencia de entrevista de pasantía de TurboHire

Ronda 1 (1 hora 30 minutos): constaba de 3 preguntas de codificación.

Las preguntas de codificación fueron:

  1. ENVÍOS 1

    Hay N barcos parados en el puerto de Byteland. Bob es el supervisor del puerto. Es su trabajo cargar el barco con algo de carga. Sin perder tiempo, cargó el barco de lavado con un peso aleatorio de carga. Sin embargo, los capitanes de todos los barcos han decidido que no tomarán la carga a menos que el peso de la carga en cada barco sea el mismo. Ahora, para arreglar esto y aquello también en el menor número posible de movimientos, de lo contrario estará en problemas. Un movimiento significa mover una tonelada de carga de un barco a otro. Necesita tu ayuda para encontrar el número mínimo de movimientos.

    Entrada: la primera línea consta de un número entero N (1<=N<=10^4), es decir, el número de barcos y la siguiente línea consta del peso actual de la carga en cada barco (1<=W<=10^4) .

    Salida: imprime el número mínimo de movimientos, si es imposible tener el mismo peso en cada barco, imprime -1.

    Entrada de muestra 1

    5

    1 1 1 1 6

    Salida de muestra 1

    4

    Entrada de muestra 2

    10

    4 3 2 5 2 1 2 3 3 4

    Salida de muestra 2

    -1

    Y el código que envié fue,

    C++

    #include <bits/stdc++.h>
    using namespace std;
    int main()
    {
        int n;
        cin >> n;
        int a[n];
        int s=0;
        for(int i=0;i<n;i++)
        {
            cin >> a[i];
            s=s+a[i];
        }
        if(s%n!=0)
        cout << -1 <<"\n";
        else
        {
            int k=s/n;
            int s1=0;
            int ans=0;
            for(int i=0;i<n;i++)
            {
                if(a[i]>k)
                {
                    s1=s1+(a[i]-k);
                }
                else
                {
                    ans=ans+abs(a[i]-k);
                    s1=s1-abs(a[i]-k);
                }
            cout << ans <<"\n";
        
    }

    La solución anterior pasó todos los casos de prueba ocultos y de muestra.

  2. Ascensión estelar

    Analice la salida dada en los ejemplos para una entrada N. Escriba un programa que imprima el patrón similar.

    Entrada: una línea que contiene un número entero, N

    Salida: una estrella ‘*’   y un patrón numérico, que se deducirá de las muestras.

    Restricciones: 0<N<999

    Entrada de muestra 1

    1

    Salida de muestra 1

    *

    Entrada de muestra 2

    2

    Salida de muestra 2

    1*

    *2

    Ejemplo de entrada 3

    3

    Salida de muestra 3

    12*

    1*3

    *23

    C++

    #include <iostream>
    using namespace std;
    int main()
    {
        int n;
        cin >> n;
        int arr[n][n];
        for (int i = 0; i < n; i++) {
      
            for (int j = 0; j < n; j++) {
                arr[i][j] = j + 1;
            }
        }
      
        for (int i = 0; i < n; i++) {
            for (int j = 0; j < n; j++) {
      
                if ((i + j) == (n - 1))
                    cout << '*';
                else
                    cout << arr[i][j];
            }
            cout << "\n";
        }
        return 0;
    }

    La solución anterior pasó todos los casos de prueba ocultos y de muestra.

  3. Niños y niñas

    Tienes x no de niños y y no de niñas. Tienes que alinearlos en línea recta de manera que el número mínimo de niños y el número mínimo de niñas estén juntos. Emite el máximo del mínimo de los dos anteriores.

    Entrada: Dos enteros x, y es decir, no de niños y niñas.

    Salida: Max o min de niños y niñas de pie juntos.

    Entrada de muestra: 

    3 4

    Salida de muestra:

    1

    C++

    #include <algorithm>
    #include <cmath>
    #include <iostream>
    using namespace std;
    int main()
    {
        int x, y, minm, maxm, res;
        cin >> x >> y;
        minm = std::min(x, y);
        maxm = std::max(x, y);
        res = ceil((maxm * 1.0) / (minm + 1));
        cout << res;
        return 0;
    }

    La solución anterior pasó todos los casos de prueba ocultos y de muestra.

Ronda 2 (30 minutos): esta ronda fue simplemente la discusión de la Ronda 1 y también algunas preguntas más de codificación, solo tenía que decir la lógica y el enfoque.

Las preguntas fueron:

  1. x no de autos están presentes y sus velocidades se dan en una array. Tienes que calcular cuántas veces un coche supera al otro. El ejemplo [5,4,3] es la array de velocidad, el automóvil con velocidad 5 supera a los otros dos, por lo que la respuesta es 2.
  2. Se le dan 2 listas vinculadas, debe devolver el valor de Node de la intersección de dos listas vinculadas.

Pude decir el enfoque de la primera pregunta pero no pude responder la segunda.

Veredicto final: SELECCIONADO

Publicación traducida automáticamente

Artículo escrito por rgndunes 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 *