Айти-Пингвин | Дата инженер
СтатистикаКанал главного разработчика Data Lake крупного банка. База знаний для джунов, разбор собесов, задачи (jun/mid/sen) с решениями, полезные материалы, обзоры технологий и архитектур. По вопросам и менторству писать @it_pengwin
- Последний пост
- 14 авг.
- Последнее чтение
- 20:57
- Постов за неделю
- 2
- Всего постов
- 26
- Тип
- открытый
- Язык
- русский
- Категория
- Технологии
- В каталоге с
- 12 авг.
- 1/24сутки в ленте
- 565
- 1/48двое суток
- 647
- 1/72трое суток
- 698
Оценка по просмотрам недавних постов: пост набирает почти всё за первые сутки.
Посты
Коллеги, если сейчас ищете работу или готовитесь к переходу в Data Engineering, рекомендую канал @dataengineerlab В канале много полезного для подготовки: — разборы Spark, Airflow, Kafka, Iceberg, Greenplum и других инструментов — актуальные вопросы с собеседований в бигтех — советы по резюме и прохождению интервью Рекомендую заглянуть и подписаться — точно найдете что-то полезное для подготовки: 👉 @dataengineerlab
Apache Iceberg - зачем он нужен? Iceberg всё чаще встречается в вакансиях и архитектуре. Что это: база данных, альтернатива Parquet или часть Spark? Iceberg - открытый табличный формат. Он не заменяет Parquet и не выполняет запросы вместо Spark или Trino. Допустим, в S3 лежит таблица из множества Parquet-файлов. Parquet определяет устройство каждого файла, но ничего не знает о таблице целиком. Какие файлы сейчас актуальны? Что делать, если две джобы одновременно записывают данные? Как вернуть таблицу в состояние до неудачной загрузки? Iceberg хранит над файлами метаданные: схему, партиционирование, статистику и историю изменений. Таблица состоит из snapshots - её версий. Каждый snapshot содержит точный список файлов на определённый момент. При записи создаются новые файлы и метаданные, затем выполняется атомарный коммит. Другие запросы видят либо предыдущую версию таблицы, либо уже полностью записанную новую. Что это даёт? 1. Конкурентная запись Несколько джоб могут одновременно работать с таблицей. При коммите Iceberg проверяет, не изменились ли затронутые данные, и обнаруживает конфликт. 2. Time travel и rollback Можно прочитать таблицу в состоянии на определённый момент или вернуть её к предыдущему snapshot после ошибочной загрузки. 3. Безопасное изменение схемы Колонки можно добавлять, удалять и переименовывать. Iceberg различает их по внутренним ID, поэтому переименование не считается удалением одной колонки и созданием другой. 4. Скрытое партиционирование В запросе можно фильтровать обычную колонку с timestamp, а Iceberg сам определит подходящие партиции. Способ партиционирования можно менять без немедленной перезаписи старых файлов. 5. Планирование чтения По статистике в метаданных движок заранее исключает файлы, в которых нет нужных данных. Для таблиц с миллионами файлов это сильно сокращает объём чтения. Почему недостаточно DWH, например Greenplum? В MPP-СУБД хранение и вычисления находятся в одном кластере. Расширяя его ради растущего объёма данных, приходится добавлять и вычислительные ресурсы. В S3 хранение масштабируется отдельно, а разные движки могут работать с одними файлами. Iceberg добавляет им возможности таблицы. При этом DWH продолжает решать свои задачи. Почему Iceberg появился только сейчас? Раньше большие данные строились вокруг Hadoop, HDFS и пакетных загрузок. Для многих задач каталогов и партиций хватало. С распространением объектных хранилищ одну таблицу начали использовать разные движки. Понадобился общий формат для управления миллионами файлов, каталоги с атомарными коммитами и поддержка в самих движках. Поэтому Iceberg стал востребован именно сейчас. Что Iceberg даёт этим движкам? Iceberg - не отдельный сервер. Это спецификация таблицы, библиотеки и интеграции. Они объясняют движку, как найти нужные файлы, применить фильтры, прочитать таблицу, записать новую версию и выполнить коммит. Движок занимается вычислениями, а Iceberg отвечает за состояние таблицы. Снаружи всё действительно выглядит просто. Но внутри snapshot ссылается на manifest list, тот - на manifests, а в них уже хранятся списки data files и статистика. Iceberg также разрешает конфликты между параллельными записями, повторяет неудачные коммиты, отслеживает удаления и сохраняет файлы, которые ещё нужны старым snapshots. Таблицы приходится обслуживать: объединять небольшие файлы, удалять старые snapshots, очищать потерянные файлы и оптимизировать manifests. То есть идея простая, а реализация нет. Пользователь видит обычную таблицу именно потому, что основная сложность спрятана внутри формата и его интеграций. ———— Как вам формат? Хочу чаще делать посты, писать на понятном языке про всякие de-шные (и не только) технологии. it пингвин | data engineer 🐧
Обзор собеседования с Лемана Про Формат работы: Гибрид Зп: от 250к просил Период собеседования: Июль 2026 Итог собеседования: Игнор ———— Общий опыт работы С какими базами данных вы работали и до какого уровня погружались в SQL и БД? Миграция Oracle → Greenplum Опишите подробнее процесс миграции на Greenplum. Какие особенности необходимо было учитывать? Какая конфигурация использовалась в Oracle — распределённая или обычная СУБД? Приходилось ли оптимизировать операции join при переходе с обычной таблицы на распределённую? Применялась ли индексация в Greenplum в вашей практике? Задача на проектирование (геоданные) Дана таблица с географическими координатами полигонов. Каким образом можно ускорить поиск по координатам без использования полигонального индекса? Как можно применить дистрибуцию или партиционирование для оптимизации запросов по числовым координатным полям? Какой принцип должен лежать в основе распределения данных для эффективного использования всего кластера? Языки программирования Расскажите об опыте работы с языками программирования, в частности с Python. Насколько глубоко изучен API Apache Airflow? Какие классы операторов и задач применялись? Использовались ли внутренние механизмы Airflow — переменные, XCom? Применялись ли генераторы задач или динамические DAG? Проектирование pipeline Как бы вы спроектировали pipeline для загрузки таблиц из Oracle в Greenplum? Каким образом следует организовать запуск: единый DAG или отдельные DAG для каждой таблицы? Какие преимущества и недостатки имеет каждый из подходов — универсальный DAG с множеством задач против отдельных DAG на каждую таблицу? Контроль качества данных Каким образом обеспечивается контроль качества загруженных данных? Опишите верхнеуровневую структуру отчёта по контролю качества данных (data quality). Опыт с Hadoop-стеком Расскажите подробнее об опыте работы с экосистемой Hadoop. В каком окружении использовался PySpark? С какими форматами файлов приходилось работать (Parquet, CSV, ORC)? Хранились ли данные в объектном хранилище? Имеется ли опыт работы с технологиями каталогизации и версионирования данных, например Apache Iceberg? DevOps и инфраструктура Имеется ли опыт применения практик DevOps и SRE? Есть ли опыт работы с Docker и Kubernetes? Использовались ли инструменты мониторинга и логирования, такие как Grafana или Loki? Управление кодом БД и архитектура хранилища Как организован процесс работы с кодом, относящимся к базе данных, включая развёртывание процедур, функций и таблиц? Какой процесс применяется для деплоя изменений в продуктивную среду? Опишите архитектуру хранилища данных: какие слои используются и как формируются витрины данных? ———— Вот это уже потненький собес. Не то что в Сбере) it пингвин | data engineer 🐧 #собеседование #менти
Аналитик из Wildberries показывает, что происходит с данными после того, как дата-инженеры загрузили их в таблицы: Хочу сегодня порекомендовать канал, который раскрывает дата-аналитику со всех сторон — «Дима SQL-ит». 🛒 Дима работает аналитиком данных в Wildberries и публикует много теории и кейсов из практики — всё структурированно и по делу 🤝 Что рекомендую посмотреть в первую очередь: 🟡Подборки бесплатных материалов для изучения: SQL, Python, BI (дашборды), статистики и A/B тестов 🟡Как агрегатные функции в SQL (SUM, AVG, COUNT) ведут себя с NULL? 🟡SQL-ловушка: почему NOT IN ломается, а EXISTS работает — классическая проблема с NULL, на которую часто натыкаются 🟡Горячие клавиши в DBeaver, Jupyter и VS Code — семь комбинаций, которыми Дима пользуется каждый день 🟡Telegram-бот, который шлёт сообщение, когда скрипт завершился 🟡Разбор задач в Т-банк, Магнит OMNI, еще одна задача в Т-банк ➡️ Подписывайтесь, чтобы не потерять: @dima_sqlit
Обзор собеседования со СБЕР v2 ВОПРОСЫ: Расскажи про интересную рабочую задачу, связанную с данными, которой ты гордишься, и про свою роль в ней. Какой итоговый объем витрин был, в строках или гигабайтах? ЗАДАЧА 1: Дана таблица такого формата code status 1 активный 2 закрыт 3 аннулирован 3 аннулирован Как написать запрос, который покажет, есть ли в таблице дублирующиеся записи? Как написать запросы, чтобы удалить дубли и оставить только уникальные записи? Какие есть разные способы дедупликации одной и той же таблицы? Возможна ли ситуация, когда после удаления дублей в отчете они появляются снова? И как решать такую проблему, если ты не знаешь источник, откуда в эту таблицу летят дубли, а также не может повлиять на скрипт загрузки? Какой constraint можно поставить на таблицу, чтобы не допускать дублей? Что будет с потоком загрузки, если он попытается вставить записи, нарушающие unique constraint? Как организовать загрузку через staging, чтобы сначала очистить данные, а потом вставить только уникальные записи в целевую таблицу? Какую периодичность запуска выбрать для процесса очистки дублей, если неизвестно, как часто приходят вставки? Как бы ты оптимально решал проблему дублей в таблице, если нельзя быстро найти источник проблемы? ЗАДАЧА 2: Есть 9 одинаковых на вид монет. Одна из них фальшивая, и она легче остальных. Есть только чашечные весы без гирь. Нужно найти фальшивую монету ровно за 2 взвешивания. ——————- Чет со Сбером изичные собесы🦦 it пингвин | data engineer 🐧 #собеседование #менти
Обзор собеседования со СБЕР Вопросы: Какие виды JOIN ты знаешь, и в чем между ними разница? Что такое anti join? Что будет при JOIN по ключу, если в ключевых колонках с обеих сторон есть NULL? Чем отличаются UNION и UNION ALL? Что такое нормализация таблицы? Зачем нужна нормализация, и можешь привести пример нормализованной схемы? Чем отличается OLAP от OLTP? Был ли у тебя опыт работы со Spark? Какой основной плюс Spark в распределенных вычислениях? Какие основные шаги выполняются, когда нужно поджойнить две большие таблицы в Spark? Что значит, что JOIN в Spark — это широкая операция? Задача: Таблицы: clients (id,name, start_date, end_date) transaction(id,client_id,amout,date) Найти для каждого клиента сумму транзакций за 1 апреля 2025 года. Вывести id клиента, имя клиента и сумму транзакций. * при этом id в таблице clients меняется по scd2. потом еще какие-то доп. условия интервьюер накидывал на задачу. ❗️*upd Это внутренний проект сбера. Вакансия с их платформы, уже убрали. Зп от 250 на руки были согласны. Позвали в офис на финальный этап, но кандидат не пошел 🦦 ——————- Ставьте 70 🏦 сберов и выложу еще один обзор с ними 🫡 it пингвин | data engineer 🐧 #собеседование #менти
Всем привет! Подскажите плз хорошее компьютерное кресло. Нужно с сеткой и анатомической спинкой. Я посмотрел несколько видосиков (например, это) и всякие статьи. Одно нормальное кресло не нашел, склоняюсь к линейке самураев. Но вижу, что в начале у всех отличные отзывы, а после продолжительного использования – плохие. И кто знает норм компьютерный стол (желательно с крыльями и подъемным механизмом) тоже можете ссылочкой поделиться 👉👈 ⬇️
Обзор собеседования с Neoflex ВОПРОСЫ: 1. Что на каждом слое делают с данными? (опиши 3–4 глаголами: raw, staging, ODS, DDS, data mart) 2. Слой data mart — нормализован или нет? 3. Почему data mart денормализован? Что выигрываем? 4. С какими моделями данных сталкивался: звезда, снежинка, data vault? 5. Как косвенно определить по структуре таблицы (без данных, только атрибуты, типы, констрейнты) — это факт или измерение? 6. Почему в таблице фактов не должно быть 3–4–5 больших varchar-полей? 7. Перечисли 6 стандартных констрейнтов на атрибут 8. Перечисли все виды ключей (primary, foreign, unique, простой/составной, натуральный/суррогатный и др.) 9. Какой из перечисленных ключей не является идентификатором таблицы, в которой находится? 10. Какие подвиды суррогатных ключей знаешь? 11. В чём разница между индексами и партициями? 12. Каким образом ты проверял данные? Какие метрики data quality использовал? 13. Приходилось ли разрабатывать конкретные метрики качества данных? Какие? Плюс была несложная задача на исправление ошибок в sql-запросе. — Собеседование было в июне, по зп готовы платить 200к (я думаю +30к можно выторговать). it пингвин | data engineer 🐧 #собеседование #менти
Я кстати залечу на буткемп в июле, очень интересно что там)
🔥 ПЕТ-ПРОЕКТ ДАТА ИНЖЕНЕРА В эту СРЕДУ 17 ИЮНЯ в 20:00 МСК у нас будет довольно интересный стрим. Причём проводить его будет не только команда BootCamp, но и один из наших выпускников. К нам придёт Артем — участник 6-го потока BootCamp. За время обучения он собрал полноценный пет-проект и теперь покажет его нам от начала до конца. ➡️ ссылка на стрим Что вообще будет в проекте? Берём данные из API New York Times, складываем их в S3, грузим через Spark в Greenplum, строим витрины через dbt и публикуем результат в ClickHouse. Плюс логирование Airflow-задач в Postgres. Ну т.е. это буквально пример рабочего пайплайна для Дата Инженера. Причем довольно внушительного по кол-ву используемых технологий. На стриме Артём покажет: — как устроен проект — как принимались архитектурные решения — почему были выбраны именно эти инструменты — какие сложности возникли во время разработки — что можно улучшить дальше Будет полезно всем, кто сейчас думает над своим первым серьёзным проектом или хочет посмотреть, как выглядит нормальный DE pet-project в 2026 году. 🎙 Спикеры: — @halltape — @shustDE — Артём (выпускник 6-го потока BootCamp) 📅 Среда 17 ИЮНЯ ⏰ 20:00 МСК ➡️ ссылка на стрим Приходите, послушаем лекцию, посмотрим код и разберём проект по косточкам. Запись будет! Будет интересно 🚀
Ребят, сори, что редко пишу посты. Хочу кратенько рассказать, что у меня сейчас происходит. На работе сейчас идет миграция с Greenplum+dbt -> Lakehouse (S3, iceberg, trino). Пока что Lakehouse мне не очень нравится) Наверное, в основном потому, что у нас теперь нет dbt и вместо тысячи dbt-моделек мы создаем сотни дагов в аирфлоу. С этим работать неудобно и непривычно. Сам процесс миграции очень рутинный. Прям много думать не надо. Переписываем скрипты, делаем даги. В последние дни занимаюсь оптимизацией парсинга json-ов на трино. Немного коряво он это делает. Кстати, сами даги тоже теперь не пишем. Пишем yaml-спецификацию для генерации дагов. Я теперь тот самый yaml-разработчик 👋 Но на самом деле это даже удобно. Пару строчек в ямлике меняешь и все норм работает. Помимо миграции есть и куча задач в старом хранилище. Поэтому делаю несколько задач параллельно. Запустил новый поток с миграцией - пока он грузится, делаешь другую таску. Постоянная смена контекста. Все время пишут разные манагеры, аналитики в личку, что-то спрашивают про данные, про сроки.. Полностью пересел на mac, немного непривычно. Стал активно использовать ИИ-агенты (пока что корпоративные). Немного меняется рабочий процесс, тоже нужно привыкнуть. Менти. В апреле вышли на работу 5 менти. Все довольны, все круто. В июне еще один менти выходит в топовое место. И летом еще несколько выйдут на рынок. Надо будет как-нибудь отдельно поделиться успехами - куда устроились ребята, что по стеку, по зп. Мне даже несколько менти говорят, что нужно про это написать) Новых ребят сейчас редко беру, даже стал отказывать 💅 А еще ремонт в новой квартире подходит к концу. На него тоже много энергии уходит, но это хотя бы интересно) Работа очень выматывает, ничем заниматься не хочется. Нет времени на свои проекты. В целом в тг редко захожу. Может, это и есть то самое выгорание, я хз. А у вас как дела?🦦
Нужно больше дашбордов 🫡
Как сейчас устроен рабочий процесс - 🍴Ты еще работаешь? 🤖Thinking: Пользователь спрашивает, продолжаю ли я работу. Да, я работаю - только что завершил документацию для 12 витрин и сейчас должен перейти к ***. Мне нужно прочитать файл *** и продолжить работу. Давайте перейдем к следующей витрине - ***. - 🤖 Да, брат, работаю! Только что завершил 12 витрин, сейчас перехожу к следующей - 🍴 Работай братишка 💅🦦
Обзор большого собеседования с IT_One У моего менти было интересное собеседование😢 Длительность 3 часа💀 "По опыту косвенные вопросы, по типу на вопросах иногда просили уточнить как это было устроено у вас на работе" Кандидат ответил на все вопросы и очень хорошо. Пришел отказ без нормальной обратной связи. В общем, та еще клоунада. IT_One в своем репертуаре )) Но мы получили хороший список вопросов для самопроверки. Всем будет полезно. Основные вопросы: 1) Чем отличаются DWH и Data Lake? 2) Какие существуют форматы хранения данных? 3) Какие преимущества у колоночных форматов, например Parquet? 4) Что такое OLTP и OLAP? 5) Какие задачи решают OLTP и OLAP системы? 6) Что такое snapshot в контексте DWH? 7) Что такое staging слой в DWH? 8)Какова роль core слоя в DWH? 9)Что такое marts в DWH? 10)Объясните понятие surrogate key. 11)Чем отличается surrogate key от natural key? 12)Что такое Kimball методология? 13)Что такое Inmon методология? 14)В чем разница между star и snowflake схемами? 15)Как выбрать последние 1000 записей по времени с помощью SQL? 16)Что такое running balance и как его реализовать? 17)Чем оконные функции отличаются от агрегатных? 18)Как реализовать фильтрацию по конкретной дате в SQL? 19)Какие типы JOIN существуют? 20)Как оптимизировать JOIN в больших таблицах? 21)Что такое партиционирование в базах данных? 22)Чем полезна архитектура MPP? 23)Как справляться с проблемой data skew? 24)Какие методы обработки невалидных данных вы знаете? 25)Что такое quarantine для данных? 26)Как организовать мониторинг качества данных? 27)Чем отличается commit от push в git? 28)Что такое ветвление (branching) в git? 29)Как устроен CI/CD pipeline? 30)Как хранить secrets в CI/CD системах? 31)Что такое Spark? 32)Как устроена архитектура Spark? 33)Что такое RDD и DataFrame в Spark? 34)Как писать Spark-приложения на PySpark? 35)Как реализовать сложную агрегацию в Spark? 36)Что такое HDFS и как с ним работать? 37)Как автоматизировать запуск Spark job через Airflow? 38)Как работает Kafka? 39)Что такое Kafka Connect? 40)Как реализовать потоковую обработку на базе Kafka и ClickHouse? 41)Как устроен Data Pipeline с Kafka → Kafka Connect → Materialized Views → ClickHouse? 42)Что такое dbt и для чего он нужен? 43)Как dbt помогает с lineage данных? 44)Какие преимущества у инкрементальной загрузки данных? 45)Как проектировать ключи дистрибуции в Greenplum? 46)Какие средства мониторинга и алертинга вы использовали? 47)Что такое Iceberg и Trino? 48)Как настроить multi-cluster обработку в Spark? 49)Какие есть best practices для ETL пайплайнов? 50)Как проводить code review для ETL и аналитического кода? Задачу тоже прикрепляю 🫡 Как вам собесик😁? Ответили б на все вопросы? it пингвин | data engineer 🐧 #собеседование #менти
Те самые вечера с Глебом Михайловым 🚬 Прохожу курс по алгоритмам от Глеба 🐆 Пока, что закончил пару блоков - быстрый старт по питону и задачи по массивам. Что могу сказать на данный момент. Конечно, курс мне нравится)) Смотрю видосики на 2.25, решаю задачки. Все лампово. Подача материала очень хорошая, ничего лишнего. Видосики больше 10 минут не идут. Задачки прям интересные. Напомню как построен курс. Почти все задачи Глеб сам решает и объясняет решение. Тебе же после видосика надо зайти на литкод и самому решить эту же задачу. Иногда старые задачки надо повторно самому прорешивать и очень редко дают новые задачи, которые ты сам должен догадаться как решить. Но основной принцип - повторение решений. Потихоньку все должно дойти до автоматизма, ты запомнишь основные паттерны и будешь щелкать алгосы. Нравится, что Глеб вкидывает информацию как правильно именовать переменные, показывает и простые решения в лоб, и оптимальные алгоритмы и однострочные решения. Объяснил как считается сложность алгоритма. Все это интересно. Прохождение курса логирую. Сейчас я потратил на курс 6 часов 20 минут и решил 28 задач🍴 Результат уже виден. После блока по массивам я решил сходу задачки, которые раньше не решил бы 🦦 Главное дальше двигаться по графику и решать все задачки. Курс длится до августа 😱 Вот прикольная задачка: Замените элементы на наибольший элемент в правой части. Дана последовательность элементов arr. Замените каждый элемент этой последовательности на наибольший элемент среди элементов справа от неё, а последний элемент замените на -1. После этого верните массив. Example 1: Input: arr = [17,18,5,4,6,1] Output: [18,6,6,6,1,-1] Example 2: Input: arr = [400] Output: [-1] Я чуть позже в комменты закину решение. Кто осилит задачку, тоже делитесь решениями ⬇️ it пингвин | data engineer 🐧
Обзор собеседования Должность: Data Engineer Компания: СБЕР в команду GigaData Тип собеса: #тех_собес Грейд: #middle Этапы: Тех интервью -> системный дизайн -> интервью с Тим лидом Вилка: 250+ на руки Итог собеса: Не прошел 1 этап Python: 1. почему только неизменяемые типы данных могут быть ключом словаря? 2. Какой алгоритм используется для поиска по словарю? Какая сложность? 2.5. от каких типов данных можно посчитать hash? 3. Чем отличается по сложности вставка через insert и через append в список? Какая сложность у каждого? 4. Что такое GIL? 5. Итераторы, генераторы? Как каждый из них взаимодействует с памятью? Spark: 1. Какие методы оптимизации использовал? 2. Что такое parquet? 3. Как понять, сколько будет тасок после считывания parquet в спарк(число row group в паркете)? 4. Когда мы выделяем память на каждый экзекьютор, какая память на что распределяется и как на это повлиять? 5. Типы джоинов в spark? Как оптимизатор решает, когда какой выбрать? 6. Coalesce и repartition, когда при coalesce будет shuffle? Airflow: 1. Какие операторы использовал? 2. Что такое сенсоры? 3. Что такое xcom? Кубер: 1. просто скипнул вопросы ➖➖➖➖➖➖➖➖ Как вам собес?🤔 it пингвин | data engineer 🐧 #собеседование #подписчик
Лучшее время на работе 🚬💅
Бизнесу не всегда нужны истинные данные Часто заказчику нужно показать руководству доказательство, что их бизнес-решение верное, их новая фича отлично работает и принесла прибыль. Не важно как это доказывается, как интерпретируются данные, насколько они корректные. Часто аналитика должна быть не объективной, а аналитика должна подтверждать то, что мы уже решили. Я уже не раз нахожу жесткий косяк в данных, которые могут влиять на аналитику. Говорю о проблеме и часто на проблему закрывают глаза. Выводы уже сделаны, решения приняты. И это не всегда минус. Просто упор сделан на скорость принятия решения, а не на качество. По ощущениям такое чаще в продуктовых современных компаниях, где бизнес очень быстро развивается. В финансовом секторе, особенно в окологосушных банках (почти все в РФ) ситуация немного другая. Здесь наоборот цена ошибки дорогая. Отсюда и медленные процессы, куча проверок и бюрократии. Оба подхода имеют право на жизнь. Как всегда нужно искать баланс.
Обзор собеседования Должность: Data Engineer Компания: Лига цифровой экономики на проект Альфа Тип собеса: #тех_собес Грейд: #middle Вилка: 250 на руки Итог собеса: Прошел * отказ при оформлении на уровне банка Вопросы: 1. Отличие БД от ХД 2. Что такое партиционирование и шардирование 3. На какие типы делятся индексы (кластеризованный и некластеризованный) 4. физ join и алгоритмы их под капотом 5. ACID - определение каждой буквы 6. Уровни изоляции и какие аномалии решают Кейсы: 7. Что бы делал при такой ситуации: Пайплайн данных, новые данные приходят ночью, во вторник объем данных на входе увеличивается в 5 раз, что замедляют работу пайплайна. 8. Пришел заказчик попросил сделать витрину, ты понимаешь что у вас нет столько ресурсов или по другим причинам не можешь сделать эту задачу. Как ты будешь это обсуждать с заказчиком? Задачи: 1. Выбрать name сотрудников, получающих зарплату больше своих руководителей. Атрибуты в таблице table : employee_id, name, department, id_master, salary 2. В таблице имена не могут повторяться. Задача: найдите имена и количество двоек у тех учеников, у которых больше 10 пятерок. Соответственно надо получить табличку с именем и количеством двоек. 3. employees ( id INT PRIMARY KEY, name VARCHAR(100), manager_id INT REFERENCES employees(id) -- NULL для топ-менеджера ) Задание: Для каждого сотрудника вывести: его имя, уровень в иерархии (0 для топ-менеджера), Отсортировать по уровню, затем по имени. ➖➖➖➖➖➖➖➖ Как вам собес?🤔 it пингвин | data engineer 🐧 #собеседование #подписчик
Произошла утечка исходников Claude Code Мб кому-то будет интересно покопаться в репе: https://github.com/instructkr/claude-code И уже накатали неплохой обзор проекта https://habr.com/ru/companies/bar/articles/1017574/