Sobes.tech

Java

Dimmi come ti sei immerso nei dettagli di questo progetto.

Junior — Middle
212

Quali dati di origine vengono utilizzati per determinare il valore di hashCode in un oggetto?

Junior — Middle
212

Qual è il ruolo del sistema di controllo delle versioni nel processo di sviluppo del software?

Junior — Middle
212

Come si può implementare la memorizzazione e la visualizzazione della struttura di un albero genealogico in un database relazionale?

Middle — Middle+
Hftlabs
212

Puoi spiegare la differenza tra polimorfismo e astrazione nella programmazione orientata agli oggetti?

Junior — Middle
212

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

Senior
ТБанк
212

Puoi parlare dei diversi tipi di propagazione che possono essere impostati nell'annotazione @Transactional?

Junior — Middle
212

Quali fonti utilizzi per cercare materiali didattici e aggiornamenti nel campo della tecnologia?

Junior — Middle
212

È possibile stabilire collegamenti tra diverse collezioni nel database MongoDB?

Junior — Middle
212

Come hai iniziato a imparare a lavorare con Java e i tuoi primi progetti in questo linguaggio?

Junior — Middle
212

Come vengono formate le query al database?

Junior
212

Su cosa si basa il framework Spring?

Junior
212

Qual è la differenza tra database SQL e NoSQL?

Junior
212

Dove viene usata l'annotazione @Bean?

Middle
212

Dove è meglio applicare l'ereditarietà e l'associazione nella programmazione?

Middle
212

Cos'è l'idempotenza di un metodo?

Junior
212

Quale approccio di autenticazione e autorizzazione è implementato in Spring Security nel tuo progetto?

Junior — Middle
Консалтика
212

Qual è la differenza tra i metodi di richiesta HTTP?

Junior
212

Cos'è l'interfaccia AutoCloseable e come funziona la costruzione try-with-resources in Java?

Middle
212

Perché i database sono migliori dei file di testo?

Junior
212
/726