- Estado: Estudiante actual de ECE en NIT de primer nivel en India.
- Fecha: Agosto 2021
- Era una oferta en el campus
Ronda 1 (Prueba de evaluación en línea en HackerRank – 135 minutos): La prueba tiene 5 secciones y la duración es de 2 horas y 15 minutos. Todos los apartados son obligatorios.
- La sección de Codificación tiene 2 preguntas de programación y la duración es de 30 minutos.
- La sección de opción múltiple de Ciencias de la Computación tiene 7 MCQ y la duración es de 20 minutos.
- La sección de opción múltiple de Aptitud cuantitativa tiene 8 MCQ y la duración es de 25 minutos.
- Cada MCQ le otorga 5 puntos por respuesta correcta y -2 por respuesta incorrecta.
- La sección de Programación Avanzada tiene 1 pregunta de programación y la duración es de 45 minutos.
- La sección Subjetiva tiene 2 preguntas y la duración es de 15 minutos. Contiene preguntas de recursos humanos basadas en valores.
- Mis preguntas en la Sección 1 fueron: –
- CS MCQ eran de OS, DBMS, OOPS en Java.
- Aptitud Cuantitativa contiene preguntas de PnC, Probabilidad y Array.
- La pregunta de codificación avanzada se basó en Backtracking similar a este https://leetcode.com/problems/word-search-ii/ (similar a esto, necesitamos devolver las coordenadas)
- Junto con las preguntas de codificación, también debe tener un buen puntaje MCQ para ser preseleccionado.
Ronda 2 (Entrevista técnica 1 – 35 minutos): El entrevistador me pidió que me presentara durante 5 minutos.
- Luego me dio un problema: verificar si una cuerda es un palíndromo de longitud uniforme o no. Le dije el enfoque básico de 2 punteros. Luego modificó la pregunta y me dijo que la string es demasiado larga y es una especie de secuencia de caracteres. Así que no puedo obtener la longitud de la misma. Le hablé de un enfoque de pila. Empujaremos al personaje en una pila y lo compararemos con la parte superior cada vez que venga un personaje. Si el carácter coincide, salte de la pila y guárdelo en otra pila (en caso de duplicados) y, al final, si la pila está vacía y la transmisión finaliza, podemos devolver verdadero. Puede ejecutar en seco este enfoque en «abbssbba» para comprender mejor mi enfoque.
- Luego me dio una ecuación matemática para resolver:- a! = b! * ¡C!. Me pidió que encontrara el número de pares que satisfacen esta ecuación tal que a, b, c > 1. Probé algunos números del 1 al 10 y encontré el patrón. No podemos generar un número primo en a! entonces cualquiera de b y c tiene que ser un número primo anterior a a y la parte restante tiene que ser un factorial perfecto. Quedó satisfecho y me dijo si tenía alguna pregunta para él. Ahora en este momento puedes hacer algunas preguntas inteligentes y demostrar que estás interesado en trabajar en esa empresa.
Ronda 3 (Entrevista Técnica 2 – 25 minutos):
- Esta fue una ronda bastante sencilla sin introducción y nada que me diera problemas directamente. Me hicieron muchos problemas en muy poco tiempo.
- https://math.stackexchange.com/questions/707965/balls-and-bins-problem-expected-number-of-balls-needed-to-throw (Me dio esta pregunta y preguntó qué es probabilidad y qué es un variable aleatoria geométrica)
- Le dije que hiciera preguntas de DSA ya que no me he preparado para la probabilidad. Me dio esta pregunta. https://www.geeksforgeeks.org/design-and-implement-special-stack-data-structure/
- Luego me dio un problema Matrix https://www.geeksforgeeks.org/maximum-path-sum-matrix/
- Luego me dio acertijos:
- Hay 4 tipos de calcetines en un cajón. ¿Cuántos calcetines mínimo agarrar para tener 1 par seguro?. Bastante fácil. Respuesta – 5.
- Tú y tus amigos están jugando un juego. Hay 21 cartas y tienes turnos alternos. Puede elegir 1, 2 o 3 cartas a la vez. Gana el que saca la última carta. Primero comienzas, cuántas cartas debes elegir para que siempre ganes. Ambos jugadores juegan de manera óptima. Respuesta: en esta pregunta, podemos ver un patrón si comenzamos con 4, 5, 6, … Podemos ver que cuando las cartas son múltiplos de 4, siempre pierdo. Entonces, si elijo 1 y quedan 20 cartas, mi oponente siempre perderá, ya que es un múltiplo de 4.
- Por fin, me preguntó si probaría o no un acertijo de probabilidad. Me dio este rompecabezas. https://www.geeksforgeeks.org/birthday-paradox/
Ronda 4 (HR + Técnico – 45 minutos): Comenzó con una breve presentación de él y luego me pidió que me presentara.
- Luego tomó mi currículum y comenzó a hacer preguntas relacionadas con proyectos y POR.
- Luego me dio una pregunta de probabilidad. https://www.quora.com/How-do-you-decide-the-winner-entre-3-personas-con-una-igual-probabilidad-al-lanzar-una-moneda-justa Le dije que yo Lanzaré la moneda 3 veces. Estaba satisfecho pero dijo que es posible en menos de 3 también. Me dijo cómo, pero se me pasó por la cabeza.
- Luego me dio una pregunta de array donde cada elemento representa 1 o 0. En 1 operación, desde cualquier índice I podemos cambiar todos los valores hasta el final. Encuentre operaciones mínimas para hacer que todos los elementos en la array sean iguales a 1. Me pidió que codificara esta vez. Mi enfoque fue comenzar desde atrás y contar los desajustes (01 o 10). Probó en algunos casos que estaba funcionando.
- https://www.geeksforgeeks.org/stock-buy-sell/
- Por fin, me dio este acertijo https://www.geeksforgeeks.org/puzzle-16-100-doors/ Al principio le dije una solución tipo tamiz, luego me dijo que buscara un patrón en esto y encontré usando factorización.
Ronda 5 (Tipo de diseño – 30 minutos): Primero se presentó y me dijo lo que hacemos en Goldman Sachs.
- Me hizo preguntas teóricas esta vez.
- ¿Por qué la array tiene acceso constante?
- Array vs lista enlazada
- Implementar Hashmap
- Técnicas de manejo de colisiones
- Me dio esta pregunta https://www.geeksforgeeks.org/queue-using-stacks/ (Al hacer que la operación enQueue sea costosa). También me pidió que codificara esto. Me tomó 15 minutos codificarlo porque estaba muy cansado. Esta fue mi cuarta entrevista del día. Él también lo entendió y dijo tómate tu tiempo.
- Por último, me dijo que ha proporcionado 2 archivos, uno contiene todas las identificaciones de nuestros clientes y el otro contiene transacciones. El archivo de transacción es demasiado grande. Me pidió que calculara la suma del monto de todas las transacciones para un cliente en particular y para cada cliente le dije que usaría un mapa. Introdujo además el enhebrado en esto. Dijo que podemos dividir este archivo grande en 4 subprocesos y podemos hacerlo. Luego me preguntó cuál sería el problema con esto. Le dije que podría haber una condición de carrera. Me preguntó cómo lo resolví. Le dije que podemos usar semáforos o mutex. Se detuvo aquí y me preguntó si tenía alguna pregunta. Ya sabes qué hacer aquí.
Los resultados salieron en unas pocas horas y fui 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