Juspay es una empresa de tecnología financiera líder en la India, que proporciona una plataforma en línea utilizada para pagos móviles. Su plataforma en línea es un SaaS sobre una pasarela de pago (Juspay no es una pasarela de pago) y ofrece un navegador de pago móvil para transacciones seguras y protegidas, para mejorar el tiempo de transacción.
Tomé una referencia a través de un servidor de discordia llamado Proactivist. Obtuve el enlace de prueba de primera ronda después de un mes de referencia.
Patrón de prueba: Primero, comprenda el patrón de prueba en Juspay. El proceso de la entrevista completa se divide en cuatro partes.
- Prueba de codificación en la plataforma Talescale
- Hackathon Part se divide en dos partes:
- Prueba de codificación
- Discusión tipo Hackathon de un día.
- Ronda Técnica
- Ronda HR (En mi caso, la Ronda Técnica fue la última ronda)
Cada una de las rondas anteriores es una ronda de eliminación.
Ronda 1: Prueba de codificación: la primera ronda fue una ronda de prueba de codificación de 90 minutos, realizada en la plataforma Talescale. Esta ronda consta de 3 preguntas basadas en DSA (basadas en gráficos), que debe resolver en 1,5 horas. Para las tres preguntas, se proporcionó la siguiente descripción común.
Descripción del problema : le dan un laberinto con N celdas. Cada celda puede tener múltiples puntos de entrada pero no más de una salida (es decir, los puntos de entrada/salida son puertas unidireccionales como válvulas). Las celdas se nombran con un número entero de 0 a N-1.
Se le proporciona una array Edge[] de N enteros, donde Edge[i] contiene el número de celda al que se puede acceder desde la celda I en un solo paso. Edge[i] es -1 si la i-ésima celda no tiene salida.
- Celda de encuentro más cercana de dos Nodes dados x1 y x2 : utilicé el enfoque de obtener la ruta de ambos Nodes y encontré la celda más cercana de la ruta.
- Encuentre el número de Node del Node de peso máximo (el peso de un Node es la suma de todos los Nodes que apuntan a ese Node): utilicé el enfoque de almacenar cada hijo en un valor de Node principal usando un hashmap.
- Encuentre la Longitud del ciclo más grande . el enfoque usado de usar la suma en cada Node hasta que el Node se repite nuevamente en el ciclo.
De las tres preguntas anteriores, pude resolver las 2 preguntas por completo y una prueba de 7/10 en la restante. Borré la ronda de codificación anterior y me llamaron para la siguiente ronda, que es la ronda de hackathon.
Ronda 2: Ronda Hackathon: Esta ronda se divide en 2 partes.
- Prueba de codificación
- Ronda de discusión de un día Hackathon.
Ronda 2. 1 prueba de codificación: esta ronda se llevó a cabo en la plataforma HackerEarth. Se le dará un solo problema llamado Tree of Space que debe resolverse en 3 horas.
Descripción del problema: dado un árbol M-ario, se deben realizar las siguientes tres operaciones:
- Bloquear (id, id de usuario) : esta función bloquea el id de Node dado y lo marca como bloqueado por id de usuario, si los ancestros, los descendientes o el Node mismo no estaban bloqueados antes.
- Desbloquear (id, ID de usuario) : esta función desbloquea la ID de Node dada si antes estaba bloqueada por ID de usuario.
- Actualizar (id, ID de usuario) : actualiza el bloqueo a la ID del Node si todos los descendientes bloqueados fueron bloqueados por el mismo ID de usuario. Esta función falla si algún Node descendiente bloqueado fue bloqueado por un ID de usuario diferente.
Fue una pregunta bastante desafiante, pude resolver la pregunta después de aproximadamente 1,5 horas con 3-4 envíos incorrectos. El enfoque consiste básicamente en llevar la cuenta en cada Node de cuántos niños están bloqueados o no, y mantener qué niños están bloqueados por qué padre.
Después de esta ronda, fui seleccionado para la Parte B de la ronda del hackatón.
Ronda 2. 2: esta ronda se llevó a cabo en Slack con un mentor asignado a usted.
Descripción del problema: esta ronda fue una ronda mejorada de la parte 1. Se le pide que escriba el código de la parte A de tal manera que maneje subprocesos múltiples y evite la condición de carrera. Esta ronda es un tipo de ronda de discusión en la que el entrevistador primero le pedirá que describa el enfoque de la solución de la parte A, luego el entrevistador le explicará los subprocesos múltiples y el paralelismo.
La ronda comienza a las 11 de la mañana. para comenzar media hora, se le pide que describa el enfoque de la solución para la parte A, luego se le pide que aplique subprocesos múltiples a su solución de la parte A. La ronda se completa por la noche (el tiempo depende de su solución y del entrevistador). Esta ronda fue bastante buena en la que tratas un nuevo concepto del Sistema Operativo llamado Sincronización de Procesos, Bloqueo, Semáforos, mutex, etc. Llegas a tener un conocimiento silencioso sobre estos temas. Expliqué diferentes enfoques como bloquear el árbol completo y usar una sola variable Flag y, por fin, pude completarlo con algunas sugerencias del entrevistador. La experiencia general de la ronda anterior fue bastante buena, pude aprender algunos conceptos nuevos de sistemas operativos y los implementé.
Fui seleccionado en la ronda anterior y pasé a la siguiente ronda, que es la ronda de entrevistas técnicas. El reclutador te explicará completamente sobre la ronda técnica y qué tipo de pregunta harás en esta ronda.
Ronda 3: Ronda de entrevistas técnicas: el entrevistador se unió tarde, pero el entrevistador fue bastante bueno. me dijo que estaba en una reunion porque tuvieron un bug a nivel de produccion, me dijo que esto es una pesadilla en la vida de un ingeniero de software. Después de tener esta pequeña conversación, se presentó y me pidió que hiciera lo mismo.
Temas que se preguntaron: principalmente OS, relacionados con backend, CN, arquitectura informática, etc.
Algunas preguntas:
- Describir los subprocesos múltiples y el paralelismo.
- ¿Por qué necesitamos usar un sistema multiproceso?
- ¿Cómo podemos lograr subprocesos múltiples usando una CPU de un solo núcleo?
- Cuando presiona una tecla en el teclado, ¿qué sucede internamente en el sistema y cómo se imprime el carácter en la pantalla?
- ¿Qué es un proceso?
- diferencia entre proceso e hilo.
- ¿Cómo se ejecutan múltiples aplicaciones en nuestra computadora a la vez?
- ¿Cómo se comunica una aplicación con la CPU?
- Diferencia entre HTTP Post y HTTP Get Request.
- Diferencia entre dirección IP y dirección mac.
- luego, me pidió que dijera la diferencia entre Reactjs y AngularJs, ya que había mencionado Reactjs en mi currículum.
También me hicieron otras preguntas, pero no las recuerdo. Pude responder las preguntas anteriores, excepto por dos o tres preguntas, tampoco pude completar las preguntas de codificación porque era algo así como, se le da un archivo y necesita convertir ese archivo al formato comprimido.
Veredicto final: Fui rechazado en la ronda anterior. Los errores que cometí fueron los siguientes:
- No estaba explicando las respuestas en profundidad (ya que el reclutador después de la ronda 2 ya me dijo que tienes que explicar la respuesta en profundidad en la ronda 3).
- Di la respuesta incorrecta a dos o tres preguntas.
- No pude completar la pregunta de 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