Java
Erzähle mir, wie du dich in die Details dieses Projekts eingearbeitet hast.
Welche Ausgangsdaten werden verwendet, um den Wert von hashCode in einem Objekt zu bestimmen?
Welche Rolle spielt das Versionsverwaltungssystem im Softwareentwicklungsprozess?
Wie kann man die Speicherung und Darstellung der Struktur eines Stammbaums in einer relationalen Datenbank realisieren?
Können Sie den Unterschied zwischen Polymorphismus und Abstraktion in der objektorientierten Programmierung erklären?
Lesen Sie den Code und markieren Sie die Fehler /** * Ein Kunde mit einem gekauften Ticket kann gegen eine zusätzliche Gebühr einen bestimmten Sitzplatz wählen. * Der Grundpreis der Sitze wird durch Tarife (externen Service) bestimmt. * Für Kunden mit bestimmten Tarifen (PREMIUM, ULTRA) ist bei der Bezahlung ein Rabatt zu gewähren. * Bei der Buchung wird eine Rechnung für die Zahlung ausgestellt. Die Zahlungsverwaltung erfolgt in einem externen 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; /** * Buchung. * @param seatCode Sitzplatzcode (z.B. 19A) * @param ticketId Ticket-ID */ @Transactional public void bookSeat(String seatCode, UUID ticketId) { var ticket = ticketRepository.findById(ticketId); //reservieren var seatBooking = new SeatBooking(seatCode, ticket.get().getFlightId(), ticketId, BookingStatus.BOOKED); seatBookingRepository.save(seatBooking); //finden Sie den Grundtarif für den Sitzplatz im Flugzeug var basePrice = tariffClient.getBasePrice(ticket.get().getPlaneModel(), seatCode); //finden Sie die Kundendaten Long userId = (Long) SecurityContextHolder.getContext().getAuthentication().getPrincipal(); var userData = customerClient.getCustomer(userId); System.out.println("Gefundener Benutzer " + userData.getFio() + " Dokumentnummer " + userData.getDocument()); var price = basePrice; if (userData.getTariff() == "PREMIUM") { //50% Rabatt price = basePrice * 0.5d; } if (userData.getTariff() == "ULTRA") { //20% Rabatt price = basePrice * 0.8d; } var invoice = new Invoice(price, ticketId, userId); //Rechnung ausstellen paymentClient.sendInvoice(invoice); System.out.println("Rechnung ausgestellt"); } @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; }
Kannst du über die verschiedenen Arten der Propagation sprechen, die in der Annotation @Transactional festgelegt werden können?
Welche Quellen nutzt du, um Lernmaterialien und Aktualisierungen im Bereich der Technologie zu suchen?
Ist es möglich, Verbindungen zwischen verschiedenen Sammlungen in der MongoDB-Datenbank herzustellen?
Wie hast du angefangen, mit Java zu arbeiten und deine ersten Projekte in dieser Sprache?
Wodurch werden Datenbankabfragen gebildet?
Woraus basiert das Spring-Framework?
Was ist der Unterschied zwischen SQL- und NoSQL-Datenbanken?
Wo wird die Annotation @Bean verwendet?
Wo ist es am besten, Vererbung und Assoziation in der Programmierung anzuwenden?
Was ist die Idempotenz einer Methode?
Welchen Ansatz zur Authentifizierung und Autorisierung wird in Spring Security in Ihrem Projekt umgesetzt?
Was ist der Unterschied zwischen den HTTP-Anfragemethoden?
Was ist die Schnittstelle AutoCloseable und wie funktioniert die try-with-resources-Konstruktion in Java?
Warum sind Datenbanken besser als Textdateien?