Sobes.tech

Какие типы индексов использовали? Были ли негативные издержки от индексов?

Senior
175

// 3 public class Variables { public static void main(String[] args) { A a = new A(); a.val = 1; inc(a); System.out.println(a.val); set(a); System.out.println(a.val); } public static class A { public int val; } public static void inc(A a) { a.val++; } public static void set(A a) { a = new A(); a.val = 10; } }

Senior
175

Что дальше после первого тикета? Как строить дальнейшее развитие джуна?

175

Какое назначение аннотации @Transactional в контексте управления транзакциями?

Junior — Middle
175

ArrayList vs LinkedList при итерации по миллиону элементов — что быстрее?

Middle+
175

Что такое DDD (Domain-Driven Design)? Как он связан с агрегатом и ограниченным контекстом?

Senior
175

Какая проблема возникает при вызове @Transactional метода из другого метода того же класса?

Middle
175

/** * Интерфейс для взаимодействия с аппаратной частью банкомата. */ 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; } }

175

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

Senior
175

Почему Spring Boot стал так популярен по сравнению с Java EE?

Senior
174

Почему вы решили кэшировать клиента именно в Redis?

174

Реализовать свой перечислимый тип (enum), как если бы до появления современного enum в Java 1.5. Нужно реализовать контракт современного Java-enum: • можно легко получать любое значение енумa • безопасное сравнение значений по ссылке (==) • каждое значение имеет строковое имя, совпадающее с названием значения • каждое значение имеет целочисленный идентификатор `ordinal`, который содержит номер значения в порядке его объявления в энуме • можно получить список всех значений енумa • можно получить значение по его `ordinal` • можно получить значение по его имени Для примера можно взять список валют. Важно, чтобы список был потенциально расширяемым, потому что качество кода будет определять, насколько беспроблемно в будущем пройдет добавление значений в енум. class Currency { // TODO } --- Дана табличка user_orders |ts|user_id|order_value| Для каждого пользователя вернуть сумму первой покупки.

Senior
174

Что не хватает в схеме с Redis? Как решить проблему привязки order_id к courier_id?

Middle
174

В чём проблема того, что вы вызываете REST прямо из Kafka consumer?

174

Как по-другому реализовать роутинг без привязки к имени класса?

Senior
174

[имя] спросил: В Совкомбанке вы работали непосредственно в самом Совкомбанке?

Middle
174

В чём отличие аннотации @Bean от @Component?

Senior
174

Можете подробнее рассказать о проекте, на котором работали? Что нравилось, что не нравилось?

174

Как ускорить этот SQL-запрос на большой таблице? Какой индекс добавить и поможет ли индекс только по status?

Senior
174
/744