Перейти к содержимому
Get-offer
.tech
Ассистент
Банк вопросов
Обратная связь
Ресурсы
Подписка
Войти
Скачать
Банк вопросов
/
Java
Разработчик
Java
14 464 вопроса · 265 задач
Вопросы
14 464
Лайвкодинг
265
Поиск по вопросам
Уровень
Компания
Сортировка
14 464 вопроса
Вопрос
Senior
aiins
Как посмотреть Java процессы на Linux?
29 просмотров
→
Вопрос
Senior
МТС
Приходилось писать свой Spring Boot Starter?
29 просмотров
→
Вопрос
Senior
RT Labs
Почему решил уйти с текущего места работы?
29 просмотров
→
Вопрос
Senior
Альфа-Банк
Как понимал, что не хватает индексов? Почему использовал B-tree индекс?
29 просмотров
→
Вопрос
Senior
Альфа-Банк
Если несколько объектов ссылаются друг на друга по кругу, но больше нигде не используются, удалит ли их GC?
29 просмотров
→
Вопрос
Senior
Альфа-Банк
Использовали ли инструменты для документации REST API (Swagger/OpenAPI)?
29 просмотров
→
Вопрос
Senior
Альфа-Банк
Приходилось ли оптимизировать работу с базой данных или запросы?
29 просмотров
→
Вопрос
Senior
Альфа-Банк
Что такое шардинг?
29 просмотров
→
Вопрос
Senior
IT One
Где Spring Boot ищет компоненты, если нет @ComponentScan?
29 просмотров
→
Вопрос
Senior
ОТП Банк
public class MoneyTransferService { /** * @param fromAccountId уникальный идентификатор пользователя который переводит средства * @param toAccountId уникальный идентификатор пользователя кому переводят средства * @param amount сумма перевода. Положительное число */ @Transactional public void transferMoney(Long fromAccountId, Long toAccountId, BigDecimal amount) { if (amount.compareTo(BigDecimal.ZERO) <= 0) { throw new RuntimeException("Amount must be +"); } if (fromAccountId.equals(toAccountId)) { throw new RuntimeException("Account can't be the same"); } Long firstId = Math.min(fromAccountId, toAccountId); Long secondId = Math.max(fromAccountId, toAccountId); Account first = accountRepository.findByIdForUpdate(firstId) .orElseThrow(() -> new RuntimeException("Account not found")); Account second = accountRepository.findByIdForUpdate(secondId) .orElseThrow(() -> new RuntimeException("Account not found")); Account from = fromAccountId.equals(firstId) ? first : second; Account to = fromAccountId.equals(firstId) ? second : first; if (from.getBalance().compareTo(amount) < 0) { throw new RuntimeException("Balance is less 0"); } from.setBalance(from.getBalance().subtract(amount)); to.setBalance(from.getBalance().add(amount)); accountRepository.save(to); accountRepository.save(from); } } @Entity @Data public class Account { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private BigDecimal balance; }
29 просмотров
→
Вопрос
Senior
Ozon Финтех
Паттерн Outbox: как обеспечить атомарность записи в БД и отправки события в очередь?
29 просмотров
→
Вопрос
Senior
kode.ru
Что означает stateless в контексте REST?
29 просмотров
→
Вопрос
Senior
СБЕР
Что такое микросервисы и почему они популярны? Всегда ли стоит их использовать?
29 просмотров
→
Вопрос
Senior
Salmon
Что такое индексы в PostgreSQL? Плюсы и минусы, типы индексов.
29 просмотров
→
Вопрос
Senior
01.tech
Расскажите про модуль персонализированных рекомендаций тарифов — какая логика была, кто принимал решение о рекомендации?
29 просмотров
→
Вопрос
Senior
Альфа-Банк
Что значит качество тестов? Расскажите подробнее.
29 просмотров
→
Вопрос
Senior
МВидео/эльдорадо
Если база данных меняется на нереляционную, есть ли Debezium для разных баз данных?
29 просмотров
→
Вопрос
Senior
01.tech
Расскажи про проект в МегаФоне, чем занимался?
29 просмотров
→
Вопрос
Middle+
Мираполис
Что такое индексы в SQL и для чего нужны? Какие минусы?
29 просмотров
→
Вопрос
Middle+
Мираполис
Какая скорость поиска в HashMap (среднее и худшее)?
29 просмотров
→
←
Назад
1
…
618
619
620
…
724
Вперёд
→