Experiencia de entrevista de Sprinklr | En el campus 2020 para FTE (prácticas + trabajo)

Ronda uno: (Prueba de codificación)

Fue una prueba de codificación en línea realizada en HackerEarth. Una prueba que consta de 3 preguntas de codificación. 
 

  1. Dadas dos strings binarias A y B. En un movimiento, puede elegir dos números cualquiera de la string A y reemplazar cualquiera de ellos con XOR de ellos y otro con OR de ellos. Ej: A=0010110. Usted eligió 0 y 1 entonces, 0 XOR 1=1 y 0 OR 1=1 entonces, 01 se convierte en 11. Puede aplicar este movimiento en la string A cualquier número de veces y es posible hacer la string B de A y luego devolver SÍ de lo contrario NO. ( 50 puntos
    • Respuesta: Cuente el número de unos en ambas strings. Permite que las cuentas sean cnt1 y cnt2. la respuesta es «SÍ» si (cnt1<=cnt2 && cnt1>0 || cnt1==0 && cnt2==0), de lo contrario, la respuesta es «NO». No olvide verificar la longitud de dos strings. Obviamente, la respuesta será «NO» si las strings tienen una longitud diferente.
    xor o
1 1 0 1
1 0 1 1
0 1 1 1
0 0 0 0
  • Aquí, puedo aumentar el número de 1 en A (eligiendo un 1 y un 0 -> ambos se convierten en 1)
  • Puedo intercambiar cualquier 1 con cualquier otro 0 A (eligiendo un 1 y un 0 -> ambos se convierten en 1 -> uno se convierte en 1 y otro en 0)
  • Pero, para realizar las operaciones anteriores, necesito al menos uno 1.
  • Además, no puedo reducir el número de 1s.
  1. dada una array entera (m) de la dimensión NxM. En un movimiento, puede pasar de la posición (i,j) a (i+m[i][j] , j) o (i,j+m[i] [j]). Inicialmente, estás en (1,1) y querías llegar a (N, M). Entonces, debe imprimir un número mínimo de movimientos para alcanzar (N, M), y si no es posible, imprima -1. NOTA: No puedes saltar fuera de la array. (es decir, en cualquier movimiento i+m[i][j] < N o j+m[i][j]<M). ( 75 puntos )   Pista : se puede resolver usando BFS o usando array 2D.
  2. Hay N paquetes diferentes. el i-ésimo paquete es de X[i] días y el precio de ese paquete es Y[i]. Hay M clientes. el j-ésimo cliente quiere el paquete de al menos A[j] días y no quiere gastar más de B[j] en ningún paquete. Un paquete puede acomodar como máximo a un cliente (distanciamiento social) y un cliente puede comprar como máximo un paquete. Tienes que encontrar el número máximo de paquetes que puedes vender. ( 100 puntos )

Obtuve 215 de 225. Así que fui preseleccionado para la siguiente ronda junto con otros 65. 
 

Segunda Ronda: Ronda Técnica (F2F) | En línea

Había dos entrevistadores. Ambos fueron muy amables y mantuvieron un ambiente muy cómodo durante toda la entrevista. La mayoría de las preguntas eran sobre codificación y acertijos competitivos.
Nivel de entrevista: fácil/Medio
1) https://codeforces.com/problemset/problem/987/C
2) rompecabezas: https://math.stackexchange.com/questions/2440047/colour-change-in-drawing-balls -expectation-same
3) rompecabezas: https://www.geeksforgeeks.org/puzzle-1-how-to-measure-45-minutes-using-two-identical-wires/
Nota: Puede haber variaciones como medir 15 minutos , 30 minutos o 60 minutos
4) https://www.geeksforgeeks.org/sliding-window-maximum-maximum-of-all-subarrays-of-size-k/ No salte directamente a la solución optimizada ya que esta pregunta puede ser resuelto usando 2/3 métodos.
Nota: se puede hacer una pregunta para encontrar el mínimo en todos los subconjuntos de tamaño k
Complejidad de tiempo esperada: O(n)
5) Explique el proyecto particular señalado por el entrevistador.
6) Explicación e implementación del tipo topológico
Se hicieron una o dos preguntas más, pero no recuerdo. 
 

Tercera Ronda: Ronda Técnica (F2F) | En línea

Nivel: Medio El
entrevistador fue útil. Me dio pistas cada vez que me atasqué en algún problema.
1) Te dan dos números enteros l y r. Encuentre dos enteros xey tales que l?x<y?r y l?LCM(x,y)?r
Entrada: La primera línea contiene un entero t (1?t?10000) — el número de casos de prueba. Cada caso de prueba está representado por una línea que contiene dos números enteros l y r (1?l<r?109).
Salida: Para cada caso de prueba, imprima dos enteros: si es imposible encontrar los enteros x e y que cumplan con las restricciones de la instrucción, imprima dos enteros iguales a ?1; de lo contrario, imprima los valores de x e y (si hay varias respuestas válidas, puede imprimir cualquiera de ellas).
https://codeforces.com/contest/1389/problem/A
2) se le da un número entero x, duplica su valor cada segundo y luego puede disminuir su valor en uno si sigue siendo positivo. ¿Cuál es el valor esperado de x después de k segundos?
Ejemplo: después de un segundo, el valor de x puede ser 2x o 2x-1. entonces el valor esperado de x después de un segundo es 2x-1/2.
restricción: 1<= x,k <=10^18
Luego me preguntó qué pasa si 1<= k<= (10)^(10^18) (Piensa en usar el pequeño teorema de Fermat )??
3) preguntas sobre el proyecto escritas en el currículum
4) Optimizar el código a continuación
 

C++14

#include <bits/stdc++.h>
using namespace std;
#define MOD 1000000007
int main() {
   long long sum=0;
   for(int i=A;i<=B;i++)
       for(int j=C;j<=D;j++)
       {
           sum+=(i^j);
           sum%=MOD;
       }
    return 0;
}

dado que la suma puede ser una
restricción de módulo de suma de salida muy grande 10 ^ 9 + 7: 1 <= A, B, C, D <= 10 ^ 6
y se hizo una pregunta de codificación más. 
 

Cuarta Ronda: Ronda Técnica (F2F) | En línea

Nivel: Medio/Difícil Los
entrevistadores fueron útiles. Me dieron pistas cada vez que me atasqué en algún problema.
1) preguntas básicas de matemáticas:
¿cuántos dígitos hay en 2^10, 2^32, 2^30, 2^80…?
2) Se puede contar el número de diferentes secuencias de paréntesis equilibrados utilizando n paréntesis abiertos y n paréntesis cerrados. Respuesta: Número catalán o usando programación dinámica
3) Verifique si el gráfico dado se puede dividir en dos cliques y lógica de implementación.  https://www.geeksforgeeks.org/two-clique-problem-check-graph-can-divided-two-cliques/
4) Supongamos que un plan de estudios consta de n cursos, todos ellos obligatorios. El gráfico de requisitos previos G tiene un Node para cada curso y un borde del curso v al curso w si y solo si v es un requisito previo para w. Encuentre un algoritmo que calcule la cantidad mínima de semestres necesarios para completar el plan de estudios y también implemente eso.
pregunta adicional: encuentre el número mínimo de semestre necesario si el número de cursos que tenemos que completar es menor que el total de n cursos.
5) Preguntas sobre proyectos escritos en currículum.
6) https://www.geeksforgeeks.org/design-a-stack-that-supports-getmin-in-o1-time-and-o1-extra-space/
7) Longitud de la lista de palíndromos más larga en una lista vinculada usando O(1) espacio adicional. https://www.geeksforgeeks.org/length-longest-palindrome-list-linked-list-using-o1-extra-space/.
Otro método: Convierta la lista de enlaces simples en una lista de enlaces dobles y encuentre la lista de palíndromos más larga considerando cada índice como medio en la lista de palíndromos (es necesario verificar dos casos de lista de palíndromos de longitud impar y lista de palíndromos de longitud par en cada índice. Pero no estaba permitido para cambiar la estructura del Node de la lista enlazada. Así que le di la idea de convertir una lista individual a una lista enlazada XOR para poder atravesar la lista en ambas direcciones sin cambiar la estructura del Node. 
 

Ronda cinco: Ronda de recursos humanos (F2F) | En línea

Ronda duró alrededor de 15-20 minutos. Me hizo preguntas normales, como cuéntame sobre ti, tus experiencias de pasantía, por qué quieres unirte a esta empresa, cuáles son algunas actividades que te hacen feliz, etc.
Por último, me preguntó si tenía alguna pregunta para ella. Hacer preguntas al entrevistador es una buena señal, ya que muestra su interés en la empresa.
Aunque casi todas las preguntas eran preguntas de codificación en cada ronda (tecnología). Sugeriría fortalecer su base en otros temas como DBMS, OS, Diseño de sistemas. 
 

Veredicto final: SELECCIONADO

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 *