¿Qué métodos de gestión de transacciones en Spring conoces?
Java
¿En qué ámbito de visibilidad se crean por defecto los beans en Spring?
¿Tiene una arquitectura de microservicios: escribió la anotación en un servicio específico o en todo el proyecto? ¿Cómo distribuyó la solución?
Cuéntame sobre un caso de optimización de una consulta SQL: ¿cuál era el problema y cómo se resolvió?
¿Cómo aplicar la anotación en la práctica? ¿Escribiste tus propias anotaciones personalizadas?
Revisión de código: eche un vistazo al método getDivisions (capturas de pantalla del código) — ¿qué le gustó, qué no le gustó? ¿Es justificado el uso de orden insensible, manejo de errores, streaming, etc.?
¿Cómo lidiar con el problema N+1?
¿Qué significa propagation cuando un método se llama desde el contexto de una transacción ya abierta?
Si una entidad se carga con una sola consulta y llamamos al método para obtener la entidad relacionada, ¿cuántas consultas en total se realizarán?
¿Qué es el patrón de diseño Singleton?
¿Qué niveles de aislamiento de transacciones conoces?
¿Cómo explicarías a otro desarrollador qué es Spring Data y cuál es su valor?
¿Qué es una anotación en Java? ¿Cómo explicarías esto a otro desarrollador?
¿El método save() en el repositorio JPA crea una nueva entidad o actualiza una existente?
¿Ha utilizado alguna vez TransactionTemplate en su trabajo? Dé un ejemplo en el que decidió programáticamente si revertir la transacción o no.
¿Es justificado el uso de la anotación @Transactional(readOnly=true) en este método?
¿Qué métodos de manejo de excepciones ha utilizado en aplicaciones Spring Boot?
Tarea: hay dos microservicios, se necesita transferir una tabla grande (más de 3 millones de registros) de uno a otro (hacer una copia local). ¿Cómo lo implementarías, teniendo en cuenta que los datos pueden cambiar con frecuencia y que se requiere transaccionalidad (todo o nada)?
¿Por qué el alcance singleton se selecciona por defecto para los beans y por qué se considera que crear un objeto es una operación costosa?
¿Qué parámetros tiene la anotación @Transactional?