implementace - Logika spojení uživatelů a výrobců - Klíče zpráv mohou být duplicitní - Chyba v sladění posunu spotřebitelů se zprávami - Není nálada pro výrobce - Chybí provedení pro více brokerů - Skupina spotřebitelů je pevně stanovena
Java
Čím se liší Spring od Spring Boot?
Jakou mapu bych měl použít, pokud často čtu, ale zřídka vkládám data?
Jaký je hlavní problém zvolené struktury řešení? - Chybí zpracování speciálních výjimek při spuštění - Konfigurační třída bez anotace @Configuration - Nesprávné nastavení závislostí DI - Nesprávná integrace vlastních konfigurací mění pořadí načítání vlastností - Chybí @Autowired pro přítomnost závislostí
Jaký je hlavní problém této implementace SELECT f.food_id FROM Foods f JOIN Expirations e ON f.id = e.food_id WHERE e.is_expired = 1; - `JOIN` místo `WHERE EXISTS` pro kontrolu existence záznamů. - Není index na poli e.is_expired - Klíče JOIN nejsou indexovány - Tabulka doby expirace je nadbytečná - Dotaz není chráněn v transakci
Co vrací Postgres po zpracování informací a pochopení, že data existují? Vrací okamžitě data ve formě mapy řádků nebo něco jiného?
Jaké jsou hlavní strategie blokování, které databáze používají k zpracování konkurenčního přístupu?
Jaký je hlavní problém této implementace - Neefektivní využití pevného poolu vláken - Problémy s interakcí sdílených zdrojů - Nesprávné začlenění zámku může vést k deadlocku. - Nesprávná úroveň synchronizace - Před výsledkem nejsou kontrolovány všechny vlákna - Není explicitní konstruktor Kód: 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()); } }
Stručně povězte o architektuře služby.
Který z posledních úkolů ti přišel zajímavý, náročný, zapamatovatelný?
Proč jste zvolil wait/notify místo ReentrantLock?
Pokud bude několik nabídek od různých společností, podle jakých kritérií budeš vybírat? Uveď tři.
Jaké problémy má Spring Kafka s virtuálními vlákny? Nebo vůbec žádné problémy nejsou?
Jaký vedlejší účinek se při provádění kódu objeví 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;
Jak byste vložili životní cyklus Kafka Listeneru — přes KafkaListenerEndpointRegistry nebo explicitní polling přes KafkaConsumer?
Jaké technologie máš nejraději?
Jaký je hlavní problém zvolené struktury řešení? Třída Property nepodporuje polymorfismus. Pole třídy nemusí být inicializováno. Metoda přenosu výpočtu celkové ceny do třídy "Order". Nepoužívá mechanismy transakce. V případě prázdného seznamu nejsou žádné výjimky.
Vysvětlete cyklus života beana ve Springu.
Co děláte s tématy DLT?
Jaké jsou úrovně izolace transakcí v SQL a která z nich je nastavena jako výchozí v PostgreSQL?