Data Engineer
Какви са типичните причини за това, че заявката в релационна база данни работи бавно?
# какво изписва s = 'Abracadabra' print(s[5][0]) b = 'a' b[0] print(s[::2]) s = [1, 2, 3] print(s * 2)
На кои полета се случи обединяването на данните и как се премахваха дублиращите се записи във витрината?
Имаш две свързани таблици: first_table и second_table. Искаш да изпълниш командата TRUNCATE TABLE second_table CASCADE;, за да изтриеш всички редове от second_table и всички зависими от нея данни. Какви могат да бъдат последствията от изпълнението на тази команда? create table first_table ( id integer primary key ); create table second_table ( id serial primary key, first_table_fk integer references first_table(id) ); - Последователността second_table_id_seq ще бъде нулирана до началната стойност. - Ще бъдат изтрити всички записи от first_table, свързани чрез външен ключ с second_table. - Съществуващите индекси за second_table ще бъдат изтрити и автоматично пресъздадени. - При последващи вмъквания в second_table, стойността по подразбиране за id може да започне с некоректна стойност. - Ще възникне грешка, тъй като командата CASCADE е забранена за таблици с външни ключове.
Представете си, че Data Vault не е наличен и има две широки таблици, които трябва да се свържат. Как бихте оптимизирали това в Greenplum? А ако беше в ClickHouse?
На кои технологии е построен вашият lakehouse и какви проблеми възникват при работа с Apache Iceberg?
Как бих реализирал филтриране преди join в самия заявка?
Разкажете за най-значимия проект или задача на Python за последната година.
На нашия сайт потребителите търсят самолетни билети. Необходимо е да регистрираме събитията от търсене в ClickHouse, за да могат анализаторите да изчислят популярните дестинации и конверсията в покупка. Проектирайте таблицата и напишете DDL стрийм, 5 минути на ден, дата, дестинация, веднъж на ден, 2 години, json Идентификатор на събитието, време, сесия, потребител (може да е анонимен — без вход), летище/град на излитане и кацане, търсена дата на излитане, дата на връщане (може да е само еднопосочен полет), брой пътници, клас на салона, тип устройство, намерени ли са полети, минимална цена сред намерените, валута, промо код (може да липсва).
Как физически протича механизмът broadcast — как достигат партициите на малка таблица до изпълнителите с голяма таблица?
Какво точно привлече вниманието ви към нашата ваканция, защо решихте да кандидатствате?
Как работихте с файловете при повторното стартиране на DAG след неговия срив, за да не презапишете данните в S3 с непълни данни?
Кои агенти и модели се използват във вашето корпоративно ИИ решение? Пише ли код вместо вас?
Какво е Spark JDBC и как ефективно да заредите голяма таблица чрез него?
Знаеш ли формата Avro?
Какво е CROSS JOIN и какъв е резултатът от неговото прилагане?
В каква среда беше стартиран Spark?
Имате ли опит с двигатели като Trino или с таблицени формати (Iceberg, Parquet) в Spark?
Как са устроени вашите dbt модели и как събирате витрината от няколко източника чрез Trino?
Какъв тип съхранение има Parquet: ред или колона?