На каком проекте работали в [компания] и почему ушли?
Есть ли опыт работы с брокерами сообщений? С какими именно?
Есть система, которая дает юзерам возможность работать с файлами в браузере. Стек стандартный: Java, Spring, React, Postgres. Файлы хранятся в файловой системе на бэке, метаданные файлов в БД. Команда реализовала фичу: @Transactional public void process(String oldName, String newName) { Long id = exec("select id from file where name='" + oldName + "'"); //выполнение запроса к БД processFile(oldName, newName); //переименование файла на диске exec("update file set name='" + newName + "' where id = " + id); //выполнение запроса к БД }
Приходилось ли работать с DevOps-задачами: deployment-скрипты, CI/CD?
Есть бэк, есть юай. Стек стандартный: Java, Spring, React, Postgres. Задача: Спроектировать рест-ендпоинт в котором надо взять данные из 3 источников и отдать на ui, при этом необходимо обеспечить максимально возможную пропускную способность и минимально возможное время отклика (критерии макс\мин исходя из наших конкретных условий, т.к. по сути, у нас тут нет серебряной пули и надо найти некий компромисс). Известно, что ожидаемый пиковый rps на этот рест-ендпоинт будет равен 200. Известные детали по источникам: 1 источник - наша бд, запрос около 3 сек. 2 источник - смежный сервис рест, деградирует до 2 минут при 100 rps на него, в норм режиме ответ отдает за 5 сек. Мы не можем как-то изменить поведение этого источника на их стороне. 3 источник - смежный сервис рест, рандомно (каких-либо паттернов такого поведения не удалось выяснить) отдает 503, в норм режиме ответ приходит за 10 сек. Мы не можем как-то изменить поведение этого источника на их стороне.
Опыт работы с Project Reactor, WebFlux, WebClient?
Метод один @Transactional вызывает метод два @Transactional(REQUIRES_NEW) в одном классе. Сколько транзакций создастся?
Выбери шаблон проектирования для системы логирования (в БД, текстовый файл, через запрос)
Как работает optimistic locking с полем version? Объясни детально на примере двух транзакций.
Что гарантирует Kafka при использовании consumer group с тремя партициями и тремя консьюмерами?
В каких случаях @Transactional не сработает?
Какие GoF-паттерны ты знаешь?
Какие уровни изоляции транзакций существуют в PostgreSQL?
Как работает Read Committed внутри PostgreSQL?
Что такое SELECT FOR UPDATE и SELECT FOR SHARE? В чём разница?
Как работает аннотация @Transactional в Spring?
Что такое backpressure?
Что делали когда платёжный шлюз падал?
Какие стратегии backpressure существуют при переполнении очереди?
Где хранили idempotency-key?