Data Engineer
Ветка feature содержит несколько коммитов с неудачно закоммиченным файлом config.yaml, который позже был исправлен. В результате команда решила полностью удалить все изменения файла из истории, чтобы избежать раскрытия конфиденциальных настроек. Исходное состояние ветки (вывод git log --oneline): 1 a4b5c67 (HEAD -> feature) Refactored service logic 2 d9f0a11 Fixed config.yaml typo 3 7c1d3f2 Added temporary config.yaml 4 e3a98cd Initial commit 5 После переписывания истории, чтобы удалить файл config.yaml, вывод git log --oneline стал т 6 b9e7d42 (HEAD -> feature) Refactored service logic 7 41f3b60 Initial commit Какую операцию выполнила команда? - Выполнила git revert на коммит с config.yaml - Выполнила git filter-branch --index-filter "git rm --cached config.yaml" -- --all - Выполнила git rebase -i с удалением коммитов, содержащих изменения файла - Выполнила git commit --amend и git push --force - Выполнила git cherry-pick для создания новой ветки без config.yaml
Как посмотреть параметры или ограничения в ClickHouse?
Приходилось ли работать с Oracle Data Integrator (ODI)?
Отчет для логистической компании Вы аналитик логистической компании, которая ведет учет операций на складах. Вам необходимо составить отчет по эффективности работы каждого склада. Для каждого склада рассчитайте: • общее количество операций (count_operations); • общее количество товаров, обработанных на складе (sum_quantity); • среднее время обработки операции (avg_processing_time), учитывая только операции с указанным временем (не NULL), округленное до целого числа; • максимальное и минимальное количество товаров, обработанных в одной операции (max_quantity, min_quantity); • количество операций каждого типа («поставка», «отгрузка», «перемещение») в отдельных колонках: supply_operations, shipment_operations, transfer_operations. Отфильтруйте склады, у которых общее количество операций больше 2 и среднее время обработки не превышает 60 минут. Отсортировать результат по ID склада по возрастанию. Формат ввода Таблица operations: • operation_id (int) — уникальный идентификатор операции • warehouse_id (int) — идентификатор склада • operation_type (text) — тип операции: «поставка», «отгрузка», «перемещение» • quantity (int) — количество единиц товара в операции • operation_date (timestamp) — дата и время операции • processing_time (int) — время обработки операции Колонка processing_time может содержать пропуски. Формат вывода Запрос должен вернуть таблицу с полями в таком порядке: • warehouse_id (int) — уникальный идентификатор склада • count_operations (int) — общее количество операций, выполненных на складе • sum_quantity (int) — общее количество товаров, обработанных на складе • avg_processing_time (numeric) — среднее время обработки операции (в минутах), учитывая только операции с не NULL временем, округленное до целого числа • max_quantity (int) — максимальное количество товаров, обработанных в одной операции • min_quantity (int) — минимальное количество товаров, обработанных в одной операции • supply_operations (int) — количество операций типа «поставка» • shipment_operations (int) — количество операций типа «отгрузка» • transfer_operations (int) — количество операций типа «перемещение»
Расскажи про архитектуру хранилища: как делилось на слои, какие особенности каждого слоя?
С зависимостями между джобами, между DAG — использовал сенсоры, чтобы они один за другим несколько джобов запускались?
Расскажите, знакомы ли вы с методологией Domain Driven Design (DDD)? Если да, поделитесь примерами её применения в ваших проектах.
Были ли проблемы с OpenAPI при переходе с Spring Boot 2 на 3?
Типы JOIN в SQL (логические и физические)?
Как SQL-инъекция может произойти через поле ввода даты?
В вашем проекте используется подмодуль для документации, который находится в каталоге 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/
JSON мы будем парсить — кто будет парсить JSON? В ClickHouse функции нет, насколько я знаю.
Расскажи про уровень Python: что использовал, насколько глубоко знаешь ООП
Что такое декоратор в Python и для чего он используется (в контексте Airflow)?
Расскажи про партиционирование. Какие интересные операции приходилось делать?
Расскажите про партиционирование в Oracle: зачем применяется и какие виды бывают?
Вы работаете над новой фичей в ветке dev. Внезапно возникает необходимость срочно переключиться на ветку main для быстрого исправления опечатки в файле README.md. У вас есть несколько незакоммиченных изменений: в src/feature.js (неиндексированные) и styles/main.css (проиндексированные). Вы хотите временно сохранить все эти изменения, чтобы потом вернуться к ним в ветке dev. Какую последовательность команд следует использовать для этого? git stash save "WIP on feature" && git checkout main && [fix] && git checkout dev && git stash pop git stash push -m "WIP on feature" && git checkout main && [fix] && git checkout dev && git stash pop git stash && git checkout main && [fix] && git checkout dev && git stash apply git add . && git stash && git checkout main && [fix] && git checkout dev && git stash drop git commit -m "Temp commit" && git checkout main && [fix] && git checkout dev && git reset HEAD^
Какие инструменты трассировки использовали? В Spring Boot 2 и Spring Boot 3?
Для чего нужны оконные функции?
Как уменьшить потребление памяти DataFrame в Pandas?