Sobes.tech

Java

Quels types d'index existent dans les systèmes de gestion de bases de données SQL?

Junior — Middle
263

Qu'est-ce qui peut entraîner une baisse de performance d'une fonction?

Junior — Middle
259

Quelles étapes entreprendras pour déterminer les causes des redémarrages réguliers du service liés à l'erreur OutOfMemoryError?

Junior — Middle
259

Avez-vous de l'expérience dans l'interaction avec des fournisseurs de données ou de ressources?

Junior — Middle
250

Les dépendances cycliques peuvent-elles entraîner des fuites de mémoire dans un programme?

Junior — Middle
248

Mécanisme de fonctionnement de l'opérateur SELECT FOR UPDATE dans les bases de données et son rôle dans la gestion de l'accès concurrent

Junior — Middle
245

Lisez le code et mettez en évidence les erreurs /** * Un client avec un billet acheté peut, moyennant un coût supplémentaire, choisir un siège spécifique. * Le prix de base des sièges est déterminé par des tarifs (service externe). * Pour les clients avec des tarifs spécifiques (PREMIUM, ULTRA), une réduction doit être appliquée lors du paiement. * Lors de la réservation, une facture est émise pour le paiement. La gestion du paiement se fait via un service externe. */ @Service public class SeatBookingService { @Autowired private SeatBookingRepository seatBookingRepository; @Autowired private TicketRepository ticketRepository; @Autowired private TariffClient tariffClient; @Autowired private CustomerClient customerClient; @Autowired private PaymentClient paymentClient; /** * Réservation. * @param seatCode code du siège (par exemple 19A) * @param ticketId ID du billet */ @Transactional public void bookSeat(String seatCode, UUID ticketId) { var ticket = ticketRepository.findById(ticketId); //réservons var seatBooking = new SeatBooking(seatCode, ticket.get().getFlightId(), ticketId, BookingStatus.BOOKED); seatBookingRepository.save(seatBooking); //recherchons le tarif de base pour le siège dans l'avion var basePrice = tariffClient.getBasePrice(ticket.get().getPlaneModel(), seatCode); //recherchons les données du client Long userId = (Long) SecurityContextHolder.getContext().getAuthentication().getPrincipal(); var userData = customerClient.getCustomer(userId); System.out.println("Utilisateur trouvé " + userData.getFio() + " numéro de document " + userData.getDocument()); var price = basePrice; if (userData.getTariff() == "PREMIUM") { //remise de 50% price = basePrice * 0.5d; } if (userData.getTariff() == "ULTRA") { //remise de 20% price = basePrice * 0.8d; } var invoice = new Invoice(price, ticketId, userId); //émission de la facture paymentClient.sendInvoice(invoice); System.out.println("Facture émise"); } @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; }

243

Pourquoi une exception ConcurrentModificationException se produit-elle lors de la modification simultanée d'un ArrayList pendant l'itération?

Junior — Middle
243

Quelles méthodes peuvent être utilisées pour augmenter la vitesse de recherche dans une table?

Junior — Middle
240

Pouvez-vous expliquer comment la hiérarchie d'héritage des exceptions est organisée dans le langage de programmation?

Junior — Middle
238

Pouvez-vous énumérer les principales méthodes fournies par l'API Stream en Java?

Junior — Middle
237

Quelles actions entreprendrais-vous si, avec l'augmentation de la charge sur le système, les délais d'exécution des requêtes à la base de données deviennent importants?

236

Expliquez le concept d'effacement de type et son objectif principal en programmation.

Junior — Middle
236

Pouvez-vous expliquer le principe du verrouillage pessimiste et en quoi il diffère d'une autre stratégie de verrouillage?

Junior — Middle
236

Qu'est-ce qui distingue une approche optimiste des verrouillages d'une approche pessimiste dans le contexte de la gestion de la concurrence dans les bases de données?

Junior — Middle
235

De quelles manières pouvez-vous augmenter la vitesse d'exécution de cette méthode?

Junior — Middle
235
/15