Data Engineer
Jakie są zalety i wady baz danych wierszowych i kolumnowych? Które są bardziej wydajne do grupowania i agregacji?
Zadanie projektowe architektury mikroserwisów: jak dostarczyć dane do tabeli zamówień (produkty, ceny, zamówienia) w frontendzie przy trzech oddzielnych mikroserwisach?
Jaka jest zaleta przechowywania kolumnowego w porównaniu do przechowywania wierszowego?
Czym jest dynamiczne typowanie?
Jakie strategie ładowania przyrostowego w dbt stosowałeś?
Jakie metody (typy) przechowywania historii danych znasz? Jak gromadzona jest historia w tabelach?
Napisz prosty DAG dla Apache Airflow
Czy znasz metodologię Domain Driven Design (DDD)? Jeśli tak, podziel się przykładami jej zastosowania w Twoich projektach.
Jak odczytać plik o rozmiarze 100 gigabajtów w Pythonie?
Jak zrobić przedłużenie w górę (wypełnić NULL poprzednią niezerową wartością w kierunku odwrotnym)?
Co wnosi format Iceberg w porównaniu do zwykłego Parquet?
Jakie są formaty dystrybucji w Greenplum oprócz BY column i RANDOMLY?
Jakie znasz fizyczne JOINy?
Czy znasz kostki OLAP? Gdy pracujemy z danymi wielowymiarowymi, podobnymi do tabeli przestawnej w Excelu, ale dla szybszej interakcji z dużymi ilościami danych.
Czy pracowałeś z ładowaniami przyrostowymi i pełnymi? Jak radziłeś sobie z duplikatami?
Czym różni się CTE od podzapytania?
Opowiedz o Greenplum — formatach przechowywania danych, przechowywaniu wierszowym i kolumnowym.
Jak Git Flow zaleca formalizować nową wersję aplikacji? - Tworząc nowy branch issue - Tworząc hotfix-branch od master - Tworząc oddzielny release-branch od develop - Bezpośrednio commitując do branchu master - Bezpośrednio łącząc branch master z developem
Jakie silniki tabel w ClickHouse znasz i używałeś?
WYBIERZ * Z tabeli1 JAK t1 LEWY JOIN tabeli2 JAK t2 NA t1.date_start > t2.date_start --DML UTWÓRZ TABELĘ JEŚLI NIE ISTNIEJE Employee (id int, salary int, departmentId int); WSTAW DO Employee (id,salary,departmentId) WARTOŚCI (1, 70000, 1),(2, 94000, 1),(3, 85000, 1),(4, 80000, 2),(5, 60000, 2),(6, 62000, 3),(7, 90000, 3),(8, 94000, 3),(9, 94000, 3); z cte jako( wybierz *, rank() over(partition by departmentId order by salary desc) jako max_salary z Employee ) wybierz * z cte gdzie max_salary = 1