Java
Welche externen Dienste haben Sie für die Integration mit Ihrem System verwendet?
Was ist Layout in log4j?
Wie wird die Verarbeitung von Servlets unter Mehrfach-Thread-Bedingungen durchgeführt?
Welche Eigenschaft wird verwendet, um die Hintergrundfarbe festzulegen?
Warum kann hashCode() bei verschiedenen Objekten die gleichen Werte zurückgeben?
Wie kann die Einzigartigkeit der Schlüssel bei der Verwendung der Datenstruktur HashMap garantiert werden?
In welchen Situationen kann in einer Anwendung eine ClassCastException ausgelöst werden?
Auf welche Weisen kann man in Java Datentypen vergleichen?
Ist es im Kontext der Geschäftslogik erforderlich, alle Felder der Entität bei der Implementierung der Methode equals zu berücksichtigen?
Wer hat die Kontrolle und Verwaltung der Datenbanken in Ihrem letzten Projekt durchgeführt?
Haben Sie in Ihren Projekten das Isolationsniveau Repeatable Read angewendet?
Könnten Sie erklären, wie die Übergabe von Argumenten per Referenz in der Programmierung erfolgt?
Wie wurde der Integrationsprozess des Microservices in Ihrem letzten Projekt durchgeführt und durch welchen Mechanismus?
Hatten Sie Fälle von Entwicklung oder Implementierung einer Komponente oder eines Mechanismus, der Starter ähnelt?
Erklären Sie das Konzept der Denormalisierung in Datenbanken und ihre Folgen für das Projekt.
Was sind die Hauptunterschiede zwischen den Annotationen @RestController und @Controller in Spring?
Wird die Verwendung von Stream die Ausführungsgeschwindigkeit von Operationen in Java beeinflussen?
Können Sie den Unterschied zwischen Polymorphismus und Abstraktion in der objektorientierten Programmierung erklären?
Wie man parallele Berechnungen und Thread-Management in groß angelegter Unternehmenssoftware organisiert?
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; }