Experiencia de entrevista de Paytm (desarrollador de Java Backend) – Part 1

La ronda 1: 

Hubo una ronda en línea que consta de 4 secciones y debe realizarse en un lapso de 70 minutos.

  1. Pregunta de estructura de datos: encuentre el número mínimo de intercambios entre caracteres adyacentes en una string para convertir en palíndromo. Si el palíndromo no es posible, devuelva -1 y si la string ya es un palíndromo, devuelva 0. https://stackoverflow.com/questions/51796237/minimum-number-of-swaps-to-convert-a-string-to- palíndromo
  2. Estructura de datos MCQ: 13 preguntas basadas en montón, cola, árbol b+, algoritmo de clasificación. Algunas preguntas fueron
    1. ¿Cuándo los Nodes de hoja de árbol B+ apuntarán al Node hermano?
    2. ¿Qué propiedad es verdadera sobre el árbol negro rojo?
    3. Dado que la pila se implementa con dos colas y algunas operaciones push y pop dadas, ¿cuántas operaciones enqueue y deque se realizan en total?
    4. Preguntas sobre MinHeap y MaxHeap.
  3. MCQ basados ​​en Java: 13 Preguntas relacionadas principalmente con subprocesos, clases y excepciones. Algunas preguntas fueron
    1. ¿Cuál de los siguientes es/son constructores de subprocesos válidos?
    2. Se crearon dos subprocesos y se ejecutó la función que contiene un bucle que se ejecuta 1000 veces. Dentro del bucle, se sincronizó para imprimir dos variables. Imprimir salida esperada.
    3. Una pregunta de prueba/captura donde se mencionó la operación aritmética = 25/0 en el bloque de prueba y esto fue seguido por el bloque finalmente y luego por la captura con el manejo de ArithmeticException y una declaración después de la captura. Imprime la salida esperada.
    4. Pregunta de polimorfismo en la que se realizaron tres funciones con el mismo nombre pero diferentes argumentos, como string, objeto y lista de arreglos, y se realizó una llamada de función con argumento NULL. Necesitamos imprimir la salida esperada.
    5. Dos preguntas basadas en la función de rendimiento y unión de hilos.
  4. Consultas SQL MCQ: 13 consultas basadas en la operación de inserción, seleccione consultas con JOIN (unión natural, unión izquierda, unión derecha) y puntos de datos de reversión.

La ronda 2: 

Esta ronda fue una mezcla de estructuras de datos y preguntas de diseño de bajo nivel.

  1. Preguntas sobre estructuras de datos:
    1. https://www.geeksforgeeks.org/check-for-balanced-parentheses-in-an-expression/ 
    2. https://www.geeksforgeeks.org/zigzag-tree-traversal/
    3. Multiplique dos números sin usar operadores ‘*’ y repetitivos ‘+’.( https://www.geeksforgeeks.org/russian-peasant-multiply-two-numbers-using-bitwise-operators/  )
    4. https://cs.stackexchange.com/questions/43073/fit-stack-of-stone-of-variing-length-into-a-well-of-variing-length
  2. Preguntas de diseño:
    1. Diseñe un diagrama de bajo nivel del sistema que consista en la clase DataService que tendrá tres cachés (C1, C2, C3). Esta clase tendrá una función getData(id) que llamará internamente a C1. Si no encuentra datos en C1, llama a C2 y en caso de que falten, a su vez llama a C3. Esperaba que usara Chain of Responsibility en Design Patterns.
    2. ¿Por qué definimos Beans (Spring boot) como interfaz de retorno en lugar de implementaciones? Di respuesta debido a múltiples implementaciones de estrategia para esa interfaz. Patrón de estrategia.
    3. ¿Qué es el patrón de fachada? Explique con un ejemplo.
    4. Preguntas como qué es herencia, abstracción, artefactos locales, pom.xml, maven, sharding.
    5. Diferencia entre el método peek() y poll() de la cola en java

Ronda 3:

Esta ronda se estructuró principalmente en torno al diseño. El entrevistador me pidió que codificara clases en Java.

  1. Clase de registrador de diseño. Estaban buscando la aplicación del patrón de diseño singleton en esta clase.
  2. Diseñe una clase para resolver el problema de lectura y escritura utilizando bloqueos mutex en los que se permitieron múltiples operaciones de lectura y una sola operación de escritura.
  3. Me preguntó la diferencia sobre los métodos wait() y sleep() de la clase Thread.
  4. Si tiene un servicio, diga A y depende del servicio B. Debido a alguna razón, hay una falla en el servicio B, ¿qué haría en el servicio A para hacer frente a tal situación?
  5. ¿Qué es la función hashCode y por qué la necesitamos? A qué clase pertenece esta función.
  6. ¿Qué es la serialización y deserialización en Java?
  7. Cree una anotación personalizada utilizando Spring Boot Framework Java.
  8. También se preguntó una estructura de datos. https://www.geeksforgeeks.org/anagram-substring-search-search-permutations/

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *