имплементации - Логика на връзката между потребителите и производителите - Ключовете на съобщенията могат да се дублират - Грешка в съгласуването на отместването на потребителите с съобщенията - Няма настроение за производителя - Липсва изпълнение за няколко брокера - Групата на потребителите е строго определена
Java
Каква е разликата между Spring и Spring Boot?
Коя карта да използвам, ако често чета, но рядко въвеждам данни?
Какъв е основният проблем на избраната структура на решението? - Липсва обработка на специални изключения при стартиране - Конфигурационен клас без анотация @Configuration - Неправилна настройка на зависимостите DI - Неправилна интеграция на персонализирани конфигурации променя реда на зареждане на свойствата - Липсва @Autowired за наличието на зависимости
Какъв е основният проблем на тази реализация SELECT f.food_id FROM Foods f JOIN Expirations e ON f.id = e.food_id WHERE e.is_expired = 1; - `JOIN` вместо `WHERE EXISTS` за проверка на наличието на записи. - Няма индекс върху полето e.is_expired - Ключовете JOIN не са индексирани - Таблицата с срокове на годност е излишна - Заявката не е защитена в транзакция
Какво връща Postgres след обработка на информацията и разбиране, че данните съществуват? Връща ли веднага данните под формата на карта на редове или нещо друго?
Кои са основните стратегии за блокиране, които използват базите данни за обработка на конкурентен достъп?
Какъв е основният проблем на тази реализация - Неефективна употреба на фиксирания пул от нишки - Проблеми с взаимодействието на споделените ресурси - Неправилното включване на блокиране може да доведе до deadlock. - Неправилно ниво на синхронизация - Няма проверки на всички нишки преди резултата - Няма явен конструктор Код: import java.util.concurrent.locks.ReentrantLock; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; class RecyclingBinCounter { private int binCount; private final ReentrantLock lock = new ReentrantLock(); public void incrementBins() { lock.lock(); try { binCount++; } finally { lock.unlock(); } } public int getBinCount() { return binCount; } } class RecyclingManager { public static void main(String[] args) { RecyclingBinCounter counter = new RecyclingBinCounter(); ExecutorService service = Executors.newFixedThreadPool(3); for (int i = 0; i < 3; i++) { service.submit(() -> { for (int j = 0; j < 1000; j++) { counter.incrementBins(); } }); } service.shutdown(); while(!service.isTerminated()) {} System.out.println("Total bins collected: " + counter.getBinCount()); } }
Кратко разкажи за архитектурата на услугата.
Кое от последните задачи ти се стори интересно, трудно, запомнящо се?
Защо избрахте wait/notify вместо ReentrantLock?
Ако има няколко оферти от различни компании, по какви критерии ще направиш избор? Посочи три.
Какви проблеми има Spring Kafka с виртуалните нишки? Или изобщо няма проблеми?
Какъв е основният проблем на избраната структура на решението? Класът Property не поддържа полиморфизъм. Полетата на класа може да не са инициализирани. Методът за прехвърляне на изчислението на общата стойност в класа "Order". Не използва механизми за транзакции. При празен списък няма изключения.
Коя странична ефект възниква при изпълнение на кода BEGIN; SET TRANSACTION ISOLATION LEVEL READ COMMITTED; START TRANSACTION; SELECT progress INTO @current_progress FROM courses WHERE course_id = 101; SET @current_progress = @current_progress + 60; UPDATE courses SET progress = @current_progress WHERE course_id = 101; COMMIT; END; BEGIN; SET TRANSACTION ISOLATION LEVEL READ COMMITTED; START TRANSACTION; SELECT progress INTO @current_progress FROM courses WHERE course_id = 101; SET @current_progress = @current_progress + 40; UPDATE courses SET progress = @current_progress WHERE course_id = 101; COMMIT; END;
Как бихте интегрирали жизнения цикъл на Kafka Listener — чрез KafkaListenerEndpointRegistry или чрез явен polling чрез KafkaConsumer?
Кои технологии ти харесват най-много?
Обяснете жизнения цикъл на бийн в Spring.
Какво правите с темите DLT?
Какви са нивата на изолация на транзакциите в SQL и кое от тях е зададено по подразбиране в PostgreSQL?