Sobes.tech

/** * Интерфейс для взаимодействия с аппаратной частью банкомата. */ interface Hardware { /** * Возвращает массив с количеством купюр по номиналам 50, 100, 500, 1000, 5000. * Метод работает медленно и создает шум. * * @return массив, где каждый элемент соответствует количеству купюр определенного номинала. * Например, [10, 20, 30, 40, 50] означает: * - 10 купюр номиналом 50 рублей * - 20 купюр номиналом 100 рублей * - 30 купюр номиналом 500 рублей * - 40 купюр номиналом 1000 рублей * - 50 купюр номиналом 5000 рублей */ int[] getBillsCounts(); /** * Загружает в бокс выдачи указанные купюры. * * @param billsCounts массив с количеством купюр по номиналам [50, 100, 500, 1000, 5000]. * Например, [0, 1, 0, 2, 0] означает: * - 0 купюр номиналом 50 рублей * - 1 купюру номиналом 100 рублей * - 0 купюр номиналом 500 рублей * - 2 купюры номиналом 1000 рублей * - 0 купюр номиналом 5000 рублей */ void giveBills(int[] billsCounts); } /** * Класс для реализации логики работы банкомата. * Тут нужно писать код */ class MyATM { /** * Аппаратная часть банкомата. */ Hardware hardware; public boolean withdraw(int amount) { int[] counts = hardware.getBillsCounts(); int[] nom = {50, 100, 500, 1000, 5000}; int[] toGive = new int[5]; for (int i = 4; i >= 0; i--) { int needed = amount / nom[i]; int use = Math.min(needed, counts[i]); toGive[i] = use; amount -= use * nom[i]; } if (amount != 0) { return false; } hardware.giveBills(toGive); return true; } }

Senior
РайффайзенРайффайзен
9

class ToInfinity { public static void main(String[] args) { //впишите код сюда for (int i = start; i <= start + 1; i++) { /* тут должен быть бесконечный цикл, менять ничего нельзя*/ } } }

Middle
Лоция
9

Какой функционал ты выберешь для первого smoke-suite стримингового сервиса (Netflix, Amazon и т.д.)?

Middle
waysbits
9

Как настроить размер thread pool для параллельных HTTP запросов?

Senior
Т-БанкТ-Банк
9

Какие бывают индексы в базах данных?

Senior
DNSDNS
9

Как обработать загрузку файла (картинки) через HTTP-запрос в Spring MVC и сохранить на диск?

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

Какая Java используется на проекте? Что изменилось при переходе с 17 на 21?

Senior
СБЕРСБЕР
9

Условие Сложность: MEDIUM Дана закодированная строка следующего формата: k[encoded_text] Здесь k — это число повторений строки encoded_text. Строка гарантированно имеет корректный формат: нет лишних пробелов, скобки всегда правильные и т.д. Необходимо декодировать строку Пример: Input: "3[a]2[bc]" Output: "aaabcbc" Input: "3[a2[c]]" Output: "accaccacc" Input: "2[abc]3[cd]ef" Output: "abcabccdcdcdef"

Senior
Ozon ФинтехOzon Финтех
9

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

Senior
СБЕРСБЕР
9

Какие ORM использовали? Когда Hibernate, когда JDBC? Были ли Liquibase/Flyway?

Senior
Сбер лизинг
9

Метод с @Transactional бросает IllegalStateException — транзакция откатывается, хотя нужно сохранить данные. В чём проблема и как исправить?

Senior
платформа офд
9

Какие два варианта сбора метрик существуют (push и pull)?

Senior
СБЕРСБЕР
9

Какие виды изоляции транзакций есть в Transaction Manager?

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

Почему в проекте применялось два брокера сообщений — Kafka и RabbitMQ?

Senior
Сбербанк
9

Без Hibernate, нативный SQL — как реализовать оптимистичную блокировку вручную?

Senior
ТБанк
9

Приходилось ли оптимизировать параметры JVM и Garbage Collector?

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

Гарантии доставки сообщений в Kafka (at-most-once, at-least-once, exactly-once) и порядок сообщений

Senior
Salmon
9

Что такое абстракция в ООП? Как вы её понимаете?

Middle
Небольшая компания
9

Опишите рабочий процесс с использованием AI-инструментов от получения задачи до деплоя.

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

Расскажи, что происходит в текущей системе (опиши схему AS-IS)?

Middle
Ecom
9
/714