Sobes.tech

Java

Quali conseguenze possono verificarsi creando un indice in una tabella con un milione di righe?

Junior — Middle
255

Hai esperienza nell'interagire con fornitori di dati o risorse?

Junior — Middle
248

Cosa può portare a un peggioramento delle prestazioni di una funzione?

Junior — Middle
247

Le dipendenze cicliche possono causare perdite di memoria in un programma?

Junior — Middle
241

Quali sono i vantaggi e gli svantaggi dell'utilizzo di indici per colonne singole in un database?

Junior — Middle
240

Come conoscere la query SQL eseguita in PostgreSQL?

Junior — Middle
239

Perché si verifica un'eccezione ConcurrentModificationException durante la modifica simultanea di un ArrayList durante l'iterazione?

Junior — Middle
236

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; }

234

In che modo puoi aumentare la velocità di esecuzione di questo metodo?

Junior — Middle
234

Quali azioni intraprenderesti se, aumentando il carico sul sistema, i ritardi nell'esecuzione delle query al database diventassero significativi?

233

Puoi elencare i principali metodi forniti dall'API Stream in Java?

Junior — Middle
233

Può spiegare il principio del blocco pessimista e in cosa si differenzia da un'altra strategia di blocco?

Junior — Middle
230

Quali metodi possono essere usati per aumentare la velocità di ricerca in una tabella?

Junior — Middle
229

Può spiegare come è strutturata la gerarchia di ereditarietà delle eccezioni nel linguaggio di programmazione?

Junior — Middle
229

Spiega il concetto di erasure del tipo e il suo scopo principale nella programmazione.

Junior — Middle
229

Esistono operazioni la cui esecuzione è esclusa all'interno delle transazioni?

Junior — Middle
227
/15