fa
Feedback

فریب کلاهبرداران را نخورید! تل‌متریو این کانال‌ها را شناسایی و برچسب‌گذاری می‌کند 👉 برای مشاهده برچسب، اشتراک تهیه کنید 👈

Айти-Пингвин | Дата инженер

Айти-Пингвин | Дата инженер

رفتن به کانال در Telegram

Канал главного разработчика Data Lake крупного банка. База знаний для джунов, разбор собесов, задачи (jun/mid/sen) с решениями, полезные материалы, обзоры технологий и архитектур. По вопросам и менторству писать @it_pengwin

نمایش بیشتر
2 120
مشترکین
اطلاعاتی وجود ندارد24 ساعت
+67 روز
+1930 روز

در حال بارگیری داده...

کانال‌های مشابه
هیچ داده‌ای
مشکلی وجود دارد؟ لطفاً صفحه را تازه کنید یا با مدیر پشتیبانی ما تماس بگیرید.
اشارات ورودی و خروجی
---
---
---
---
---
---
جذب مشترکین
اکتبر '26
اکتبر '26
+11
در 0 کانال‌ها
سپتامبر '26
+46
در 0 کانال‌ها
Get PRO
اوت '26
+62
در 1 کانال‌ها
Get PRO
ژوئیه '26
+96
در 1 کانال‌ها
Get PRO
ژوئن '26
+21
در 0 کانال‌ها
Get PRO
مه '26
+32
در 0 کانال‌ها
Get PRO
آوریل '26
+76
در 0 کانال‌ها
Get PRO
مارس '26
+50
در 0 کانال‌ها
Get PRO
فوریه '26
+151
در 1 کانال‌ها
Get PRO
ژانویه '26
+91
در 0 کانال‌ها
Get PRO
دسامبر '25
+80
در 0 کانال‌ها
Get PRO
نوامبر '25
+96
در 0 کانال‌ها
Get PRO
اکتبر '25
+146
در 1 کانال‌ها
Get PRO
سپتامبر '25
+210
در 1 کانال‌ها
Get PRO
اوت '25
+190
در 0 کانال‌ها
Get PRO
ژوئیه '25
+248
در 2 کانال‌ها
Get PRO
ژوئن '25
+173
در 1 کانال‌ها
Get PRO
مه '25
+651
در 0 کانال‌ها
Get PRO
آوریل '250
در 5 کانال‌ها
Get PRO
مارس '25
+80
در 3 کانال‌ها
تاریخ
رشد مشترکین
اشارات
کانال‌ها
08 اکتبر0
07 اکتبر+1
06 اکتبر+1
05 اکتبر+5
04 اکتبر0
03 اکتبر0
02 اکتبر+2
01 اکتبر+2
پست‌های کانال
У меня вообще-то и образовательный контент есть. Нашел для вас годный лайфхак☝️

2
5 октября начнется 19-й поток программы Data Engineer от Newprolab Программа для junior- и middle-дата-инженеров, аналитиков,
5 октября начнется 19-й поток программы Data Engineer от Newprolab Программа для junior- и middle-дата-инженеров, аналитиков, backend-разработчиков, техлидов и тех, кто работает с data-командами и хочет лучше понимать современный стек DE 📌 Что внутри: – 10 недель обучения – 30 занятий: онлайн + записи – 10 практических лабораторных работ – облачный кластер и реальные данные – чат участников и поддержка команды программы 📌 Что получите на выходе: 1. Научитесь решать типовые задачи DE на практике 2. Систематизируете знания и закроете пробелы в современном DE-стеке 3. Поработаете с реальными данными и инфраструктурой, а не только с учебными примерами 4. Соберете практический опыт, который можно обсуждать на собеседованиях и использовать в работе 5. Все записи и материалы останутся у вас после окончания программы Преподаватели – практикующие специалисты из ведущих технологических компаний. На занятиях можно разбирать реальные кейсы, задавать вопросы и получать обратную связь 👉 Подробности и квиз – на сайте Квиз покажет, насколько программа подходит именно под вашу роль и задачи, даст персональные рекомендации и промокод на скидку По всем вопросам пишите Алексею @snitsa ___ Напоминаю, в прошлом году я сам проходил данный курс. Все лабы сделал и получил диплом. И делал серию постов с подробным обзором курса - рекомендую изучить 🤝
662
3
Почему зарплаты в it перестали расти? Все вокруг говорят, что зп в it просели. Я бы не сказал, что весь рынок прямо обвалился. Скорее, во многих местах зарплаты просто перестали расти такими темпами, как раньше (понятно, что где-то и уменьшились). Да, кризис играет огромную роль. Компании сокращают бюджеты, вакансий становится меньше, конкуренция растёт, часть иностранных работодателей ушла. Без всего этого ситуация менялась бы намного плавнее. Но мне кажется, что объяснять всё только кризисом не совсем правильно. Несколько лет назад вокруг it был огромный хайп. Компании быстро росли, специалистов не хватало, нанимали людей с небольшим опытом и были готовы много платить. В 21 году, когда я устроился в первую it компанию, у меня спрашивали только sql и больше смотрели на софт скиллы. Устроился в компанию и тебя всему обучат. Когда в других сферах зарплата была условно 50к, в it уже можно было получать 200-300к. Со временем мы привыкли к этой разнице и начали считать её нормальной. Вот мне кажется, что ненормальным был как раз тот период. Разрыв появился не только потому, что работа в it сложнее. Российские айтишники могли удалённо работать на зарубежные компании, а нашим работодателям приходилось конкурировать с глобальным рынком. Это тоже сильно толкало зарплаты вверх. Сейчас этот фактор стал слабее. При этом зарплаты в других профессиях выросли (здесь тоже многие могут не согласиться), а в it остались примерно на том же уровне или выросли незначительно. Разрыв начал сокращаться. И почему зарплата разработчика всегда должна быть в несколько раз выше? Хороший сварщик, конструктор или инженер должны получать на таком же уровне. Там тоже нужны знания, опыт и годы работы. it - не магия и не закрытая сфера для избранных. Сюда пришло много людей, рынок насытился, а компании стали внимательнее относиться к найму. Да, сейчас рынок сильно страдает из-за общей ситуации в стране. Но даже без кризиса зарплаты в it вряд ли могли бесконечно расти прежними темпами и сохранять такой огромный разрыв с другими профессиями. Поэтому если в 2020 году зарплата была 300 тысяч, а сейчас предлагают 300-350, это не только последствие кризиса. Рынок ещё и возвращается из аномального состояния в более нормальное. ————————— А вы как думаете, зарплаты в it действительно просели или раньше они были слишком сильно завышены? it пингвин | data engineer 🐧
1 119
4
Обзор первичного скрининга с Ozon tech Этапы отбора: hr->тех скрининг->основной тех собес->собес с руководителем Блок Python Какие типы данных существуют в Питоне? Чем отличается set от списка (list)? За какое время идет поиск в списке? (Например, если мы поищем число 5 в списке чисел) Почему поиск во множестве работает быстрее? Как там поиск проводится из-под капота? Задача 1 Необходимо написать функцию с переменным количеством аргументов (*args и kwargs). Приведи пример работы — что она может в себя «съесть»? Если я хочу добавить в kwargs именованные аргументы при вызове, как это записать? Какие типы данных представляют собой args и kwargs внутри функции, если их вывести на экран? С паттернами ООП сталкивался вообще? Можешь какие-нибудь назвать и вспомнить? Помнишь ли ты паттерн Singleton? Как это вообще работает? Если я создам глобальную переменную и буду к ней обращаться, это ведь тоже по сути один экземпляр. В чем разница между Singleton и подходом с глобальной переменной? Задача 2 Что будет результатом сравнения двух независимых экземпляров класса без переопределенных методов (a == b и a is b)? Что будет результатом сравнения двух пустых списков по значению (a == b) и по ссылке (a is b)? Блок SQL Задача 3 Посмотри на две таблицы. Сколько строк вернет соединение при использовании INNER JOIN, LEFT JOIN и CROSS JOIN? Задача 4 Дана таблица my_numbers. Как написать запрос, который найдет максимальное число, встречающееся строго в 1 экземпляре? (Если таких чисел нет, нужно вывести NULL) Блок Apache Spark Со Спарком работал вообще? Если внутри Spark-джобы шаг с джоином двух табличек идет неадекватно долго, как вообще это продебажить и какие типовые проблемы могли привести к этому? Почему Spark может выбрать SortMergeJoin вместо Broadcast Join? Из двух таблиц какую лучше выбрать для бродкаста? Как определить, какую именно забродкастить? Блок Apache Airflow В Airflow работал? Что такое DAG? Допустим, я взял и определил в DAG две таски a и b и завязал их друг на друга (создал ручной цикл). Что будет? Расскажи о параметрах, которые мы передаем DAG'у, когда создаем и объявляем его в коде. Допустим, мы указали start_date завтрашним числом (например, 16 июля), а schedule_interval поставили на 10:00 утра. Когда первый раз запустится DAG? Когда будет первое исполнение? Что такое операторы в Airflow и как они работают? Какие у них есть параметры? Блок Apache Kafka В Кафке есть такие понятия как «топик» и «партиция». В чем вообще разница? Соблюдается ли First In First Out (FIFO) на уровне топика или только на уровне партиции? Если мы отправляем сообщения в топик с несколькими партициями, как определяется, в какую именно партицию попадет message? Зачем нужна логика распределения сообщений по ключам? Допустим, я хочу реализовать отправку сообщений без ключей. Как ты будешь раскидывать сообщения, чтобы нагрузка была примерно равномерной? Что означает алгоритм Round Robin? Если бы ты сам реализовывал распределение без использования Round Robin, каким еще простым способом ты бы раскидывал сообщения, чтобы было примерно равномерно? Итог: Отказ на последнем этапе, там задушили техническими тонкостями по спарку ————————— Скрининг ozon потнее чем все собесы в сбере 🍴 it пингвин | data engineer 🐧 #собеседование #менти
1 118
5
5 октября начнется 19-й поток программы Data Engineer от Newprolab Программа для junior- и middle-дата-инженеров, аналитиков,
5 октября начнется 19-й поток программы Data Engineer от Newprolab Программа для junior- и middle-дата-инженеров, аналитиков, backend-разработчиков, техлидов и тех, кто работает с data-командами и хочет лучше понимать современный стек DE 📌 Что внутри: – 10 недель обучения – 30 занятий: онлайн + записи – 10 практических лабораторных работ – облачный кластер и реальные данные – чат участников и поддержка команды программы 📌 Что получите на выходе: 1. Научитесь решать типовые задачи DE на практике 2. Систематизируете знания и закроете пробелы в современном DE-стеке 3. Поработаете с реальными данными и инфраструктурой, а не только с учебными примерами 4. Соберете практический опыт, который можно обсуждать на собеседованиях и использовать в работе 5. Все записи и материалы останутся у вас после окончания программы Преподаватели – практикующие специалисты из ведущих технологических компаний. На занятиях можно разбирать реальные кейсы, задавать вопросы и получать обратную связь 👉 Подробности и квиз – на сайте Квиз покажет, насколько программа подходит именно под вашу роль и задачи, даст персональные рекомендации и промокод на скидку По всем вопросам пишите Алексею @snitsa ___ Кстати напоминаю, в прошлом году я сам проходил данный курс. Все лабы сделал и получил диплом. И делал серию постов с подробным обзором курса - рекомендую изучить 🤝
1 027
6
Обзор собеседования с ВТБ Формат работы: офис Зп: от 250к Период собеседования: август 2026 Итог собеседования: прошел в след этап, оффер не принял Данные и опыт Можете подробнее рассказать о себе, релевантном опыте, последнем месте работы, задачах, результатах и зоне ответственности? При помощи чего автоматизировали загрузки? Какой минимальный интервал возможен между запусками задач в Airflow? Утоняющие вопросы по рассказу об опыте Вы агрегировали проверки или сами разрабатывали их? Как определяли, что запись является ошибочной? Какой скрипт или проверку использовали? В чём заключалась оптимизация скриптов? Что использовали и почему? По проводкам: требования и типы проводок вам задавали или вы самостоятельно разбирались в источниках? Что такое перекос данных? Что такое spill (спилл) данных? Много вопросов по коду на экране (такого формата): 1) Найти всех клиентов, у которых нет кредитов (несколькими способами) -- clients | client_id | client_name | |-----------|-------------| | 1 | Анна | | 2 | Борис | | 3 | Вера | -- credits | credit_id | client_id | status | |-----------|-----------|--------| | 101 | 1 | OPEN | | 102 | 1 | CLOSED | | 103 | 3 | OPEN | 2) Какой запрос написать для преобразования? -- source_data | id | key | value | |----|------|-------------| | 1 | fio | Иван Иванов | | 1 | city | Москва | | 2 | fio | Анна Петрова| | 2 | city | Казань | -- нужно получить | id | fio | city | |----|--------------|--------| | 1 | Иван Иванов | Москва | | 2 | Анна Петрова | Казань | 3) Что выведет код? a = "2" b = "6" a,b = b,a print(a, '-' , b) values = (9, 11, 96, 130) result = tuple(filter(lambda x: x % 2 == 0, values)) print(result) value = "1234" result = sum(map(int, value)) print(result) values = [1, 2, 5, 2, 5, 5, 3] result = max(set(values), key=values.count) print(result) items = [[1, 2], [3]] items[1].append(4) print(items) it пингвин | data engineer 🐧 #собеседование #менти
1 370
7
Из аналитика в DE - реально? 🐧 Регулярно в дата-комьюнити вижу вопрос: «А как вообще перейти из аналитики в дата-инженерию?»
Из аналитика в DE - реально? 🐧 Регулярно в дата-комьюнити вижу вопрос: «А как вообще перейти из аналитики в дата-инженерию?» Логично, что спрашивают это ребята, которые уперлись в потолок аналитики, или в какой-то момент они просто захотели понять, почему в дашборде вчера было 10 млн строк, а сегодня 8 млн. И тут они выходят на рынок инженеров данных, смотрят требования к стеку: SQL — понятно. Python — ну ладно. Airflow — где-то видел. Kafka — слышал. Spark — ну это уже серьёзно. Kubernetes — закрываем вакансию 💀 А если открыть ещё несколько вакансий, то можно обнаружить, что для позиции junior DE желательно иметь лет 5 опыта, знать 14 технологий и желательно быть лично знакомым с создателем Hadoop. Но если отбросить вакансии-мутанты, то переход из аналитики в DE вполне логичный и на самом деле - не сложный. Ты уже умеешь работать с данными, SQL и понимаешь, зачем вообще бизнесу эти данные нужны. Остаётся разобраться с тем, что происходит ДО того, как данные попадают к тебе в запрос.ETL, пайплайны, хранилища, оркестрация, Spark и вот это всё. И вот тут недавно посмотрел, что ребята из Симулейтива сделали с новым буткемпом «Инженер данных». Мне понравилось, что они не пытаются запихнуть человека сразу в весь зоопарк технологий. Курс разбит на два этапа. Первые 10 недель — база и уровень junior. Дальше — более глубокое погружение в инструменты и движение к middle. Внутри: ➖SQL и Python ➖пайплайны и ETL ➖хранение и обработка данных ➖DWH ➖практика ➖живые занятия с ментором ➖подготовка к собесам ➖AI-инструменты Плюс будут гостевые лекции от практикующих DE из Яндекса, Т-Банка, Авито, Сбера и Ozon. И вот подготовка к собесам с первых недель — это, на мой взгляд, довольно полезная штука. Вообще, когда рядом есть структура, дедлайны и человек, которому можно задать вопрос, шанс не застрять в бесконечной подготовке немного выше, а когда в конце получаешь диплом о профпереподготовке, то вдвойне приятно! Сейчас у Симулейтив ещё и гранты на обучение + гарантия трудоустройства для студентов, а на новый поток осталось 5 мест, заявку можно оставить до завтра включительно. Так что если вы аналитик, который уже полгода говорит: «Вот закончу текущий проект и начну изучать DE» — возможно, этот пост - ваш знак 🐧 🔗 ЗАБРОНИРОВАТЬ МЕСТО
1 088
8
В продолжение поста о токсичном собесе Мне в личку написал подписчик и тоже рассказал забавную историю об этом деде из ИНГ Ба
В продолжение поста о токсичном собесе Мне в личку написал подписчик и тоже рассказал забавную историю об этом деде из ИНГ Банка " Так вот, про Евразийский инг банк я тоже писал тру стори. И вы не представляете, насколько наши истории похожи)) : Мне написал рекрутер из Евразийского банка. Общение происходило исключительно по телефону и почте. Мне скинули вакансию на почту в формате doc. В письме также было указано, что, если сообщение адресовано не мне - немедленно удалить. Содержимое никому не передавать (ага, щас). Искали (возможно ищут) человека, который будет делать им внутреннюю bi систему. Для этого им очень нужен дата инженер. Нужно знать Postgres, уметь писать ETL скрипты, возможно отрисовывать виджеты. Пообщался по телефону с hr, позвала на тех собес. ВОТ ТУТ КРИНЖ И ПОЛИЛСЯ. Я пришел раньше всех (советую так делать), потом подключился некий гражданин без камеры. Никнейм был такой: "CTO EA (German)" (Запомните, если в конфе увидите - отключайтесь) Я, по простоте своей душевной, говорю: "Привет, как тебя зовут, к сожалению, не вижу имени". Отвечает суровый голос (без ответного привет): "Герман, там же написано..." Только тогда до меня дошло, что German это не немец, это имя человека... Потом включается камера - и до меня доходит, что привет было неуместно, ему лет 70 бля... Дальше подключается hr, говорю про опыт, с чем работал. Немец кивает, угукает. В конце говорит: "Ладно, это все понятно. А что в Postgres происходит на уровне файлов, когда ты команду INSERT выполняешь?" Если вы не ответили на вопрос - добро пожаловать в клуб. Не переживайте - этот вопрос вы больше никогда не услышите. После моего невнятного ответа старый немец сказал: "Ну теперь точно все понятно, думаю, можно заканчивать" " ——— Так что будьте готовы. Если к вам на собес подключается 70-летний CTO German, то будет очень весело 💀 И на всякий случай: А что в Postgres происходит на уровне файлов, когда ты команду INSERT выполняешь? PostgreSQL не пишет строку сразу напрямую в файл таблицы. Он находит страницу с местом, добавляет туда новую версию строки с xmin текущей транзакции и меняет страницу в shared_buffers. Если есть индексы, их страницы тоже обновляются. Одновременно изменение записывается в WAL. При COMMIT на диск сначала сбрасывается WAL, а изменённые страницы таблицы и индексов могут попасть в файлы позже - через background writer или checkpoint. Если сервер упадёт раньше, PostgreSQL восстановит изменения из WAL. it пингвин | data engineer 🐧
1 612
9
Чет у нас кодекс отвалился, а как работать теперь?..🍴 https://status.openai.com/
Чет у нас кодекс отвалился, а как работать теперь?..🍴 https://status.openai.com/
1 316
10
Обзор токсичного собеседования с ИНГ Банк Формат работы: офис Зп: от 200к Период собеседования: август 2026 Вопросы: 1. Расскажи про опыт 2. Напиши даг для чтения файлика из api и загрузки его на диск 3. Знаешь CI/CD? 4. Оцени навыки владения постгресом 5. Как создать новую ветку в гите 6. Как подключиться к виртуальной среде с помощью консоли 7. Что происходит в постгресе при INSERT 8. Отличие HDFS от S3 9. Как развернуть постгрес Итог собеседования: "Очень токсичный собес был, собеседующий мужик лет 60 на все вздыхал и говорил "понятно". После вопроса как подключиться к виртуальной среде сказал, тяжело вам будет у нас, до свидания. Это был самый странный и токсичный собес в моей жизни, который продлился 10 минут" it пингвин | data engineer 🐧 #собеседование #менти
1 394
11
26 сентября — Data Driven 2026 от Яндекса, и в этом году конференции 10 лет Для дата-инженеров тема прямо в яблочко: AI-first-аналитика и то, как AI-инструменты и AI-ready-данные меняют инфраструктуру, с которой мы работаем каждый день. Кого обязательно слушать: — Роман Халкечев (CDO Поисковых сервисов и ИИ Яндекса) — расскажет о том, как AI переписывает правила игры при работе с данными, меняет способ принятия решений в компании и трансформирует профессии аналитика и дата инженера; — Олег Хомюк (CDO Яндекс Поиска) — как объективно измерить качество AI-агентов и инфраструктуры AI-ready-данных; — Артём Солоухин — покажет MARS, первую мультиагентную рабочую среду в Яндексе; — Максим Стаценко — инструкция, как собрать агента-аналитика, которому можно доверять. Плюс стенды с экспертами команд Яндекса, нетворкинг и афтерпати в честь 10-летия — с музыкой и IT stand-up от аналитиков вечером. Москва + онлайн, 26 сентября🐧 Мест офлайн немного, торопитесь зарегистрироваться по ссылке Новости конференции
1 399
12
Обзор собеседования со СБЕР Формат работы: офис Зп: от 200к Период собеседования: август 2026 Итог собеседования: прошел в след этап Собес длился 15 минут. Новая команда, которая будет собирать витринки по таблицам из ядра и тянуть данные из источников. Вопросы: 1. По опыту 2. Приходилось ли оптимизировать витрины, что делал 3. Что такое нормализация 4. Что такое денормализация 5. Где встречаются денормализованные таблицы 6. Расскажи какой-нибудь кейс сложной задачи с работы 7. Что такое партиционирование 8. Что такое кластеризация 9. Какие знаешь виды ключей 10. На что смотришь при выборе составного ключа 11. Удалось ли поработать с суррогатными ключами ————- Вот это потный собес 😮‍💨😌..) it пингвин | data engineer 🐧 #собеседование #менти
1 372
13
Обзор BootCamp для Data Engineer Подходит к завершению 7-ой поток Буткемпа от Жени и Вовы. К сожалению я не успел полностью п
Обзор BootCamp для Data Engineer Подходит к завершению 7-ой поток Буткемпа от Жени и Вовы. К сожалению я не успел полностью пройти буткем, сделать все задания и пет проект. Я занимался переездом и были некоторые карьерные изменения (о них расскажу потом). Поэтому расскажу немного поверхностные впечатления. Что мне понравилось: Хорошая подача материала. Это у ребят не отнять - лекции максимально понятные. Рассказывают суть технологий, что и как устроено в реальности в компаниях, приводят примеры, на экране тоже постоянно что-то стримят показывают. Я думаю многие видели видосы Жени по Спарку и по DE. Разборы вопросов по гринпламу, клик, оптимизация от Вовы. Вот лекции в буткемпе в таком же стиле. Записи конечно сохраняются. Я смотрел в записи, на прямом эфире ни разу не был. Лекции Сам материал опять же понятно написан, не сгенерирован весь нейронкой (вроде бы). Упор сделан больше на понимание и объяснения базовой информации. Какие-то тонкости и сеньорные глубокие вопросы особо не разбираются, хотя мне было б интересно это почитать. Инфраструктура Прикрепил скрин с инфрой. Со всем можно работать из браузера. Ничего поднимать/настраивать не нужно. Удобно Пет проект и задачи У вас есть джира с тасками, потихоньку делаете задачи и выполняете пет проект. У пет проекта тоже есть несколько уровней - базовый легкий и посложнее. Базовый выглядит так: Прочитать файл из S3 -> Прочитать данные через Spark -> Привести типы колонок и добавить технические поля: -> Создать реплицируемую и распределённую таблицу в ClickHouse -> Загрузить данные в ClickHouse -> Все это упаковать в DAG Airflow. Задачи несложные, для кого-то это плюс, для кого-то минус. Карьерные консультации и собесы Ребята рассказывают как делать резюме и разбирают резюме учеников. Проводят собесы с желающими в прямом эфире. Это 100% полезно, но недостаточно для трудоустройства. Поддержка в чате и Дружеский вайб Конечно есть отдельный чатик. Я кстати думал будет гораздо больше сообщений и флуда. Но в основном общение только по делу. Ребята оперативно отвечают на вопросы и у них есть помощник. Цена Я не знал сколько стоил буткемп, мне дали доступ к буткемпу, чтоб я протестил его. Цену спросил совсем недавно и был удивлен)) 60к. Я думал он стоит около 100к Минусы Сразу скажу, что в целом цена перекрывает минусы. 60к это не дорого относительно других курсов. Здесь просто упор сделан больше, чтоб научить новичков/перекатышей/джунов. Им буткемп полезен, как по мне. Мидлам DE, сеньорам буткемп будет не так полезен. Только если кто-то хочет сменить, расширить стэк, лень заморачиваться с инфрой, хочет пообщаться с ребятами и позадавать вопросы - то тоже ок. Я с ребятами общаюсь и знаю, что они серьезно относятся к делу. В общем, пингвин одобряет BootCamp для Data Engineer👍 it пингвин | data engineer 🐧
3 842
14
Собес VS Robotics (ООО АБТ) (дочка сбера) Вопросы: 1. Гринплам что такое, в чем суть МПП систем 2. Из чего состоит Гринплам 3. Дистрибуция что это, какие типы есть в ГП, как определить что таблицы дистрибуцирована нормально 4. Партиционирование что это 5. Проблемы дефолт партиции 6. Что будет если нет дефолт партиции и партиции для загружаемой даты 7. Таблицы дистрибуцированы по разным ключам, как избежать редистрибьют моушена 8. Оконки какие знаешь 9. LEAD LAG взаимозаменяемы? 10. Знаешь pgpl/sql 11. Кимбалл и Инмом, какая разница? 12. Какие типы данных полей знаешь, с какими работал 13. Как извлечь дату, время, месяц из поля с датой 14. Масштабирование в гп 15. Субпартиции что это 16. Как добавить настоящее время в ГП 17. Что такое SCD, какие типы знаешь 18. SCD 2, какие поля надо добавить Задача: Таблица с полями: фио, департамент_id, зарплата Нужно с помощью оконок вывести среднюю зп по департаменту и ранг по зп (самая маленькая зп - 1 в разрезе департаментов) Решение: просто avg(salary) over, rank() over() Итог собеса: согласился на оффер в сбер в другую команду. ————- Накопилось много обзоров собесов (особенно сбера 🍴). Поставьте огонечки 🔥 если интересны обзоры it пингвин | data engineer 🐧 #собеседование #менти
1 478
15
Что такое Lakehouse? Название Lakehouse сложилось из Data Lake и Data Warehouse. Идея в том, чтобы хранить данные как в Data
Что такое Lakehouse? Название Lakehouse сложилось из Data Lake и Data Warehouse. Идея в том, чтобы хранить данные как в Data Lake, но работать с ними почти как в DWH. В классическом DWH данные загружаются внутрь СУБД, например Greenplum. Она отвечает за хранение, SQL, транзакции и управление таблицами. Это удобно, но хранение и вычисления связаны с одним кластером. При росте данных приходится расширять весь кластер, даже когда дополнительная вычислительная мощность не нужна. Data Lake устроен иначе. Данные лежат в S3 в открытых форматах вроде Parquet. Хранилище масштабируется отдельно, а одни файлы могут использовать разные инструменты. Но просто сложить Parquet-файлы в S3 недостаточно. Если одна джоба перезаписывает таблицу, другая может прочитать её в середине загрузки. Также нужно хранить схему, отслеживать версии и понимать, какие файлы относятся к текущему состоянию таблицы. Lakehouse добавляет этот недостающий слой управления. Из чего он состоит? 1. Объектное хранилище S3, MinIO или другой storage хранит файлы с данными. 2. Табличный формат Iceberg, Delta Lake или Hudi управляет схемой, версиями и изменениями файлов. Этот слой даёт транзакции, конкурентную запись, time travel и rollback. 3. Каталог Хранит информацию о таблицах и указывает движкам, где находятся их актуальные метаданные. В этой роли могут использоваться Hive Metastore, AWS Glue, Nessie или Iceberg REST Catalog. 4. Вычислительные движки Spark выполняет обработку, Trino запускает SQL-запросы, Flink работает с потоками. Все они могут обращаться к одним таблицам. Зачем отделять хранение от вычислений? Объём данных растёт постоянно, а нагрузка меняется. Ночью может работать тяжёлый ETL, днём выполняются короткие запросы, а часть истории месяцами просто хранится. Если storage и compute масштабируются отдельно, не нужно держать большой вычислительный кластер только ради хранения. Ресурсы можно добавлять под конкретную нагрузку. Также не обязательно создавать отдельную копию данных для Spark, вторую для SQL и третью для ML. Разные инструменты могут работать с общей таблицей. Когда Lakehouse действительно нужен? Не каждой компании нужен Lakehouse. Если данных немного, ими занимается одна команда, а аналитика помещается в одной СУБД, Lakehouse может только добавить сложности. Польза становится заметна, когда данных действительно много, с ними работают разные команды, а внутри компании есть несколько типов нагрузки и форматов данных. Одной команде нужен SQL и BI, другой - Spark, третьей - машинное обучение, четвёртой - потоковая обработка. Хранить для каждой команды отдельную копию данных становится дорого и неудобно. Lakehouse позволяет держать исходные и подготовленные данные в одном хранилище, а разным инструментам - работать с ними через общий слой таблиц. Но компания должна быть достаточно зрелой. Нужны единые правила работы с данными, владельцы таблиц, каталог, разграничение доступа, контроль качества и команда, которая поддерживает платформу. Без этого вместо Lakehouse легко получить большое S3-хранилище, в котором никто не понимает, кому принадлежат данные и можно ли им доверять. Почему это стало возможным именно сейчас? Хранить файлы отдельно умели и раньше. Но старым Data Lake не хватало управления таблицами, а работа с файлами уступала DWH по удобству и надёжности. Затем объектные хранилища стали обычной частью data-платформ. Появились Iceberg, Delta и Hudi, развились каталоги, а движки научились работать с этими форматами. А что с DWH? Lakehouse не обязательно заменяет DWH. Современные облачные DWH тоже разделяют хранение и вычисления, поэтому граница между подходами размывается. Для стабильной BI-нагрузки готовая СУБД часто проще. Lakehouse полезен, когда данных много и они нужны разным командам и инструментам. Если коротко, Lakehouse - это Data Lake, которому добавили управление таблицами и часть возможностей DWH. Но оправдан он обычно тогда, когда масштабы и зрелость компании требуют собственной data-платформы. ———— Как же нейронки стали хорошо генерить картиночки)) it пингвин | data engineer 🐧
1 433
16
⚡️⚡️Архитектура доступа к данным меняется. Что дальше? Когда мы рисуем архитектуру платформы данных, между приложением и базо
⚡️⚡️Архитектура доступа к данным меняется. Что дальше? Когда мы рисуем архитектуру платформы данных, между приложением и базой обычно остается одна стрелка. Но именно внутри нее скрывается отдельный архитектурный слой, который влияет на производительность, совместимость и то, как данные в итоге попадают к пользователю. Сегодня рядом с привычными JDBC и ODBC появляются Apache Arrow, ADBC, Flight SQL, Spark Connect и нативные HTTP-протоколы движков. На SmartData 2026 Петр Гуринов (Yandex Cloud) разберет, что происходит между запросом и результатом, почему старые интерфейсы пока не уходят, где новые подходы действительно помогают и какие компромиссы приходится учитывать при выборе технологии. Если вы проектируете платформы данных, работаете с аналитическими системами или BI-инструментами, этот доклад поможет лучше понять архитектуру доступа к данным и осознаннее выбирать инструменты под свои задачи. 🗓SmartData 2026 пройдет 23–24 сентября (Москва + онлайн). 🐧Купить персональный билет со скидкой 15% по промокоду DATAPENGUIN и ознакомиться с полной программой можно на сайте конференции.
1 254
17
Мошенники под видом рекрутеров Ребят, аккуратнее с тестовыми заданиями от незнакомых рекрутеров. Сейчас мошенники могут предс
Мошенники под видом рекрутеров Ребят, аккуратнее с тестовыми заданиями от незнакомых рекрутеров. Сейчас мошенники могут представиться рекрутером и прислать вредоносный код под видом тестового задания. Это может быть ссылка на репозиторий или архив с проектом. Задача будет выглядеть вполне обычно: установить зависимости, запустить приложение и что-нибудь в нём поправить. Но вместе с проектом можно запустить вредоносный код. Схема такая: Вам пишет якобы рекрутер, немного общается про опыт и предлагает хорошую вакансию. Потом присылает тестовое и просит запустить его на своём компьютере. В одном из таких заданий нашли скрытый импорт вредоносного npm-пакета. Код был обфусцирован (специально запутан, чтобы его было сложно прочитать). После запуска он скачивал ещё один файл и запускал его отдельным процессом в фоне. При этом ошибки игнорировались. Для кандидата проект мог просто не запуститься. Можно решить, что в тестовом что-то сломано, закрыть его и забыть. А вредоносный процесс уже работает. Что он искал? - данные браузеров Chrome, Edge и Brave; - токены и сохранённые сессии; - данные браузерных расширений; - файлы криптокошельков; - сохранённые пароли и другие учётные данные. На компьютере разработчика обычно лежит ещё много интересного: SSH-ключи, файлы .env, токены доступа к репозиториям, облакам и рабочей инфраструктуре. И для этого не обязательно запускать какой-то подозрительный exe-файл. Вредоносный код может выполниться во время обычного npm install через install-скрипты пакета. Что стоит проверить перед запуском? 1. Кто прислал тестовое Посмотрите аккаунт рекрутера, сайт компании и саму вакансию. Лучше отдельно найти контакты компании и проверить, действительно ли у них есть такой сотрудник и вакансия. 2. Зависимости Иногда вредоносный пакет маскируют под популярный. Например, пакет crossenv маскировался под настоящий cross-env. Отличие только в одном дефисе, который легко не заметить. Поэтому стоит посмотреть package.json и проверить незнакомые зависимости. 3. Скрипты запуска В обычном тестовом не должно быть кода, который скачивает неизвестные файлы, запускает PowerShell или отдельные процессы через child_process, spawn и exec. А если рядом лежит огромный обфусцированный JavaScript, который невозможно нормально прочитать, такое тестовое лучше вообще не запускать. 4. Где запускается проект Не стоит запускать неизвестное тестовое на рабочем компьютере или основном ноутбуке. Лучше использовать отдельную виртуальную машину без общих папок, паролей, ключей и рабочих доступов. Docker тоже не всегда спасает. Если внутрь контейнера передали папки с компьютера, переменные окружения или Docker socket, доступ к данным всё ещё можно получить. В последнее время всё чаще слышу про подобные истории. Будьте внимательны и смотрите, что вам присылают. Даже если это обычное тестовое задание от рекрутера. ———— Вам такие тестовые попадались? Я бы сейчас тестовые или вообще не делал. Или делал после реального собеседования и только тестовое в виде текстового файлика/ворда/просто сообщение (конечно, если очень хочется в этом месте работать). it пингвин | data engineer 🐧
1 331
18
Коллеги, если сейчас ищете работу или готовитесь к переходу в Data Engineering, рекомендую канал @dataengineerlab В канале много полезного для подготовки: — разборы Spark, Airflow, Kafka, Iceberg, Greenplum и других инструментов — актуальные вопросы с собеседований в бигтех — советы по резюме и прохождению интервью Рекомендую заглянуть и подписаться — точно найдете что-то полезное для подготовки: 👉 @dataengineerlab
953
19
Apache Iceberg - зачем он нужен? Iceberg всё чаще встречается в вакансиях и архитектуре. Что это: база данных, альтернатива P
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 🐧
1 465
20
Обзор собеседования с Лемана Про Формат работы: Гибрид Зп: от 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 🐧 #собеседование #менти
1 521