Java
Wie implementieren Sie die Arbeit mit dynamischen Abfragen in Spring Data JPA?
Haben Sie die SELECT-Konstruktion bei Datenaktualisierungsoperationen (UPDATE) verwendet?
Hat die Datenstruktur HashMap eine vorhersehbare Reihenfolge der Elemente?
Kann man eine große, komplexe Aufgabe mit mehreren kleinen innerhalb eines Teams zusammenfassen?
Können Sie den Unterschied zwischen Polymorphismus und Abstraktion in der objektorientierten Programmierung erklären?
Verarbeitet die Datenstruktur eine Liste mit der Möglichkeit, sie in beide Richtungen zu durchlaufen oder nur in eine?
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; }
Welche Arten der Dependency Injection kennen Sie?
Wenn ich die Methode toList() auf einen Stream aufrufe, ist das Ergebnis eine ArrayList oder ein anderer Sammlungstyp?
Könnten Sie erklären, was die Abkürzung SLF4J bedeutet und wie sie in Java-Projekten verwendet wird?
Warum ist es wichtig, die ACID-Eigenschaften bei der Arbeit mit Transaktionen in einer Datenbank anzuwenden?
Kann die Schnittstelle Runnable als Schnittstelle zur Ausführung von Aufgaben in Java betrachtet werden?
Was ist der Unterschied zwischen den Methoden equals und hashCode in Java?
Können Sie das Konzept von lock-freien Algorithmen und deren Unterschiede zu anderen Synchronisationsmethoden erklären?
Was sind die Hauptunterschiede zwischen LinkedList und ArrayList in Java?
Welche Erfahrung haben Sie in der Entwicklung von Schnittstellen, die auf Funktionen basieren oder Funktionen als Hauptkomponente verwenden?
Welchen Ansatz zur Authentifizierung und Autorisierung wird in Spring Security in Ihrem Projekt umgesetzt?
Kann man ein eigenes Verhalten für den Konstruktor in einer abgeleiteten Klasse erstellen, indem man ihn überschreibt?
Was ist die Schnittstelle AutoCloseable und wie funktioniert die try-with-resources-Konstruktion in Java?
Wie kann man eine bestimmte Version einer transitiven Abhängigkeit in der Gradle-Konfigurationsdatei angeben?