Какие недостатки у решения с двумя отдельными Map для RUB и EUR и как его улучшить для добавления новых валют?

Две отдельные Map приводят к дублированию логики и ветвлениям по валюте. Лучше единая структура Currency → номинал → количество с общими операциями выдачи и пополнения.

Короткий ответ

Что ответить на собеседовании

Две отдельные Map приводят к дублированию логики и ветвлениям по валюте. Лучше единая структура Currency → номинал → количество с общими операциями выдачи и пополнения.

Подробный разбор

Ответ с пояснениями

Две отдельные Map приводят к дублированию логики и ветвлениям по валюте. Лучше единая структура Currency → номинал → количество с общими операциями выдачи и пополнения.

Допустимые номиналы и правила валюты вынесите в конфигурацию или отдельную модель. При добавлении валюты меняются данные, а не копируются алгоритмы. Не отдавайте наружу изменяемые остатки; выдача должна проверять возможность набрать сумму и списывать купюры атомарно. При разных денежных единицах нельзя смешивать суммы без явной валюты.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее