Data Engineer
Расскажите, знакомы ли вы с методологией Domain Driven Design (DDD)? Если да, поделитесь примерами её применения в ваших проектах.
Приходилось ли работать с Oracle Data Integrator (ODI)?
Расскажи о себе — опыт работы, стек технологий
Что такое SQL-инъекция?
Назови пять команд Git.
Как оркестрируются запуски в DBT? Используете Airflow?
С зависимостями между джобами, между DAG — использовал сенсоры, чтобы они один за другим несколько джобов запускались?
Greenplum каким типом больше относится — к OLTP или OLAP?
Вам нужно быстро откатить несколько файлов к версии из прошлого коммита, не затрагивая остальные изменения. Как действовать? git reset --hard HEAD Удалить и создать заново файлы вручную git fetch и git merge git revert HEAD git checkout HEAD^ <файл1> <файл2>
Swap-файлы — как они влияют на производительность? Когда еще могут swap-файлы возникать?
Расскажите, пожалуйста, почему Вам интересна данная вакансия?
Greenplum — это OLTP или аналитическое хранилище?
Какие есть ограничения на использование хешей (hash table)?
Какие минусы у MPP архитектуры в Greenplum?
Типы JOIN в SQL (логические и физические)?
Как SQL-инъекция может произойти через поле ввода даты?
Были ли проблемы с OpenAPI при переходе с Spring Boot 2 на 3?
В вашем проекте используется подмодуль для документации, который находится в каталоге docs/. Вы узнали, что в удаленном репозитории этого подмодуля (например, на ветке release) появились важные обновления Какой командой из корневой папки проекта следует обновить подмодуль docs/ до последней версии из удаленного репозитория и подготовить это изменение к коммиту? git fetch docs/ && git merge docs/FETCH_HEA git pull --recurse-submodules git submodule update --remote docs/ cd docs/ && git pull && cd .. && git commit -am "Обновление" git submodule update --init docs/
В PostgreSQL необходимо оптимизировать производительность транзакций за счет минимального уровня изоляции, при котором: • параллельные транзакции могут видеть незавершённые изменения друг друга; • возможны "грязные чтения" (dirty read). Какой уровень изоляции нужно указать для транзакции, чтобы достичь этой цели? dirty read невозможен в PostgreSQL repeatable read read uncommitted read committed serializable
Анализ продаж по категориям товаров в розничном магазине Вы работаете аналитиком в розничном магазине. Ваша задача — сформировать отчет о продажах по категориям товаров с расчетами: • общее количество проданных единиц в категории (total_units_sold); • суммарная выручка по категории, учитывая скидки, где скидка применяется как unit_price × units_sold × (1 − discount/100). Если скидка отсутствует (NULL), считать скидку равной 0%. Округлить до двух знаков после запятой; • среднее количество проданных единиц на одну продажу (avg_units_per_sale), округленное до двух знаков после запятой; • долю продаж без скидки (no_discount_share) — количество продаж с NULL или 0% скидкой, деленное на общее количество продаж в категории, округленную до трех знаков после запятой. Результат сначала отсортируйте по убыванию total_revenue, затем по возрастанию среднего количества единиц в продаже (avg_units_per_sale), в конце — по названию категории в алфавитном порядке. Формат ввода Таблица sales: • sale_id (int) — уникальный идентификатор продажи • product_id (int) — идентификатор товара • category (text) — категория товара • sale_date (timestamp) — дата и время продажи • units_sold (int) — количество проданных единиц • unit_price (numeric) — цена за единицу товара • discount (numeric) — скидка на товар в процентах, может быть NULL Колонка discount может содержать пропуски. Формат вывода Запрос должен вернуть таблицу с полями в таком порядке: • category (text) — категория товара • total_units_sold (int) — общее количество проданных единиц товаров в данной категории • total_revenue (numeric) — общая выручка по категории с учетом скидок, округленная до двух знаков после запятой • avg_units_per_sale (numeric) — среднее количество единиц товара в одном заказе, округленное до двух знаков после запятой • no_discount_share (numeric) — доля продаж без скидок в категории (значение от 0 до 1), округленная до трех знаков после запятой Результат сортируется сначала по убыванию total_revenue, затем по возрастанию среднего количества единиц в продаже (avg_units_per_sale), в конце — по названию категории в алфавитном порядке.