Flipkart visitó mi universidad para el papel de SDE1 en el mes de octubre de 2020. Hubo un total de 4 rondas.
Ronda 1 (Prueba de codificación en línea-90 minutos): En esta ronda se hicieron un total de 3 preguntas :
- Una extensión del problema del árbol de expansión mínima. https://practice.geeksforgeeks.org/problems/minimum-spanning-tree/1
- Dada una string de patrón y una string principal, busque la substring más pequeña en la string principal que contiene todos los caracteres (incluidos los duplicados) de la string de patrón. https://practice.geeksforgeeks.org/problems/smallest-window-in-a-string-containing-all-the-characters-of-another-string-1587115621/1
- Un número mínimo de paradas de Repostaje. https://leetcode.com/problems/numero-minimo-de-paradas-de-repostaje/
Sin restricción en el lenguaje de programación. Se deben resolver al menos 2 preguntas para completar esta ronda.
Ronda 2 (entrevista técnica: 45 minutos): el entrevistador fue muy amable y bromeó desde el principio. Después de la presentación de cada uno, se sumergió directamente en las preguntas. Se hicieron dos preguntas, se esperaba que dijéramos el enfoque (esperan la solución más optimizada, también se acepta parcialmente una menos optimizada) y luego escribimos el código para el mismo.
Las preguntas fueron:
- Ordene la array después de convertir los elementos a sus cuadrados .
- Dados tres arreglos ordenados (A, B, C), encuentre el conteo de elementos ai, bj, ck tales que ai>bj>ck y ai, bj, ck pertenecen a A, B, C respectivamente. Complejidad de tiempo esperada-O(n)
Esto se puede resolver utilizando una técnica de tres punteros con un puntero en la array central (B) y buscando los otros dos elementos en A y B. Todas las 2 preguntas deben resolverse para completar esta ronda.
Ronda 3 (entrevista técnica – 45 minutos): el entrevistador se sumergió directamente en las preguntas sin ninguna introducción. Se esperaba que escribiera el código y lo ejecutara en algunos casos de prueba de muestra que proporcionó y luego explicara el enfoque (si se aprueban los casos de prueba).
-
Dada una string y un punto de ruptura b (0<=b<=n), la string se dividirá en dos partes en el punto de ruptura.
Ejemplo:
S=”walterwhite”, b=3, las dos substrings rotas son “walt” y “erwhite”. Ahora elimine la cantidad mínima de caracteres de ambas substrings formadas de manera que ambas se vuelvan iguales. Devuelve los caracteres a borrar.
En el ejemplo anterior, devuelve [‘a’, ‘l’, ‘e’, ’r’, ‘h’, ‘i’, ‘e’]-> a, l de walt y e,r,h,i ,e de erwhite
Solución: Es una alteración muy simple del problema de la subsecuencia común más larga. Encuentre el LCS de ambas substrings y devuelva todos los caracteres que no forman parte del LCS.
https://practice.geeksforgeeks.org/problems/longest-common-substring1452/1
-
Encuentre la suma mínima de los elementos de la array que no forman parte de la subsecuencia creciente más larga (LIS).
Solución: es un ligero cambio en el problema LIS. Encuentre la subsecuencia creciente más larga, si hay más de una subsecuencia con la misma longitud más larga, devuelva la suma máxima LIS. Ahora devuelve sum(array)-LIS sum.
Ejemplo:
array=[1,2,3,4,-9,-7,0,1,2,3,9]
Los LIS son: 1,2,3,4,9 y 0,1,2,3,9, pero debemos devolver la suma máxima de LIS, por lo que 1+2+3+4+9=19
Solución: Junto con la longitud de LIS que almacenamos en el arreglo dp (dp[i]= LIS del arreglo[0:i+1]), también almacene dp2 que es la suma máxima del LIS correspondiente.
Ambas preguntas deben resolverse para despejar la ronda.
Ronda 4 (basado en el currículum técnico de recursos humanos – 30 minutos): fue una ronda basada en el currículum, el entrevistador comenzó con una introducción y luego comenzó a hablar sobre mi currículum y preguntó sobre los proyectos. Hice algunas preguntas hipotéticas relacionadas con mi proyecto (ejemplo: ¿qué pasa si la entrada que proporciona el usuario no es precisa? ¿Qué tan sólido es su modelo para tales casos?). Después de la discusión detallada de mis proyectos. El entrevistador preguntó qué función me gustaría agregar a la aplicación/sitio web de Flipkart y cómo lo implementan.
Y finalmente preguntó si tengo alguna pregunta y terminó la entrevista.
Finalmente, 5 personas recibieron una oferta FTE.
CONSEJOS: todas las preguntas formuladas fueron de estructuras de datos y algoritmos. Sea fuerte en sus habilidades de resolución de problemas y conocimiento de DSA. Sea muy claro acerca de los proyectos que escribe en su currículum.