Что такое effectively final в Java и где он используется?
Вопрос 9. Написать запрос, который вернет сотрудников, обладающих максимальной зарплатой в своей должности. Перейти на onecompiler.com/postgresql Скрипт для инициализации: CREATE TABLE users ( fio TEXT NOT NULL, position TEXT, salary BIGINT NOT NULL ); INSERT INTO users(fio, position, salary) VALUES ('Иванов', 'Тестировщик', 100000), ('Горохов', 'Тестировщик', 120000), ('Петров', 'Тестировщик', 140000), ('Сидоров', 'Тестировщик', 100000), ('Кузнецов', 'Тестировщик', 120000), ('Михайлов', 'Тестировщик', 150000), ('Антонов', 'Разработчик', 200000), ('Сухой', 'Разработчик', 100000), ('Микоян', 'Разработчик', 100000), ('Капустин', 'Директор', 300000), ('Астахов', 'ИБ', 200000); Пример результата: Михайлов Тестировщик 150000 Антонов Разработчик 200000 Капустин Директор 300000 Астахов ИБ 200000 Время на выполнение 10 минут. Скрипт запроса вписать в поле:
В чём основная проблема выбранной структуры решения - Жесткая инициализация финал-полей - Структура не гарантирует уникальности сервисов в кеше - Поиск сервисов усложняет тестирование - Нет шаблона использования. Стратегия гибкости. - Сервис-локатор затрудняет отладку Код: public class CarMaintenanceReminder { private final ServiceLocator serviceLocator; private final ReminderCache reminderCache; public CarMaintenanceReminder() { this.serviceLocator = new ServiceLocator(); this.reminderCache = new ReminderCache(); } public Reminder getOilChangeReminder(String carId) { Reminder reminder = reminderCache.getReminder(carId); if (reminder == null) { reminder = serviceLocator.getService(ReminderService.class).createOilChangeReminder(carId); reminderCache.addReminder(reminder); } return reminder; } } class ServiceLocator { public <T> T getService(Class<T> serviceClass) { return serviceClass.cast(generateService(serviceClass)); } private Object generateService(Class<?> serviceClass) { if (serviceClass == ReminderService.class) { return new ReminderService(); } return null; } } class Reminder { private final String carId; public Reminder(String carId) { this.carId = carId; } } class ReminderService { public Reminder createOilChangeReminder(String carId) { return new Reminder(carId); } } class ReminderCache { private final Map<String, Reminder> cache; public ReminderCache() { this.cache = new HashMap<>(); } public Reminder getReminder(String carId) { return cache.get(carId); } public void addReminder(Reminder reminder) { cache.put(reminder.getCarId(), reminder); } }
Как заставить все экземпляры читать одни и те же сообщения?
Что такое ZooKeeper и KRaft в контексте Kafka? В чём разница?
Как использовалась оптимистичная блокировка на ваших проектах? Как разруливали StaleStateException?
Переменная type на строке 19 — что это такое?
Какие минусы у TreeMap?
Что происходит с удаленными строками в PostgreSQL?
Расскажи про уровни изоляции транзакций в PostgreSQL
Какая задача понравилась больше всего (драйв) и какая была антиподом (не моё)?
Расскажите про текущий проект
Как можно идентифицировать загруженный класс в JVM? По каким атрибутам?
В каких случаях нужно указывать throws в сигнатуре метода, для каких исключений?
Зачем нужны Stream API? Какие плюсы они добавили?
Какие интересные задачи были на проекте?
Почему сейчас рассматриваешь другие варианты / почему ушёл с предыдущего места?
Какие отношения между сущностями в Hibernate по умолчанию жадные (EAGER), какие ленивые (LAZY)?
Как перевести hashCode (int, возможно отрицательный) в индекс массива бакетов?
С высоконагруженными системами работал? Какие показатели нагрузки?