Java
Est-il obligatoire de prendre en compte tous les champs de l'entité lors de la mise en œuvre de la méthode equals dans le contexte de la logique métier?
Qui a assuré le contrôle et la gestion des bases de données dans votre dernier projet?
Quelle est la différence entre une exception (Exception) et une erreur (Error) en Java?
Avez-vous appliqué le niveau d'isolation Repeatable Read dans vos projets?
Les dépendances cycliques peuvent-elles entraîner des fuites de mémoire dans un programme?
Parlez du cycle de vie de Maven.
Quels outils et bibliothèques de test automatisé avez-vous utilisés dans vos projets?
Quels défis avez-vous rencontrés lors de la création d'un système pour automatiser une plateforme éducative?
Pouvez-vous expliquer la différence entre le polymorphisme et l'abstraction en programmation orientée objet?
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; }
Quelle est la principale différence entre les interfaces Comparable et Comparator en Java lors du tri d'objets?
Quelles sources utilisez-vous pour rechercher des matériaux d'apprentissage et des mises à jour dans le domaine de la technologie?
Est-il possible d'établir des liens entre différentes collections dans la base de données MongoDB?
Comment sont formées les requêtes à la base de données?
Quelles valeurs sont utilisées pour l'initialisation par défaut des variables en Java?
Quel est l'ordre d'appel des constructeurs et des blocs d'initialisation en tenant compte de la hiérarchie des classes?
Pouvez-vous expliquer comment se déroule une attaque de type SQL Injection et comment elle exploite les vulnérabilités de la base de données?
Quelle est la différence entre les bases de données SQL et NoSQL?
Où est utilisée l'annotation @Bean?
Où est-il préférable d'appliquer l'héritage et l'association en programmation?