Experiencia de entrevista de Walmart para SDE | Presencial 2021 (Virtual)

Walmart Global Tech visitó nuestro campus en el mes de agosto para contratar estudiantes para el puesto de Ingeniero de Desarrollo de Software.
Inicialmente, hubo una preselección basada en CGPA, después de lo cual se seleccionaron alrededor de 250 estudiantes para asistir a la evaluación en línea.

Evaluación en línea: la plataforma fue HackerEarth, el tiempo de duración fue de 1 hora

  • 10 MCQ técnicos, pertenecientes a OOPS, OS, DBMS, Networks y SQL
  • 2 preguntas de codificación de nivel medio-difícil

Las preguntas de codificación fueron:

  1. Se le dan dos strings A y B que están hechas de alfabetos ingleses en minúsculas. Encuentre el número de pares diferentes ((i,j), (k,l)) tales que las substrings A[i…j] y B[k…l] sean iguales y el valor de j-i+1 sea mínimo.

    C++

    // Solution to Q1
    int smallest_common_substrings(string A, string B) {
        char freq[256] = {0};
      
        for (char c : A) {
            freq++;
        }
      
        int sum = 0;
      
        for (char c : B) {
            sum += freq;
        }
      
        return sum;
    }
  2. Dada una array de N elementos a1,a2…..an
    Dados dos números enteros K y X. Donde K denota el número máximo de saltos que puede realizar en cualquier dirección desde la posición i, puede saltar a la posición j en un solo paso solo si abs(ji) <= K y 1<=j<=n.
    Saltar de i a j costará X cantidad si a[i] = a[j].
    Encuentre el costo mínimo para llegar a la posición N desde la posición 1.

    C++

    //Solution to Q2
    #include <bits/stdc++.h>
    using namespace std;
      
    int solve(vector<int> &arr, int n, int k, int x)
    {
        vector<int> dptable(n, INT_MAX);
        dptable[0] = 0;
      
        for (int i = 0; i < n; i++)
        {
            for (int j = max(0, i - k); j <= min(n - 1, i + k); j++)
            {
                if (dptable[j] > dptable[i] + (arr[j] == arr[i] ? 0 : x))
                {
                    dptable[j] = dptable[i] + (arr[j] == arr[i] ? 0 : x);
                }
            }
        }
      
        return dptable[n - 1];
    }
      
    int main()
    {
        ios_base::sync_with_stdio(0);
        cin.tie(NULL);
      
        int n;
        cin >> n;
      
        vector<int> arr(n);
      
        for (auto &x : arr)
            cin >> x;
      
        int k, x;
        cin >> k >> x;
      
        cout << solve(arr, n, k, x);
      
        return 0;
    }

Pude pasar todos los casos de prueba de ambos problemas, los estudiantes con 1 solución total y 1 parcial también pasaron a la siguiente ronda.

33 fueron seleccionados para la siguiente ronda.

Ronda 1 (Entrevista Técnica 1): 45- 50 min

  • Esta ronda fue una entrevista técnica realizada por Zoom.
  • El entrevistador se presentó por primera vez, era un SDE 3 (backend) y tenía 10 años de experiencia en el campo de TI y estuvo trabajando con Walmart durante bastante tiempo. No se me pidió que codificara ningún problema en esta ronda, se centró más en temas básicos de CSE.
  • Me pidieron que me presentara y luego pasamos directamente a las preguntas técnicas.

Me dio un enlace de Google Docs que podría usar para explicarle las respuestas.

  1. Hay 2 máquinas y la primera máquina quiere enviar un mensaje a la otra. Explique en detalle cómo se lleva a cabo la comunicación. Expliqué todo sobre el modelo OSI y TCP/IP, el funcionamiento de cada capa en la transmisión de datos, protocolo de negociación de 3 vías para establecer conexiones. Quedó satisfecho con mi respuesta.
  2. Se trataba de la implementación de STL, me preguntó si me dan un conjunto desordenado de n números, cómo lo cambiaré a un conjunto ordenado sin usar un algoritmo de clasificación. Le dije que podemos hacer un BST del conjunto desordenado dado y luego hacer un recorrido en orden del árbol para obtener un conjunto ordenado de elementos. Expliqué mi enfoque en el documento de Google.
    Estaba satisfecho y no me pidió que lo codificara.
  3. Dada una array ordenada, con 1 número repetido, encuentre el número. Le di la solución simple o(n), después de lo cual me pidió que hiciera mi solución más compleja (sí, más compleja) fue muy extraño e interesante al mismo tiempo que un entrevistador me pidiera que hiciera mi solución más compleja , el entrevistador fue muy educado y tuvimos una buena discusión al respecto.
  4. Se hicieron varias preguntas sobre subprocesamiento, paginación y segmentación. La entrevista duró unos 50 minutos, al final me preguntó si tenía alguna pregunta para él, le pregunté sobre sus responsabilidades diarias en Walmart, a lo que respondió de manera muy informativa y educada.

25 fueron seleccionados para la siguiente ronda.

Consejos: Prepare muy bien las materias principales, ya que son tan importantes como DSA y haga preguntas buenas y significativas al entrevistador al final de la entrevista.

Ronda 2 (Entrevista técnica 2): 1 hora

Realizado sobre zoom. El entrevistador era un científico de datos sénior en Walmart e inicialmente me dijo que sería una ronda de codificación. Antes de pasar a las preguntas de codificación, tuvimos una buena discusión sobre mis proyectos, ya que mi currículum se basaba principalmente en la ciencia de datos.

Pocas preguntas me hicieron

  1. ¿Cómo es LSTM mejor que el simple RNN? Me explicó sobre el problema del gradiente que se desvanece, le expliqué las matemáticas detrás de él, estaba satisfecho.
  2. ¿Por qué usó Random Forest Algorithm en uno de sus proyectos? Explicó las ventajas de Random Forest, su funcionamiento, en qué se diferencia de un árbol de decisiones.
  3. ¿Qué es la importancia relativa de las características y las parcelas dependientes parciales? Lo había usado en uno de mis proyectos así que se lo expliqué, estaba satisfecho.
  4. ¿Cuál es la compensación de sesgo-varianza y cómo se puede usar Random Forest para resolver problemas de personalización? Luego pasó a las preguntas de codificación, me pidió que abriera mi IDE y código favoritos.
  5. Pregunta de impresión de patrones: https://practice.geeksforgeeks.org/problems/pascal-triangle0652/1 . Identifiqué que era un triángulo de pascal, le expliqué la lógica, luego me pidió que lo codificara mientras compartía mi pantalla.
    El código se ejecutó con éxito, estaba satisfecho.
  6. Encontrar un bucle en la lista vinculada: https://practice.geeksforgeeks.org/problems/detect-loop-in-linked-list/1 . No se le pidió que codificara esto, solo necesitaba que le explicara el enfoque, le dio el enfoque de fuerza bruta, luego usó mapas para reducir la complejidad, estaba satisfecho con O (n) tiempo y O (n) complejidad espacial (PS : también se puede resolver en el espacio O(1))
  7. Escriba una función que tenga la misma probabilidad de imprimir SÍ y NO. Le dio la idea de rand() en C++, luego siguió haciendo que la probabilidad de imprimir SÍ fuera del 25 % y luego del 10 %. Sugirió algunos ajustes en la función rand(), quedó satisfecho.

La entrevista duró aproximadamente 1 hora, al final me preguntó si tenía alguna pregunta para él, le pregunté sobre sus responsabilidades diarias en Walmart como científico de datos, a lo que respondió de manera muy informativa y educada.

Consejos: asegúrese de que puede defender todo lo que ha escrito en su currículum porque el entrevistador profundizará en sus proyectos y pasantías.

Ronda 3 (gerente de contratación/ronda de recursos humanos): 1 hora

  • Me pidieron que me quedara después de mi ronda técnica y unos 10 minutos después tuve esta ronda, me informaron que era mi ronda final.
  • El entrevistador primero me pidió que me presentara, luego hizo algunas preguntas basadas en mi currículum, mi experiencia sobre mi primera victoria en el hackathon, por qué hice la certificación ML que indiqué en mi currículum.
    Me preguntó cuál según yo cuál es la cualidad más importante en un líder.
  • Luego tuvimos una buena y larga discusión sobre Walmart, las innovaciones en Walmart, cualquier tecnología reciente en la que Walmart estuviera trabajando.
  • También hizo algunas preguntas técnicas como qué es la nube, ¿cuál es la diferencia entre las nubes públicas y privadas?
  • Le pregunté sobre los diversos equipos que trabajan en Walmart.
  • En general, tuvimos una muy buena conversación, la entrevista duró aproximadamente una hora, luego me deseó suerte y me pidió que estuviera atento a cualquier actualización de mi celda de colocación.

Los resultados se anunciaron al día siguiente, se seleccionaron 16 estudiantes como FTE y 7 como pasantes que podrían convertirse en FTE según el rendimiento. 

Fui seleccionado como uno de los FTE 🙂

Consejos: asegúrese de investigar todo sobre la empresa para la que ha solicitado, use GFG para la práctica regular de DSA y también para las materias principales.

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 *