Sobes.tech

Есть ли у вас опыт написания программ с многопоточностью и асинхронностью?

Senior
Яндекс вертикали
5

Приходилось ли писать кастомные аннотации или делать сканирование классов?

Senior
СБЕРСБЕР
5

Как Tomcat взаимодействует с потоками процессора (hardware threads)? Почему можно обрабатывать 200 запросов на 16 ядрах?

Senior
Octo
5

Почему SELECT FOR UPDATE SKIP LOCKED хуже работает в Oracle по сравнению с PostgreSQL?

Senior
СБЕРСБЕР
5

За что отвечает редирект ASK в Redis Cluster?

Senior
Octo
5

Как реализовать распределённую систему, удовлетворяющую всем свойствам CAP? Какие там есть свойства?

Middle+
Клиент ОТП
5

Могут ли Entity-сущности наследоваться? Как происходит маппинг в БД?

Senior
SSP Soft
5

Зачем нужен Docker Compose? Есть ли плюсы помимо удобства?

Senior
Альфа-БанкАльфа-Банк
5

На каком этапе создаются прокси (для @Transactional, @Async и т.д.)?

Senior
Uzum
5

Почему решили выйти на рынок и искать новые предложения?

Senior
ИП Ганус Александр Андреевич
5

Какие есть реализации List и чем они отличаются друг от друга?

Senior
Позитив Технолоджис
5

Чем Kafka отличается от RabbitMQ и за счёт чего Kafka лучше масштабируется?

Senior
СБЕРСБЕР
5

Что такое нормализация данных в Postgres и зачем она нужна?

Senior
Octo
4

Что произойдёт с HashMap, если переопределить hashCode() так, чтобы он всегда возвращал одно и то же значение (например, 42)?

Senior
Napoleon IT
4

Расскажи про проект в Газпроме.

Senior
01.tech
4

Как исправить deadlock в задаче с Wallets? Можно ли использовать атомики?

Senior
ТБанк
4

Есть ли опыт работы с брокерами сообщений и с какими? На уровне пользователя или знаешь внутреннее устройство?

Senior
Heads and Hands
4

Какую коллекцию использовать для таблицы результатов с сортировкой по фамилии и поиском по ключу?

Senior
IT OneIT One
4

Реализовать перевод средств между двумя счетами. Учитываем, что это production решение Входные параметры: @param fromAccountId уникальный идентификатор пользователя который переводит средства @param toAccountId уникальный идентификатор пользователя кому переводят средства @param amount сумма перевода. Положительное число public void transferMoney(Long fromAccountId, Long toAccountId, BigDecimal amount) { if (amount.compareTo(BigDecimal.ZERO) <= 0) { throw new RuntimeException("Amount must be > 0"); } 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); }

Senior
ОТП БанкОТП Банк
4

Какие алгоритмы балансировки нагрузки знаешь?

Senior
СБЕРСБЕР
4
/710