Czy nadal uczysz się nowych technologii i umiejętności?
Java
Jakimi metodami poprawiłeś efektywność interakcji z bazą danych w swoich projektach?
Czy pracowałeś z Kubernetes w swoim ostatnim projekcie?
Czy masz doświadczenie w programowaniu w Pythonie?
Jaką rolę pełni adnotacja @Repository w warstwie danych Twojej aplikacji?
Czym różnią się procesy dostarczania i wdrażania produktu programistycznego?
Co się stanie z wiadomością w Kafka, jeśli podczas jej przetwarzania zostanie wyrzucony wyjątek (ale aplikacja nie zawali się)?
Jak realizowana jest zależność za pomocą metody settera w programowaniu obiektowym?
Jaka jest rola słowa kluczowego volatile w zarządzaniu wielowątkowością w Java?
Ile osób było w twoim zespole i jakie mieli role?
Czy możesz wyjaśnić, czym jest proxy Hibernate i jak jest używane w ORM?
Opowiedz mi o garbage collectorze w Java.
Dlaczego używać refleksji do dostępu do prywatnych właściwości obiektów?
Jak wybrać pola do indeksowania w tabeli bazy danych?
Jakie metody służą do wymiany danych między mikroserwisami w architekturze?
Jak można usunąć zależność biblioteki w systemie budowania Maven?
Zaimplementuj przelew środków między dwoma kontami. Pamiętaj, że jest to rozwiązanie produkcyjne Parametry wejściowe: @param fromAccountId unikalny identyfikator użytkownika, który dokonuje przelewu @param toAccountId unikalny identyfikator użytkownika, na którego konto są przelewane środki @param amount kwota przelewu. Liczba dodatnia public void transferMoney(Long fromAccountId, Long toAccountId, BigDecimal amount) { if (amount.compareTo(BigDecimal.ZERO) <= 0) { throw new RuntimeException("Kwota musi być > 0"); } if (fromAccountId.equals(toAccountId)) { throw new RuntimeException("Konto nie może być takie samo"); } Long firstId = Math.min(fromAccountId, toAccountId); Long secondId = Math.max(fromAccountId, toAccountId); Account first = accountRepository.findByIdForUpdate(firstId) .orElseThrow(() -> new RuntimeException("Konto nie znalezione")); Account second = accountRepository.findByIdForUpdate(secondId) .orElseThrow(() -> new RuntimeException("Konto nie znalezione")); Account from = fromAccountId.equals(firstId) ? first : second; Account to = fromAccountId.equals(firstId) ? second : first; if (from.getBalance().compareTo(amount) < 0) { throw new RuntimeException("Niewystarczające saldo"); } from.setBalance(from.getBalance().subtract(amount)); to.setBalance(to.getBalance().add(amount)); accountRepository.save(to); accountRepository.save(from); }
Czy usługa może poprawnie działać w przypadku awarii połączenia z bazą danych?
Jak HashMap radzi sobie z sytuacjami, gdy do niej dodawane są obiekty z tymi samymi kluczami?
Jakie typy danych lub wartości nie mogą być używane jako wartość dla klucza drugiego w tabeli bazy danych?