Cât de bine cunoașteți Linux/Docker?
Data Engineer
Ce este shuffle în Spark și la ce folosește?
Cum se gestionează shuffle în Spark (particionare, broadcast join etc.)?
Ce aduce formatul Iceberg în comparație cu Parquet-ul obișnuit?
Cunoaște expresiile de tabel comune (CTE)? Oferiți un exemplu de utilizare.
Ce este statistica în contextul sistemelor de gestionare a bazelor de date și al optimizării interogărilor?
Cum se găsește o subșir în coloana specifică a unui fișier de jurnal în Linux (de exemplu, data în a treia coloană)?
[nume] a vorbit despre experiența sa cu diferite sisteme de gestionare a bazelor de date, cât de profund a trebuit să se implice în optimizare și detalii interne.
Detaliați algoritmul de captare a incrementului de la sursă pentru a nu pierde nimic atunci când se schimbă frecvența de încărcare.
Cum compari tabelul original ("live") și tabelul țintă dacă sursa se schimbă constant?
Cum se rezolvă problema atunci când procesul de citire poate vedea o stare intermediară (incoerentă) a tabelului în timpul unui ETL în mai multe etape (delete+insert) în Iceberg?
Cum să organizezi citirea aceleiași mesaje din Kafka de către mai mulți consumatori diferiți (fan-out)?
Ce este o "tuple moartă" (dead tuple)?
Ce este Spark JDBC și cum poți încărca eficient o tabelă mare prin intermediul său?
Vorbiți despre cele mai bune practici de utilizare a indexurilor - când și cât de des să le folosiți.
Cum sunt legate partițiile Spark și partițiile din tabele (de exemplu, în Iceberg)?
Cum se detectează dezechilibrul datelor (data skew) în Spark?
Ce este jurnalul de tranzacții (WAL) într-un SGBD și de ce este necesar?
A fost utilizată metoda comparării hash-urilor înregistrărilor pentru calcularea diferenței dintre sursă și tabelul țintă?
La ce servesc cache și persist în Spark?