Sobes.tech

Java

Ako spraviť zásobník univerzálny na prácu nielen s Integer, ale aj so String a vlastnými objektmi?

172

Na čo je potrebné myslieť pri vytváraní indexu na veľkej tabuľke v produkcii?

170

Napíšte vlastnú triedu, ktorá implementuje zásobník, s metódami push, pop a peekMax, ktorá vráti maximálny prvok v zásobníku v čase O(1).

159

Prečo dôjde k StackOverflowError, ak nie sú žiadne lokálne premenné? Čím sa zaplní pamäť?

152

Prečo je potrebný SELECT FOR UPDATE namiesto synchronized? A prečo pesimistické blokovanie namiesto optimistického?

152

Čo robiť, ak sa processFile nepodarí vykonať po potvrdení transakcie?

148

Prečo nemôžeme jednoducho použiť jednu premennú max namiesto druhého zásobníka?

147

Existuje systém, ktorý umožňuje používateľom pracovať so súbormi v prehliadači. Štandardný stack: Java, Spring, React, Postgres. Súbory sa ukladajú do súborového systému na backend, metadáta súborov v databáze. Tím implementoval funkciu: @Transactional public void process(String oldName, String newName) { Long id = exec("select id from file where name='" + oldName + "'"); // vykonanie dotazu do databázy processFile(oldName, newName); // premenovanie súboru na disku exec("update file set name='" + newName + "' where id = " + id); // vykonanie dotazu do databázy }

141

Je možné optimalizovať zásobník podľa pamäte, aby nedošlo k zdvojnásobeniu spotreby?

135

Existuje backend, existuje používateľské rozhranie. Technologický stack je štandardný: Java, Spring, React, Postgres. Úloha: Navrhnúť REST endpoint, ktorý musí získať údaje z 3 zdrojov a vrátiť ich na UI, pričom zabezpečí čo najvyššiu priepustnosť a čo najkratší čas odozvy (kritériá max/min podľa našich špecifických podmienok, pretože v podstate neexistuje žiadne kúzlo a je potrebné nájsť kompromis). Je známe, že očakávaný vrchol RPS tohto endpointu bude 200. Známky o zdrojoch: 1. Zdroj - naša databáza, dotaz trvá približne 15 sekúnd. 2. Zdroj - súvisiaca REST služba, degraduje až na 2 minúty pri 100 RPS, v normálnom režime odpovedá za 5 sekúnd. Nemôžeme zmeniť správanie tohto zdroja. 3. Zdroj - súvisiaca REST služba, odpovedá náhodne (neboli zistené žiadne vzory) s chybami 503, v normálnom režime odpovedá za 10 sekúnd. Nemôžeme zmeniť správanie tohto zdroja.

122

Aký typ indexu použiť na vyhľadávanie uprostred alebo na konci reťazca (LIKE '%text%')?

120

Napíšte veľmi jednoduchú metódu, ktorá pri behu vyhodí StackOverflowError.

120