Lernen Sie jetzt weiterhin neue Technologien und Fähigkeiten?
Java
Welche Methoden haben Sie angewendet, um die Effizienz der Interaktion mit der Datenbank in Ihren Projekten zu verbessern?
Haben Sie in Ihrem letzten Projekt mit Kubernetes gearbeitet?
Haben Sie Erfahrung im Programmieren mit Python?
Welche Rolle spielt die Annotation @Repository in der Datenschicht Ihrer Anwendung?
Worin unterscheiden sich die Prozesse der Lieferung und des Deployments eines Softwareprodukts?
Was passiert mit der Nachricht in Kafka, wenn während ihrer Verarbeitung eine Ausnahme ausgelöst wird (aber die Anwendung nicht abstürzt)?
Wie wird die Abhängigkeit mittels der Setter-Methode in der objektorientierten Programmierung umgesetzt?
Welche Rolle spielt das Schlüsselwort volatile bei der Steuerung der Multithread-Programmierung in Java?
Wie viele Personen waren in deinem Team und welche Rollen hatten sie?
Können Sie erklären, was ein Hibernate-Proxy ist und wie er in ORM verwendet wird?
Erzählen Sie mir vom Garbage Collector in Java.
Warum Reflection verwenden, um auf private Eigenschaften von Objekten zuzugreifen?
Wie wählt man die Felder für die Indexierung in einer Datenbanktabelle aus?
Welche Methoden werden verwendet, um Daten zwischen Microservices in der Architektur auszutauschen?
Wie kann man eine Bibliotheksabhängigkeit im Maven-Build-System entfernen?
Implementieren Sie die Überweisung von Geldern zwischen zwei Konten. Beachten Sie, dass dies eine Produktionslösung ist Eingabeparameter: @param fromAccountId Eindeutiger Bezeichner des Benutzers, der Gelder überweist @param toAccountId Eindeutiger Bezeichner des Benutzers, an den Gelder überwiesen werden @param amount Überweisungsbetrag. Positive Zahl public void transferMoney(Long fromAccountId, Long toAccountId, BigDecimal amount) { if (amount.compareTo(BigDecimal.ZERO) <= 0) { throw new RuntimeException("Betrag muss > 0 sein"); } if (fromAccountId.equals(toAccountId)) { throw new RuntimeException("Konto kann nicht dasselbe sein"); } Long firstId = Math.min(fromAccountId, toAccountId); Long secondId = Math.max(fromAccountId, toAccountId); Account first = accountRepository.findByIdForUpdate(firstId) .orElseThrow(() -> new RuntimeException("Konto nicht gefunden")); Account second = accountRepository.findByIdForUpdate(secondId) .orElseThrow(() -> new RuntimeException("Konto nicht gefunden")); Account from = fromAccountId.equals(firstId) ? first : second; Account to = fromAccountId.equals(firstId) ? second : first; if (from.getBalance().compareTo(amount) < 0) { throw new RuntimeException("Saldo ist kleiner als 0"); } from.setBalance(from.getBalance().subtract(amount)); to.setBalance(to.getBalance().add(amount)); accountRepository.save(to); accountRepository.save(from); }
Kann der Dienst bei einem Ausfall der Verbindung zur Datenbank korrekt funktionieren?
Wie verwaltet HashMap Situationen, in denen Objekte mit gleichen Schlüsseln hinzugefügt werden?
Welche Datentypen oder Werte können nicht als Wert für einen sekundären Schlüssel in einer Datenbanktabelle verwendet werden?