Java
¿Cómo se realiza el procesamiento de Servlet en condiciones de multihilo?
¿Qué propiedad se usa para establecer el color de fondo?
¿Por qué hashCode() puede devolver valores iguales para diferentes objetos?
¿Cómo se puede garantizar la unicidad de las claves al usar la estructura de datos HashMap?
¿En qué situaciones puede lanzarse una excepción ClassCastException en una aplicación?
¿De qué maneras se pueden comparar los tipos de datos en Java?
¿Qué es una excepción en Java?
¿Cómo se puede realizar una llamada a un método que existe en una biblioteca externa?
¿Quién realizó el control y la gestión de las bases de datos en su último proyecto?
¿Ha aplicado el nivel de aislamiento de transacciones Repeatable Read en sus proyectos?
¿Podría explicar cómo se realiza la transferencia de argumentos por referencia en programación?
¿Qué datos de origen se utilizan para determinar el valor de hashCode en un objeto?
¿Cuáles son las principales diferencias entre las anotaciones @RestController y @Controller en Spring?
¿Cómo se puede implementar el almacenamiento y la visualización de la estructura de un árbol genealógico en una base de datos relacional?
¿Puede explicar la diferencia entre el concepto de polimorfismo y abstracción en la programación orientada a objetos?
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; }
¿Puedes hablar sobre los diferentes tipos de propagación que se pueden establecer en la anotación @Transactional?
¿Cuál es la principal diferencia entre las interfaces Comparable y Comparator en Java al ordenar objetos?
¿Qué fuentes utilizas para buscar materiales de estudio y actualizaciones en el campo de la tecnología?
¿Es posible establecer conexiones entre diferentes colecciones en la base de datos MongoDB?