Sobes.tech

Java

Na příkladu vytváření objednávky. Existuje požadavek na službu a existuje odpověď, mezi těmito dvěma akcemi je výměna zboží mezi službami a externími, které jsou popsány (například pro počítání popularity zboží). Služba se opakovaně spouští, funguje pomalu nebo úplně timeoutuje a my nestíháme odpovědět, ztrácíme objednávku. Co dělat, aby se přestalo ztrácet objednávky a peníze?

203

Napište SQL dotaz: vyberte jména tří nejčtenějších autorů v současnosti (kteří mají nejvíce knih v rukou).

189

Ohodnoťte algoritmickou složitost řešení problému palindromu. Z hlediska času a paměti. Pokud je abeceda pevná (anglické písmena, 26 znaků), jaká je složitost z hlediska paměti?

180

Pro pole čísel arr a číslo k Je třeba vrátit nový pole, jehož počet opakujících se prvků není > k Příklad: Vstup: arr=[1,1,1,2,3,3,3,4,4], k=3 Výstup: res=[1,3,4]

168

Je třeba popsat model knihovny. Existují 3 entity: "Autor", "Kniha", "Čtenář". Fyzicky je pouze jedna kniha a může být pouze u jednoho čtenáře. Je třeba vytvořit tabulky pro knihovnu, které to zohlední.

158

/** * Implementujte převod peněz mezi dvěma účty. Mějte na paměti, že se jedná o řešení v produkci * Vstupní parametry: * @param fromAccountId jedinečný identifikátor uživatele, který převádí prostředky * @param toAccountId jedinečný identifikátor uživatele, kterému jsou prostředky převáděny * @param amount částka převodu. Kladné číslo */ public void transferMoney(Long fromAccountId, Long toAccountId, BigDecimal amount) { }

152

Napište SQL dotaz: vyberte názvy všech knih, které mají více než tři autory.

146

/** * chars = ['a', 'a', 'a', 'b', 'b', 'c', 'a'] * return: a3b2ca2 */ class JavaTask3Solution { public String compress(char[] chars) { } }

145

Jak škálovat službu při lineárním růstu zátěže? Co dělat, když horizontální škálování narazí na limity databáze?

141

Vzor Outbox: jak zajistit atomárnost zápisu do databáze a odeslání události do fronty?

134

Podmínky Existují 3 entity - uživatel, chat, zpráva - Uživatel má jméno a datum registrace - Chat má název a datum vytvoření - Zpráva má text, autora a datum vytvoření - Uživatel může být současně v několika chatech - Zpráva musí patřit do chatu a nemůže patřit více než do jednoho současně - Doménu je třeba popsat ve formě tabulek

130

Jak implementovat omezení rychlosti pro externí API s omezením RPS? Čím se liší virtuální vlákna/koreutiny od systémových vláken?

130

Napište SQL dotaz: vyberte názvy všech knih, které jsou momentálně v rukou čtenářů.

129

Jaké druhy shardingu existují? Povězte nám o hlavních přístupech.

127

V čem se liší Cassandra od PostgreSQL? Povězte o hlavních rozdílech.

125

Existují 3 entity: uživatel, chat, zpráva - Uživatel má jméno a datum registrace - Chat má název a datum vytvoření - Zpráva má text, autora a datum vytvoření - Uživatel může být současně v několika chatech - Zpráva musí patřit do chatu a nemůže patřit více než do jednoho chatu současně - Obor je třeba popsat ve formě tabulek

120

Pro zadaný řetězec je třeba určit délku největšího palindromu, který lze sestavit z jeho znaků. Palindrom je slovo, které se čte stejně zepředu i zezadu, například "kajak" nebo "radar". Příklad: Vstup: aaabbbcccddd Výstup: 11 (palindrom dccbbaaabbccd)

119

Je třeba obalit metodu transferMoney do @Transactional a proč?

116
/2