Sobes.tech

Java

Jak udělat zásobník univerzálním pro práci nejen s Integer, ale i se String a vlastními objekty?

180

Na co je třeba myslet při vytváření indexu na velké tabulce v produkci?

173

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).

162

Proč je potřeba SELECT FOR UPDATE místo synchronized? A proč pesimistické blokování místo optimistického?

157

Proč dojde k chybě StackOverflowError, pokud nejsou žádné lokální proměnné? Čím bude zaplněna paměť?

153

Co dělat, pokud se processFile nepodaří spustit po potvrzení transakce?

152

Proč nelze jednoduše použít jednu proměnnou max místo druhé zásobníku?

147

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 }

141

Lze optimalizovat zásobník podle paměti, aby nedocházelo ke zdvojení spotřeby?

135

Jaký typ indexu použít pro hledání uprostřed nebo na konci řetězce (LIKE '%text%')?

124

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.

124

Napište velmi jednoduchou metodu, která při běhu vyvolá StackOverflowError.

120