Sobes.tech

Есть ли опыт работы с микросервисной архитектурой и участия в её проектировании?

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

Что было синхронного и что поменялось? Какой из двух кейсов (по расписанию или по изменению статуса) был синхронным?

Middle+
pdm
5

Был ли опыт написания технической документации, инструкций, гайдов, runbook'ов?

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

Расскажи про способы инъекции зависимостей в Spring

Senior
Octo
5

Как изменилось потребление памяти? Пришлось ли что-то настраивать?

Senior
атон
5

Хочу добавить индекс в таблицу с миллионом записей — какие последствия и как правильно это сделать?

Senior
ТБанк
5

О каких объектах идёт речь при оптимизации — мета-данные или транзакционные данные?

Senior
СБЕРСБЕР
5

Как сравниваются элементы в красно-чёрном дереве внутри HashMap, если ключи не реализуют Comparable?

Senior
01.tech
5

В связи с чем меняете работу?

Senior
СБЕРСБЕР
5

// ... call test code here? // ... some code here?

Senior
СБЕРСБЕР
5

Если завязываться на имя класса — какие будут ограничения при расширении?

Senior
СБЕРСБЕР
5

Напиши Git-команды для добавления файла и коммита на удалённой машине с доступом только по SSH

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

Расскажите про опыт работы с JMS и ActiveMQ. Как выглядит код для чтения сообщений из очереди?

Middle
Финансовые платформы
5

Примитивное поле объекта — где будет лежать, в heap или в стеке?

Senior
SSP Soft
5

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; }

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

Чем отличаются потоки от процессов?

Senior
ТБанк
5

Что делает метод map в стримах?

Middle+
Мираполис
5

Как связаны Topic и Partition в Kafka?

Senior
Heads and Hands
5

Какие условия нужны для преобразования списка в дерево в HashMap?

Senior
Octo
5

Какой уровень изоляции по умолчанию в PostgreSQL?

Senior
IT OneIT One
5
/710