Data Engineer
Care sunt avantajele și dezavantajele bazelor de date pe rând și pe coloană? Care este mai eficient pentru grupare și agregare?
Problema de proiectare a arhitecturii microserviciilor: cum se furnizează date pentru tabelul de comenzi (produse, prețuri, comenzi) în frontend atunci când există trei microservicii separate?
Care este avantajul stocării pe coloană față de stocarea pe rând?
Ce este tipizarea dinamică?
Ce strategii de încărcare incrementală în dbt ai folosit?
Ce metode (tipuri) de stocare a istoricului datelor cunoști? Cum se acumulează istoricul în tabele?
Scrieți un DAG simplu pentru Apache Airflow
Cunoașteți metodologia Domain Driven Design (DDD)? Dacă da, împărtășiți exemple de aplicare în proiectele dumneavoastră.
Cum să citești un fișier de 100 gigabytes în Python?
Cum se face o extindere în sus (completarea NULL cu valoarea anterioară nenulă în direcția inversă)?
Ce aduce formatul Iceberg în comparație cu Parquet-ul obișnuit?
Ce formate de distribuție există în Greenplum în afară de BY column și RANDOMLY?
Ce JOIN-uri fizice cunoști?
Ești familiarizat cu cuburile OLAP? Când lucrăm cu date multidimensionale, asemănătoare cu un tabel pivot în Excel, dar pentru o interacțiune mai rapidă cu volume mari de date.
Ai lucrat cu încărcări incrementale și complete? Cum ai gestionat duplicatele?
Care este diferența dintre un CTE și o subinterogare?
Vorbește-mi despre Greenplum — formate de stocare a datelor, stocare în linie și coloană.
Cum recomandă Git Flow să se formalizeze o nouă versiune a aplicației? - Creând o nouă ramură issue - Creând o ramură hotfix din master - Creând o ramură release separată din develop - Făcând commit direct în ramura master - Îmbinând direct ramura master cu develop
Ce motoare de tabele în ClickHouse cunoști și ai folosit?
SELECT * DIN tabelul1 CA t1 LEFT JOIN tabelul2 CA t2 ON t1.date_start > t2.date_start --DML CREAZĂ TABELUL DACĂ NU EXISTĂ Employee (id int, salary int, departmentId int); INSERĂ ÎN Employee (id,salary,departmentId) VALORI (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); cu cte ca( select *, rank() over(partition by departmentId order by salary desc) ca max_salary din Employee ) select * from cte unde max_salary = 1