Data Engineer
Pracoval si s oknovými funkciami? Aké druhy oknových funkcií poznáš?
Čo je broadcast join v Spark?
Bola vytvorená špeciálna sekvencia s názvom even_sequence, ktorá generuje iba párne čísla. Čo treba vložiť na miesto [...], aby v prípade, že hodnota even_column nebola pri vkladaní uvedená, bola použitá hodnota z even_sequence? create table some_table( even_column [...] ); integer computed as nextval('even_sequence') integer generated always as identity (start with 2 increment by 2) integer default nextval('even_sequence') integer unique default nextval('even_sequence') integer generated by even_sequence’
Aké skupiny SQL operátorov poznáš? Čo k nim patrí?
Aké je nebezpečenstvo shuffle v Spark?
Aká je algoritmická zložitosť získania prvku podľa kľúča zo slovníka (dict) v Pythone?
Ako porovnať pôvodnú („živú“) a cieľovú tabuľu, ak sa zdroj neustále mení?
Čo je rozdelenie údajov a ako pomáha vyhnúť sa úplnému prehľadávaniu tabuľky?
Zistili ste, že v histórii hlavného Git repozitára sú commity obsahujúce kritické dôverné údaje. Tieto údaje je potrebné úplne odstrániť z celej histórie repozitára. Zhodnoťte, ako správne a bezpečné by bolo použiť nasledujúcu stratégiu: vytvoriť nový commit, ktorý odstráni dôverné údaje z aktuálnej verzie súborov a odoslať ho do main. - Správne, ale nie optimálne. Je lepšie použiť git revert na vrátenie commitov - Podmienene správne. Ide o dočasné riešenie, kým nebude nájdený radikálnejší spôsob odstránenia údajov - Nesprávne a nezabezpečené. Údaje budú odstránené z aktuálnej verzie, ale zostanú dostupné v histórii repozitára - Nesprávne. Tento commit môže spôsobiť nové konflikty pri zlúčení s inými vetvami - Správne a bezpečné. Táto metóda zabezpečuje, že údaje budú odstránené a už sa neobjavia v repozitári
Existujú dve transakcie. Najskôr prvá transakcia vykoná príkaz. Potom druhá transakcia vykoná príkaz. Následne prvá transakcia pokračuje. Aká sekvencia povedie k vzájomnému zablokovaniu? ```sql -- prvá transakcia update accounts set balance = balance + 100 where id = ?; -- druhá transakcia update accounts set balance = balance - 50 where id = ?; update accounts set balance = balance + 200 where id = ?; ```
Úložisko bolo postavené podľa schémy Data Vault — ty si ho tiež rozvíjal, udržiaval? Ručne pridával huby, linky?
Ako zobraziť parametre alebo obmedzenia v ClickHouse?
Prečo vznikajú deadlocky a aký mechanizmus v databázach je zodpovedný za konzistentnosť údajov pri paralelných dopytoch?
Má zmysel používať CTE, ak sa používa iba raz v dopyte?
Popíšte okienkové funkcie v čo najrozšírenejšej forme: aké kľúčové slová sa používajú a za čo je každé z nich zodpovedné.
Aký je rozdiel medzi dátovými typmi int a uint v ClickHouse?
Particionovanie v databázach: na čo je to potrebné, ako funguje?
Ako veľkosť zrna ovplyvňuje tabuľu ClickHouse?
Čo je pre vás dôležité pri navrhovaní pipeline?
Ako často sa počítali vitríny? Bol to inkrementálny alebo úplný výpočet?