ВопросSeniorUmbrella IT
Есть два файла, каждый содержит целочисленные значения построчно. Какими алгоритмами можно найти пересечение этих двух множеств?
→ВопросSeniorМТС
Как бы вы реализовали свой IoC-контейнер? Как устроен ApplicationContext?
→ВопросSeniorМТС
Опишите алгоритм добавления элемента в HashMap
→ВопросSeniorЯндекс
Напишите тесты к системе фильтрации уведомлений с использованием JUnit 5 и Mockito, покрывающие основные сценарии: null/пустой ввод, валидное уведомление, блокировка отправителя, фильтрация по каналу, дедупликация.
→ВопросSeniorАльфа-Банк
Какие плюсы дают неизменяемые объекты?
→ВопросSeniorАльфа-Банк
Какой уровень изоляции использовали в вашем проекте?
→ВопросSeniorOcto
Что такое volatile?
→ВопросSeniorOcto
Как связать сервисы из двух разных docker-compose файлов?
→ВопросSeniorIT One
Какие бывают виды JOIN?
→ВопросSeniorIT One
public class Accumulator { private Map<String, Object> data = new HashMap<>(); // текущий набор данных private List<Map<String, Object>> dataList = new ArrayList<>(); // пачка с данными private Map<Instant, String> responses = new HashMap<>(); // ответы сервера, принимающего данные private int dataId; /** * Добавляет поле field со значением value в набор */ public void add(String field, String value) { data.put(field, value); } /** * Возвращает значение по названию поля field */ public <T> T get(String field) { return (T) data.get(field); } /** * Возвращает ответы сервера принимающего данные */ public String getResponses() { String out = ""; for (String resp : responses.values()) { out += "; " + resp; } return out; } /** * Завершает сборку текущего набора данных и отправляет его в пачку */ public synchronized void push() { dataList.add(data); if (dataList.size() == 100) { send(); dataList.clear(); } data = new HashMap<>(); data.put("id", dataId++); } /** * Отправляет пачку на сервер принимающий данные */ private void send() { RestTemplate restTemplate = new RestTemplate(); HttpEntity<List<Map<String, Object>>> request = new HttpEntity<>(dataList); String url = "localhost:20808/msg/incoming"; ResponseEntity<String> response = restTemplate.exchange(url, HttpMethod.GET, request, String.class); responses.put(Instant.now(), response.getBody()); } }
→ВопросSeniorIT One
Что такое утечка памяти (Memory Leak)?
→ВопросSeniorIT One
В чем разница между WHERE и HAVING?
→ВопросSeniorСеверсталь
Опишите, как вы реализовывали мониторинг и трассировку (observability) для распределённых backend-сервисов, и какие инструменты считаете наиболее эффективными для обнаружения и устранения проблем в продакшн-среде?
→ВопросSeniorОТП Банк
Реализовать перевод средств между двумя счетами. Учитываем, что это 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СБЕР
В резюме написано, что ты оптимизировал Garbage Collector, делал JVM tuning — что именно делал?
→ВопросSeniorСБЕР
Что такое LLM, как она работает? Как повлиять на вариативность ответов?
→ВопросSeniorСБЕР
-- Есть таблицы со структурой Employee id (PK) name salary dep_id(FK department.id) Department id (PK) name -- написать запрос, который вернет список наименований всех отделов с максимальной зарплатой в каждом отделе select d.name, COALESCE(MAX(e.salary), 0) from Department d left join Employee e on e.dep_id = d.id group by d.name
→ВопросSeniorСБЕР
-- Есть таблицы со структурой Employee id (PK) name salary dep_id(FK department.id) Department id (PK) name -- написать запрос, который вернет список наименований всех отделов с максимальной зарплатой в каждом отделе select d.name, MAX(e.salary) from Employee e join Department d on e.dep_id = d.id group by d.name
→ВопросSenior01.tech
Сколько паттернов/правил было в системе рекомендаций — единицы, десятки, сотни?
→ВопросSenior01.tech
Есть база данных с большим количеством данных, растёт число потребителей и объём данных — какие решения предложите?
→