Ronda-1 (75 min):
- Pregunta sobre búsqueda binaria (minimizando la longitud de la ventana en un tipo de string, preguntas similares disponibles en la práctica. gfg).
- Dada una array de longitud N que contiene tamaños de (S, M, L, XL), devuelva la cantidad máxima de cuentas que se pueden colocar en 2 contenedores con las siguientes condiciones:
Cada contenedor puede tener más de una cuenta del mismo tamaño. Comience con una cuenta de cualquier tamaño. una vez que haya comenzado, no puede saltarse la cuenta en la secuencia. Deténgase cuando tenga que elegir una cuenta del tercer tamaño.
Los resolví en 30-35 minutos, lo que me dio cierta ventaja en las siguientes rondas, ya que no me pidieron que escribiera el código.
Ronda 2 (55 min): Esta ronda comenzó con mi breve introducción durante unos 3-4 min. Luego me preguntó sobre el lenguaje en el que me siento cómodo. Le dije C y C++ para codificación y diseño, js para diseño web y python para ciencia de datos. Así que continuamos con C++. Luego se le ocurrieron 2 preguntas de codificación.
Dada una string de tipo “string1/string2/string3/string4…..”
Tengo que cortar el «string3» de él.
Di un enfoque como: primero debemos llegar al segundo «/» y luego comenzar a agregar los caracteres en la string de respuesta hasta que encontremos el tercer «/». Luego me dijo que escribiera el código para ello. Lo hice, pero había un error que me dio tiempo para resolver y lo hice pronto.
Descubra el segundo elemento máximo de una array de números.
Di un enfoque de mantener 2 variables como máximo y 2º como máximo mientras iteraba a través de la array.
Luego me dijo que lo generalizara para el K-ésimo elemento máximo. Le expliqué mi enfoque en muchos métodos, como usar el método de clasificación n*log(n), el método de selección rápida de clasificación rápida, la clasificación por conteo si los datos son estáticos y finalmente el método de la mediana con partición de array que tiene el peor caso de tiempo lineal . Estaba bastante feliz ya que tenía tantos métodos para esto. Luego me pidió que comparara las complejidades de tiempo y espacio de estos algoritmos.
Luego hizo algunas preguntas sobre OOPS .
- ¿Cuál hubiera sido el escenario si no se introdujera OOPS?
- Diferencia entre sobrecarga y anulación.
- Explique el uso de anular con ejemplos de la vida real.
Luego me preguntó si sabía algo en DBMS ya que no estaba en mi plan de estudios hasta ese momento. Le dije que preguntara ya que había estudiado un poco por mi cuenta. Algunas de las preguntas que hizo fueron:
- ¿Qué es RDBMS?
- ¿Cómo se almacenan los datos en no RDBMS y su ejemplo?
- ¿Qué es la indexación en DBMS?
- Finalmente, me dio la oportunidad de hacer preguntas si tenía alguna. Entonces pregunté:
- ¿Qué harán los pasantes en esos 2 meses?
- ¿Habrá opciones para la elección del proyecto?
- Sus respuestas fueron bastante genuinas.
Ronda 3 (50 min): Esta ronda comenzó con mis pasatiempos e intereses. Luego me hizo algunas preguntas sobre FIFA y PUBG, ya que las había mencionado como intereses en mi currículum. Había recibido mis reseñas de la ronda anterior, por lo que comenzó con algunas preguntas de codificación:
1. Invertir una lista enlazada.
Expliqué mi enfoque con un ejemplo como-
Dado 1->2->3->4->5
Si hemos procesado hasta 3, tendremos 3->2->1 y 4->5.
Después, podemos transferir 4 de la lista enlazada de la derecha como cabeza de la izquierda y continuar.
Quedó satisfecho con mi explicación y tampoco pidió escribir ningún pseudocódigo.
2. Imprima 1-20 números naturales llamando recursivamente a la función principal.
Le di dos enfoques:
Pase dos argumentos de la línea de comandos como 1 y 20 y llame recursivamente a la función principal con índice incrementado y 20.
Establezca dos variables globales, una como 1 y la otra como 20, y siga incrementando la primera variable cada vez que llamemos a main. Me dijo que pensara en otro enfoque con una variable estática. Luego expliqué con el uso de una variable estática en la función principal y otra variable como conjunto global a 20.
Luego pidió diseñar un sistema basado en clases para cajeros automáticos.
Le di un enfoque constructivo como: Primero considerémoslo como una caja negra que toma la tarjeta del cajero automático, el PIN y el monto como entrada y, después de algunas verificaciones, nos da el dinero si es válido.
Luego le dije cuál es el mecanismo más simple que puede tener para dar dinero en efectivo de forma secuencial: (número de cajero automático + pin)->(verificación del pin del servidor del banco) ->(si es correcto, se ingresa el monto)->( verificación de BAL disponible con cantidad REQ) -> (si es bueno, entonces da dinero).
En cada paso, habrá algunos casos secundarios, como durante la verificación del pin, puede haber un error del servidor del banco o un pin incorrecto, entonces también tendremos que manejarlos.
Finalmente, conté algunos nombres de clase y algunas cosas de seguridad de las que debemos ocuparnos. Quedó bastante impresionado con mi enfoque y no me pidió que escribiera, clasificara o codificara más.
Luego me hizo algunas preguntas sobre el sistema operativo :
- ¿Qué son la paginación y el round-robin?
- ¿Qué es el punto muerto?
- Como no estaba en mi plan de estudios hasta entonces, no profundizó más.
- Luego me hizo algunas preguntas sobre Networking-
- ¿Cuál es el papel de la capa de presentación?
- ¿Cuáles son los protocolos utilizados en esa capa?
- ¿Qué es el protocolo SSL?
Como no estaba en mi plan de estudios hasta entonces, no profundizó más.
Finalmente, me dio la oportunidad de hacer preguntas si tenía alguna. Entonces pregunté:
- Dame algunos comentarios sobre cómo me desempeñé y mis debilidades.
- ¿Trabajaré en Salesforce o Future Force?
Ronda de recursos humanos (20 min): Me pidió que me presentara y luego me preguntó sobre mi proyecto de ciencia de datos en HAR:
- ¿Qué algoritmos se utilizan en ese proyecto?
- ¿Diferencia entre árbol de decisión y red neuronal?
- Por qué los árboles de decisión no se usan mucho en comparación con NN en el caso de la clasificación.
Luego me hizo algunas preguntas genuinas:
- ¿Por qué Salesforce?
- ¿Qué haré si hay un conflicto de equipo en el escenario dado?
- Creo que mi idea es mejor que lo que mi equipo está discutiendo actualmente, pero no me dan la oportunidad de presentar mi idea.
- Finalmente, me preguntó si tenía algunas preguntas. Le pregunté :
- ¿Tendré la oportunidad de cambiar mi proyecto?
- Diferencia entre SDE, analista de TI y analista de negocios.
¡Afortunadamente, fui seleccionado entre los 3 estudiantes para una pasantía!
Puntas:
- Sea bueno en DSA (esto puede darle una ventaja).
- Entienda los conceptos/tecnologías que encuentre.
- Practicar la implementación del diseño.
- Mantén la calma y ten confianza.
- Comenta todo lo que piensas durante la entrevista.
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