Jak udělat zásobník univerzálním pro práci nejen s Integer, ale i se String a vlastními objekty?
Java
Na co je třeba myslet při vytváření indexu na velké tabulce v produkci?
Napište svou vlastní třídu, která implementuje zásobník, s metodami push, pop a peekMax, která vrací maximální prvek v zásobníku v čase O(1).
Proč je potřeba SELECT FOR UPDATE místo synchronized? A proč pesimistické blokování místo optimistického?
Proč dojde k chybě StackOverflowError, pokud nejsou žádné lokální proměnné? Čím bude zaplněna paměť?
Co dělat, pokud se processFile nepodaří spustit po potvrzení transakce?
Proč nelze jednoduše použít jednu proměnnou max místo druhé zásobníku?
Existuje systém, který umožňuje uživatelům pracovat se soubory v prohlížeči. Standardní technologie jsou: Java, Spring, React, Postgres. Soubory jsou uloženy v souborovém systému na backendu, metadata souborů v databázi. Tým implementoval funkci: @Transactional public void process(String oldName, String newName) { Long id = exec("select id from file where name='" + oldName + "'"); //provedení dotazu do databáze processFile(oldName, newName); //přejmenování souboru na disku exec("update file set name='" + newName + "' where id = " + id); //provedení dotazu do databáze }
Lze optimalizovat zásobník podle paměti, aby nedocházelo ke zdvojení spotřeby?
Jaký typ indexu použít pro hledání uprostřed nebo na konci řetězce (LIKE '%text%')?
Existuje backend, existuje uživatelské rozhraní. Technologie jsou standardní: Java, Spring, React, Postgres. Úkol: Navrhnout REST endpoint, který musí získat data ze 3 zdrojů a vrátit je na UI, přičemž je třeba zajistit co nejvyšší propustnost a co nejkratší dobu odezvy (kritéria max/min podle našich konkrétních podmínek, protože v podstatě neexistuje žádné kouzlo a je třeba najít kompromis). Je známo, že očekávaný vrchol RPS tohoto endpointu bude 200. Známé detaily o zdrojích: 1. Zdroj - naše databáze, dotaz trvá přibližně 15 sekund. 2. Zdroj - související REST služba, degraduje až na 2 minuty při 100 RPS, v normálním režimu odpovídá za 5 sekund. Nemůžeme změnit chování tohoto zdroje. 3. Zdroj - související REST služba, odpovídá náhodně (nebyly zjištěny žádné vzory) s chybami 503, v normálním režimu odpovídá za 10 sekund. Nemůžeme změnit chování tohoto zdroje.
Napište velmi jednoduchou metodu, která při běhu vyvolá StackOverflowError.