Sobes.tech

Java

¿Cuáles son las ventajas y desventajas de usar índices para columnas individuales en una base de datos?

Junior — Middle
260

¿Qué tipos de índices existen en los sistemas de gestión de bases de datos SQL?

Junior — Middle
260

¿Qué puede llevar a una disminución en el rendimiento de la función?

Junior — Middle
258

¿Qué pasos tomarás para determinar las causas de los reinicios regulares del servicio relacionados con el error OutOfMemoryError?

Junior — Middle
257

¿Tiene experiencia en interactuar con proveedores de datos o recursos?

Junior — Middle
250

¿Pueden las dependencias cíclicas provocar fugas de memoria en un programa?

Junior — Middle
246

¿Cómo saber la consulta SQL ejecutada en PostgreSQL?

Junior — Middle
246

Mecanismo de funcionamiento del operador SELECT FOR UPDATE en bases de datos y su papel en la gestión del acceso concurrente

Junior — Middle
241

Lea el código y destaque los errores /** * Un cliente con un billete comprado puede, por un costo adicional, elegir un asiento específico. * El precio base de los asientos se determina mediante tarifas (servicio externo). * Para clientes con tarifas específicas (PREMIUM, ULTRA), se debe aplicar un descuento en el pago. * Al reservar, se emite una factura para el pago. La gestión del pago se realiza en un servicio externo. */ @Service public class SeatBookingService { @Autowired private SeatBookingRepository seatBookingRepository; @Autowired private TicketRepository ticketRepository; @Autowired private TariffClient tariffClient; @Autowired private CustomerClient customerClient; @Autowired private PaymentClient paymentClient; /** * Reserva. * @param seatCode código del asiento (por ejemplo, 19A) * @param ticketId ID del billete */ @Transactional public void bookSeat(String seatCode, UUID ticketId) { var ticket = ticketRepository.findById(ticketId); //reservamos var seatBooking = new SeatBooking(seatCode, ticket.get().getFlightId(), ticketId, BookingStatus.BOOKED); seatBookingRepository.save(seatBooking); //buscamos la tarifa base para el asiento en el avión var basePrice = tariffClient.getBasePrice(ticket.get().getPlaneModel(), seatCode); //buscamos datos del cliente Long userId = (Long) SecurityContextHolder.getContext().getAuthentication().getPrincipal(); var userData = customerClient.getCustomer(userId); System.out.println("Usuario encontrado " + userData.getFio() + " número de documento " + userData.getDocument()); var price = basePrice; if (userData.getTariff() == "PREMIUM") { //descuento del 50% price = basePrice * 0.5d; } if (userData.getTariff() == "ULTRA") { //descuento del 20% price = basePrice * 0.8d; } var invoice = new Invoice(price, ticketId, userId); //emitimos la factura paymentClient.sendInvoice(invoice); System.out.println("Factura emitida"); } @Data @Table("seat_booking") public class SeatBooking { @Column private String seatCode; @Column private UUID flightId; @Column private UUID ticketId; @Column private BookingStatus status; } public enum BookingStatus { BOOKED, PAID; }

240

¿Por qué se produce una excepción ConcurrentModificationException al modificar simultáneamente un ArrayList durante la iteración?

Junior — Middle
240

¿Qué métodos se pueden usar para aumentar la velocidad de búsqueda en una tabla?

Junior — Middle
238

¿Puede explicar cómo está estructurada la herencia de excepciones en el lenguaje de programación?

Junior — Middle
236

¿De qué maneras puedes aumentar la velocidad de ejecución de este método?

Junior — Middle
235

¿Qué acciones tomarías si, al aumentar la carga en el sistema, las demoras en la ejecución de las consultas a la base de datos se vuelven significativas?

234

¿Qué distingue un enfoque optimista de los bloqueos de uno pesimista en el contexto de la gestión de la concurrencia en bases de datos?

Junior — Middle
234

¿Puede explicar el principio de funcionamiento del bloqueo pesimista y en qué se diferencia de otra estrategia de bloqueo?

Junior — Middle
234

Explique el concepto de eliminación de tipos y cuál es su propósito principal en la programación.

Junior — Middle
234
/15