Java
Come viene eseguita l'elaborazione del Servlet in condizioni di multithreading?
Quale proprietà viene usata per impostare il colore di sfondo?
Perché hashCode() di oggetti diversi può restituire valori uguali?
Come garantire l'unicità delle chiavi durante l'uso della struttura dati HashMap?
In quali situazioni può essere sollevata un'eccezione ClassCastException in un'applicazione?
In che modo è possibile confrontare i tipi di dati in Java?
Cos'è un'eccezione in Java?
Come si può effettuare una chiamata a un metodo che esiste in una libreria esterna?
Chi ha gestito il controllo e la gestione dei database nel tuo ultimo progetto?
Hai applicato il livello di isolamento Repeatable Read nei tuoi progetti?
Potresti spiegare come avviene il passaggio degli argomenti per riferimento in programmazione?
Quali dati di origine vengono utilizzati per determinare il valore di hashCode in un oggetto?
Quali sono le principali differenze tra le annotazioni @RestController e @Controller in Spring?
Come si può implementare la memorizzazione e la visualizzazione della struttura di un albero genealogico in un database relazionale?
Puoi spiegare la differenza tra polimorfismo e astrazione nella programmazione orientata agli oggetti?
Leggere il codice e evidenziare gli errori /** * Un cliente con un biglietto acquistato può, a pagamento, scegliere un posto specifico. * Il prezzo base dei posti è determinato dai tariffe (servizio esterno). * Per i clienti con tariffe specifiche (PREMIUM, ULTRA), è necessario applicare uno sconto al pagamento. * Durante la prenotazione, viene emessa una fattura per il pagamento. La gestione del pagamento avviene tramite un servizio esterno. */ @Service public class SeatBookingService { @Autowired private SeatBookingRepository seatBookingRepository; @Autowired private TicketRepository ticketRepository; @Autowired private TariffClient tariffClient; @Autowired private CustomerClient customerClient; @Autowired private PaymentClient paymentClient; /** * Prenotazione. * @param seatCode codice del posto (ad esempio 19A) * @param ticketId ID del biglietto */ @Transactional public void bookSeat(String seatCode, UUID ticketId) { var ticket = ticketRepository.findById(ticketId); //prenotiamo var seatBooking = new SeatBooking(seatCode, ticket.get().getFlightId(), ticketId, BookingStatus.BOOKED); seatBookingRepository.save(seatBooking); //cerchiamo la tariffa base per il posto sull'aereo var basePrice = tariffClient.getBasePrice(ticket.get().getPlaneModel(), seatCode); //cerchiamo i dati del cliente Long userId = (Long) SecurityContextHolder.getContext().getAuthentication().getPrincipal(); var userData = customerClient.getCustomer(userId); System.out.println("Utente trovato " + userData.getFio() + " numero documento " + userData.getDocument()); var price = basePrice; if (userData.getTariff() == "PREMIUM") { //sconto del 50% price = basePrice * 0.5d; } if (userData.getTariff() == "ULTRA") { //sconto del 20% price = basePrice * 0.8d; } var invoice = new Invoice(price, ticketId, userId); //emetti la fattura paymentClient.sendInvoice(invoice); System.out.println("Fattura emessa"); } @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; }
Puoi parlare dei diversi tipi di propagazione che possono essere impostati nell'annotazione @Transactional?
Qual è la principale differenza tra le interfacce Comparable e Comparator in Java durante l'ordinamento degli oggetti?
Quali fonti utilizzi per cercare materiali didattici e aggiornamenti nel campo della tecnologia?
È possibile stabilire collegamenti tra diverse collezioni nel database MongoDB?