Ronda 1 (Codificación de máquina-2 horas): La primera ronda fue la ronda de codificación de máquina, la declaración del problema era crear un sistema de pedido de alimentos en línea con varias características.
Características:
- Los restaurantes solo pueden servir un plato especializado.
- Los restaurantes pueden servir en múltiples áreas.
- A la vez, los usuarios pueden ordenar de un restaurante y la cantidad de comida puede ser más de una.
- Los usuarios deberían poder calificar cualquier restaurante con o sin comentarios.
- La calificación de un restaurante es la calificación promedio otorgada por todos los clientes.
Me dieron 2 horas -> 90 minutos para la codificación y luego 30 minutos para explicar y demostrar la aplicación al panelista.
Practique las preguntas de tarifas en la codificación de la máquina porque el entrevistador puede pedirle que presente la pantalla o que lo siga en todo momento.
La expectativa era escribir código ejecutable y extensible usando varios conceptos y patrones de diseño de OOPS.
Pude cumplir con todas las expectativas y también resolví la función de bonificación creada, por lo que el entrevistador quedó bastante impresionado.
He guardado la solución en mi GitHub Repo: https://github.com/iqblmoh/machineCoding
Ronda 2 (Ronda DSA -1 hora): La segunda ronda fue la ronda de codificación, me hicieron 2 preguntas, 1 hora, 1 panelista. La entrevista comenzó con una breve introducción sobre mí y mi experiencia laboral.
- Ordenar array de 0 1 y 2 en una sola pasada -> https://practice.geeksforgeeks.org/problems/sort-an-array-of-0s-1s-and-2s4231/1
- Suma máxima de rutas en un árbol binario -> https://practice.geeksforgeeks.org/problems/maximum-path-sum-from-any-node/1
Las expectativas son que debería poder escribir un código limpio y explicarlo a través de la ejecución en seco.
Me quedé un poco atascado en la segunda pregunta, pero la entrevista me dio una pista y pude completarla. Esta ronda es muy importante, tienes que resolver al menos 1.5 (1 completo y 1 al menos la mitad) del problema para completarlo.
Ronda 3 (Ronda de diseño del sistema (LLD +HLD)-1,5 horas): la tercera ronda fue una ronda de diseño, 1 panelista. Me pidieron que diseñara BookMyShow.
LLD
Cómo acercarse:
- Primero escriba todas las características, discuta las características con la entrevista a fondo (no hay características obvias, lo que sea que se discuta solo el diseño).
- Comience a diseñar el esquema de tabla/clase, enumere las tablas que se requerirán con todas las columnas y cómo se asignan. Debería poder defender su diseño de base de datos. su base de datos debe seguir los formularios de normalización de bases de datos. su base de datos debería poder completar todas las funciones discutidas en el punto 1.
- Escriba las API requeridas, solo los nombres como POST /user/signUp (name,,……) como este.
- Sea muy claro con el diseño y explique muy bien
DAN
- Una vez que terminé con LLD, el entrevistador me pidió que creara HLD para el mismo.
- Divida los servicios si es posible, como el servicio de usuario es diferente de cinemaService, etc.
- Utilice las colas de Kafka para conectar los servicios entre sí.
- Vea el video de YouTube de Gaurav sen que también le ayudará
Pude diseñar LLD y HLD muy bien, el entrevistador quedó impresionado. así que llegué a la ronda de gerentes de contratación.
Ronda 4 (Gerente de Contratación Ronda-1 hora): Esta fue la última ronda. Dependerá totalmente de su suerte qué tipo de entrevista de HM tiene, algunas personas se vuelven fáciles, otras se vuelven difíciles.
- La entrevista comenzó con una breve introducción con el entrevistador,
- El HM preguntó por mi experiencia laboral y profundizó en muchos proyectos.
- Trabajé en el clúster de redis, por lo que hubo una larga discusión sobre redis-sentinel vs redis-cluster.
- Preguntado sobre OOPS en profundidad. interfaces java, clases abstractas, clases singleton.
- Se le preguntó acerca de las colas de mensajería, como Kafka, rabbitmq y todo.
- Al final, el HM me explicó los proyectos y discutió sobre el equipo.
Recibí la llamada de recursos humanos en 3 días que me seleccionaron.
El proceso fue muy sencillo y, como ya estaba en el período de notificación, solo me tomó 10 días completar el proceso. Estoy muy agradecido con GeeksforGeeks por ayudarme en la preparación de la codificación.
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