Heeft u de SELECT-constructie gebruikt bij gegevensupdatebewerkingen (UPDATE)?
Java
Kunt u de concept van Stream API in Java uitleggen en hoe het wordt gebruikt voor gegevensverwerking?
Welke hoofd taken lost het Spring-framework op bij het ontwikkelen van applicaties?
Wat kan leiden tot een verminderde prestaties bij het uitvoeren van een functie?
Welke stappen onderneem je om de oorzaken van de regelmatige herstarten van de service gerelateerd aan de OutOfMemoryError-fout te bepalen?
Kun cyclische afhankelijkheden leiden tot geheugenlekken in een programma?
Kunt u uitleggen wat wordt bedoeld met een atomair datatype?
Heeft u ervaring met het omgaan met gegevens- of resourceleveranciers?
Werking van de SELECT FOR UPDATE-operator in databases en de rol ervan in het beheer van gelijktijdige toegang
Lees de code en markeer de fouten /** * Een klant met een gekocht ticket kan tegen een extra vergoeding een specifieke stoel kiezen. * De basisprijs van de stoelen wordt bepaald door tarieven (externe service). * Voor klanten met bepaalde tarieven (PREMIUM, ULTRA) moet een korting worden toegepast bij betaling. * Bij reservering wordt een factuur voor betaling uitgegeven. Het betalingsbeheer wordt uitgevoerd in een externe service. */ @Service public class SeatBookingService { @Autowired private SeatBookingRepository seatBookingRepository; @Autowired private TicketRepository ticketRepository; @Autowired private TariffClient tariffClient; @Autowired private CustomerClient customerClient; @Autowired private PaymentClient paymentClient; /** * Reservering. * @param seatCode code van de stoel (bijvoorbeeld 19A) * @param ticketId ID van het ticket */ @Transactional public void bookSeat(String seatCode, UUID ticketId) { var ticket = ticketRepository.findById(ticketId); //reserveren var seatBooking = new SeatBooking(seatCode, ticket.get().getFlightId(), ticketId, BookingStatus.BOOKED); seatBookingRepository.save(seatBooking); //zoeken naar de basisprijs voor de stoel in het vliegtuig var basePrice = tariffClient.getBasePrice(ticket.get().getPlaneModel(), seatCode); //zoeken naar klantgegevens Long userId = (Long) SecurityContextHolder.getContext().getAuthentication().getPrincipal(); var userData = customerClient.getCustomer(userId); System.out.println("Gevonden gebruiker " + userData.getFio() + " documentnummer " + userData.getDocument()); var price = basePrice; if (userData.getTariff() == "PREMIUM") { //50% korting price = basePrice * 0.5d; } if (userData.getTariff() == "ULTRA") { //20% korting price = basePrice * 0.8d; } var invoice = new Invoice(price, ticketId, userId); //factuur uitgeven paymentClient.sendInvoice(invoice); System.out.println("Factuur verzonden"); } @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; }
Waarom treedt er een ConcurrentModificationException op bij gelijktijdige wijziging van een ArrayList tijdens iteratie?
Welke methoden kunnen worden gebruikt om de zoeksnelheid in een tabel te verhogen?
Welke acties onderneem je als de vertraging bij het uitvoeren van databasequery's significant wordt bij toenemende belasting op het systeem?
Kun je de belangrijkste methoden van de Stream API in Java opsommen?
Wat onderscheidt een optimistische benadering van locking van een pessimistische benadering in de context van concurrency management in databases?
Kunt u uitleggen hoe de erfgoedstructuur van uitzonderingen in de programmeertaal is opgebouwd?
Op welke manieren kun je de uitvoersnelheid van deze methode verhogen?
Kunt u het principe van pessimistische locking uitleggen en hoe het verschilt van een andere locking-strategie?
Leg het concept van type erasure uit en wat het belangrijkste doel ervan is in programmeren.