Sobes.tech

Data Engineer

Jaký je rozdíl mezi RANK() a DENSE_RANK()?

268

CREATE TABLE orders ( driver_id varchar, city varchar, order_id varchar ); -- Získejte 10 nejlepších řidičů podle počtu objednávek v každém městě

256

Kde funguje lepší komprese dat — v sloupcovém nebo řádkovém uložení a proč?

241

Pověz mi, co víš o sloupcovém a řádkovém ukládání dat. Kdy a které bys měl vybrat a proč?

205

-- Výchozí tabulka stretch -- Je nutné doplnit NULL hodnoty předchozí nenullovou hodnotou podle id - provést doplnění směrem dolů id | ttime | val ---|-------|----- 1 | 07:30 | NULL 1 | 09:21 | 10 1 | 13:53 | NULL 1 | 16:12 | NULL 2 | 09:42 | 133 2 | 15:20 | NULL 2 | 21:33 | NULL 3 | 08:01 | NULL 3 | 11:41 | 8 3 | 14:23 | NULL 3 | 16:17 | NULL 3 | 19:54 | 2 4 | 13:10 | 312 4 | 14:42 | NULL 4 | 16:31 | 7 4 | 17:44 | NULL id | ttime | val ---|-------|----- 1 | 07:30 | NULL 1 | 09:21 | 10 1 | 13:53 | 10 1 | 16:12 | 10 2 | 09:42 | 133 2 | 15:20 | 133 2 | 21:33 | 133 3 | 08:01 | NULL 3 | 11:41 | 8 3 | 14:23 | 8 3 | 16:17 | 8 3 | 19:54 | 2 4 | 13:10 | 312 4 | 14:42 | 312 4 | 16:31 | 7 4 | 17:44 | 7 -- SQL dotaz pro získání požadované tabulky SELECT id, ttime, COALESCE(val, LAST_VALUE(val) OVER(PARTITION BY id ORDER BY ttime)) as val FROM stretch

204

Kolik dodatečné paměti vyžaduje řešení se slovníkem, nepočítaje vrácená data?

194

Jak dlouho bude trvat řešení s použitím vestavěného sorted? Lze vymyslet rychlejší řešení?

187

Ohodnoťte konečné řešení z hlediska času a paměti.

186

Jak vyřešit úlohu v lineárním čase O(n) pomocí slovníku? Co je třeba uložit do slovníku, aby bylo možné později sestavit seřazený řetězec? Jak zpracovat znaky, které nejsou v pořadí?

174

-- Najít všechny cestující, kteří podnikli cesty dva nebo více dnů po sobě

170

Dána řetězec order, který udává požadovaný pořadí znaků. Je třeba přeuspořádat znaky v řetězci unsorted_str tak, aby pořadí bylo v souladu s řetězcem order. Oba řetězce se skládají z malých písmen anglické abecedy, všechny znaky v order jsou odlišné. Pořadí znaků v unsorted_str se nazývá v souladu s řetězcem order, pokud z toho, že znak x stojí před znakem y v order, vyplývá, že jakákoli výskyt x v unsorted_str musí být před jakýmkoli výskytem y. Situace, kdy v order nejsou znaky z unsorted_str a naopak, jsou povoleny. Vraťte jakoukoli povolenou permutaci. unsorted_str = "abcd" order = "cba" odpověď = "dcba" ("cdba", "cbda", "cbad") def CustomSort(unsorted_str: str, order: str) -> str: # kód zde

165

Jak provést prodloužení nahoru (vyplnit NULL předchozí nenulovou hodnotou v opačném směru)?

158