MakeMyTrip llegó a nuestro campus BIT Mesra el 12 de agosto de 2019.
La primera ronda fue una ronda de codificación. Había 2 preguntas (una de 100 puntos y otra de 50 puntos) y 20 mcq.
Q1. Se le proporciona una array de números y para cada i-ésimo elemento de la array debe calcular la diferencia absoluta entre el recuento de números que están a la izquierda de i y son mayores que el i-ésimo elemento, y el recuento de números que están a la izquierda. a la derecha de i y son menores que el i-ésimo elemento? (50 puntos)
Respuesta Usé el árbol de segmentos dos veces (la primera vez ordenando la array en orden ascendente para calcular todos los números y la segunda vez ordenando la array en orden descendente) para resolverlo usando algo así como el concepto de conteo de inversión.
Q2. Se le da un árbol con N Nodes y Q consultas. La siguiente línea contiene N enteros que representan el color asociado con cada i-ésimo Node. Para cada consulta se le asigna un número de Node. Ahora debe marcar todos los Nodes como especiales que están en su subárbol y tienen el mismo color que este Node. Una vez que un Node se marca como especial, permanece marcado como especial en las consultas posteriores. Entonces, para cada consulta, ¿tiene que generar la cantidad de Nodes especiales en el árbol?
Respuesta Simplemente apliqué el enfoque de fuerza bruta y 9 de cada 10 casos de prueba pasaron XP. Mantuve una array visited[] y una variable de conteo global para contar el número de Nodes especiales. Entonces, para cada consulta, simplemente atravesé el subárbol de ese Node y verifiqué si tiene el mismo color y el [Node] visitado es falso, si es así, incrementé el conteo y marqué el [Node visitado] = verdadero. Luego salgo a contar.
Después de esta ronda de codificación, 21 personas fueron preseleccionadas 🙂
Rondas de entrevistas
Ronda 1:
en esta ronda me hicieron dos preguntas, una era una consulta SQL y otra estaba relacionada con el dígito dp.
Pregunta de SQL: me dieron una tabla que consistía en una identificación y Booking_amount. Ahora mi salida debe contener el recuento de booking_amount en cada rango de 500.
Por ejemplo:
Entrada:
Pid | Importe_de_la_reserva |
---|---|
1 | 20 |
2 | 100 |
3 | 510 |
4 | 1020 |
Producción:
mínimo | máx. | Contar |
---|---|---|
1 | 500 | 2 |
501 | 1000 | 1 |
1001 | 1500 | 1 |
No sabía cómo hacer este tipo de consulta, así que seguí intentándolo, pero finalmente no pude hacerlo. Les dije que si tenía el rango, entonces podemos usar la función agregada para calcular el conteo.
Pregunta DP: Tuve que contar el número de unos desde 0 hasta un número entero dado.
Les dije el enfoque de fuerza bruta y el enfoque de dígitos dp y primero me dijeron que escribiera el código completo en papel, pero después de un tiempo me dijeron que ejecutara mi código en un ide.
Ronda 2:
en esta ronda me preguntó sobre mis pasatiempos, les dije que juego dota 2 y que había pasado más de 2000 horas en XP, luego me preguntó sobre mis proyectos y luego me hizo algunas preguntas relacionadas con eso como por qué usé mongoDB y no SQL (esta pregunta se hace en casi todas las entrevistas, así que ya estaba preparado con mi arma XD). Luego me hizo una pregunta sobre el diseño del sistema (de la que no tenía ni idea). Me dijo que tenía que diseñar un sistema en el que el usuario ingresa una fuente y su cantidad y tenía que generar todos los destinos que puede visitar, quedarse y regresar usando solo esa cantidad. Me dijo que tenía que decirle todo lo que necesitaba y el enfoque y los algoritmos que tomaría para implementar esto.
Primero comencé con todas las bases de datos que necesitaré y qué estructuras de datos usaré y finalmente le dije que cuando llegue una consulta buscaré el costo total en todas las bases de datos, mostraré el destino y lo almacenaré en un mapa y la próxima vez cuando tengo la misma consulta, puedo generar este destino guardado (así que verás que no tenía ningún conocimiento técnico, pero seguí intentándolo y seguí dándoles una solución para cada situación al instante, básicamente querían ver qué tan rápido y con qué creatividad puedo pensar en una solución a algún problema desconocido)
Luego me dio una pregunta simple.
En cierta ciudad, todas las letras minúsculas se asignan de la siguiente manera.
1 -> a
2 -> b
3 -> c
.
.
.
26 -> z
Ahora viene una secuencia de dígitos y tengo que generar la cantidad de formas en que se puede representar como letras.
Por ejemplo: se acerca una transmisión y tengo que generar una salida después de cada dígito de la siguiente manera
Entrada: 3
Salida: 1
Explicación:
3 -> c
Entrada: 2
Salida: 2
Explicación:
23 -> w
o
23 -> bc
Entrada: 1
Salida: 3
Explicación:
123 -> abc
o
123 -> lc
o
123 -> aw
Usé algo como la serie de Fibonacci para resolver esto.
Ronda 3:
En esta ronda me dijo que tenía que diseñar un sistema de puntuación en el que tenía que generar la puntuación de los 100 mejores participantes. Le dije que usaré min heap para almacenarlo. Y luego me hizo muchas preguntas como alrededor de 10 a 12 relacionadas con esta pregunta XD como modificar algunas situaciones como supongamos que si una persona A es amiga de una persona B, entonces el puntaje final de A será la suma de ambos puntajes y de manera similar para B entonces Tuve que calcular los 100 mejores puntajes.
Nuevamente, como ya dije, solo quería que viera su ritmo de pensamiento y la forma en que aborda una nueva pregunta.
Esta fue mi mejor ronda ya que respondí casi todas las preguntas y casi al instante XD
Solo un consejo, trate de responder lo más rápido posible, aunque si es un poco de fuerza bruta e intente brindar diferentes enfoques optimizados para todas las preguntas.
Ronda HR:
Esta fue la ronda final. En esto, el departamento de recursos humanos me preguntó sobre mis antecedentes, como mi familia, mis pasatiempos, mis fortalezas y debilidades. Luego me preguntó si tenía alguna pregunta para ella. Así que le pregunté sobre la compensación ($$$) XP.
Todo el proceso tomó alrededor de 13 horas desde las 10:00 am hasta las 11:00 pm (O_O)
Finalmente 7 personas fueron seleccionadas de las 21 personas y obviamente yo era uno de ellos XD.
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