Дата-инженерские заметки – Telegram
Дата-инженерские заметки
1.47K subscribers
70 photos
18 videos
7 files
55 links
Пытаюсь выжить в корпоративных реалиях, делюсь вопросами с дата-инженерских собеседований и ссылочками для подготовки к ним

Написать мне: @aylin_gee
Download Telegram
Физические JOIN'ы 2.0

Рекомендую сначала прочесть
этот пост.

После оценки алгоритмической сложности физических джойнов можно прийти к выводу, что выбор hash join является оптимальным решением, однако это далеко не так. Как и во многом в программировании, всегда есть space–time trade-off, и выбор оптимального джойна будет зависеть от входных данных.

💡С выбором джойна в большинстве случаев достаточно хорошо справляется оптимизатор, однако бывают ситуации, когда выбором джойна придется заниматься вам.

🩷Условие соединения
Для equi-joins (равенство =, неравенство !=) и non-equi-joins (>, <, >=, <=). Для второго типа подойдет только nested loops.

💕Размер таблиц
Также, конечно, важен размер таблиц. Из-за необходимости многократно проходить по второй таблице в случае с nested loops будет велика цена I/O, в случае merge join будет дорогой сортировка, а в случае hash join может не хватить памяти для хеширования, и часть придется переносить на диск. Хешируется, кстати, меньшая таблица.

Если вы работаете с отсортированными данными, выиграет merge join, а с неотсортированными — hash join.

В случае, когда обе таблицы маленькие, эффективнее может быть nested loops, ведь с merge сортировка может вовсе не окупиться.

💓Индексы и дубликаты
В случае с неиндексированными данными лучше справятся merge и hash join, однако наличие большого количества дубликатов при выборе hash join может повлечь неправильное распределение данных и необходимость обработки коллизий.

📍У каждого джойна есть свои преимущества и ограничения, в посте перечислены лишь очевидные из них. Как было упомянуто выше, в очень редких случаях вам придется выбирать физический джойн самостоятельно, однако всё же полезно понимать их различия.

#de_обсуждение
Please open Telegram to view this post
VIEW IN TELEGRAM
12🔥5🥰3🍓1
Добавила теги для навигации на канале

#de_собеседование - вопросы с собеседований

#de_тестовое_livecoding - задачи с лайвкодинга и тестовых

#de_обсуждение - посты на популярные на собеседованиях темы
13
Есть идея сделать серию интервью с дата-инженерами из разных компаний бигтеха
Вам было бы интересно такое?
Anonymous Poll
98%
Да
2%
Нет
🔥53
🐝Костя, дата-инженер из Билайна

🟡Расскажи про свой путь в Билайн, где работал до и почему выбрал именно эту компанию?

Работал до этого в сбере дата-аналитиком. Начал проходить собеседования и Билайн предложил больше денег и удаленку. Тут все просто, я иду туда, где вижу выгоду.

🟡Какой стэк у тебя в команде и какими задачами ты занимаешься?

Стэк: scala, spark, airflow, oracle. Задачи - это обычное написание ETL для передачи данных из одних источников в другие.

🟡Из каких этапов состоял отбор и насколько показался сложным?

По количеству этапов, то их было вроде 2. Сначала с HR, после беседы с ней, она отправила мне тестовое и уже потом созвон с продактом, где немного погоняли по базовой теории SQL, python, spark. В целом собес не сложный. Самое сложно, что было во время прохождения, так это установить spark на личный ноутбук)

🟡Что нравится в компании и команде больше всего?

Нравится в компании, что они платят деньги и дают удаленку. Я не привязываюсь к командам и компаниям.

🟡Что хотелось бы улучшить?

Улучшить? Я даже не знаю. Как обычно, то это убрать говнокодеров, потому что тяжело потом разбираться в их логике.

🟡Ты порекомендовал бы другу своего работадателя?

Ну смотря что важно для моего друга. Работа не пыльная, сильно не трясут. Поделал утром что-то и можно идти развиваться. Если другу нравится прям плотно работать и создавать, то это точно не про Билайн (по крайней мере не моя команда)

📍P.S: в комментариях можете написать свои вопросы Косте, возможно он их увидит и ответит:)
Напишите также, каких вопросов вам не хватило, добавлю в следующем интервью
Please open Telegram to view this post
VIEW IN TELEGRAM
🏆8🔥65
Ярослав, Senior data engineer из Озона💙

📍Подписывайтесь на канал Ярослава

💙Каким был твой путь до Озона и почему выбрал именно этого работадателя?

Учился в школе 21, изначально хотел быть джавистом, но на собеседовании в Сбер предложили пойти к ним, на скалу в биг дату. В тот момент не было других оферов и это казалось огромной возможностью. Шёл на стажировку с мыслями что либо я пройду, либо умру. 3 месяца работал без выходных, в стиле который я приобрёл в школе, по 10-12 часов, где-то в середине заболел, но не ушёл на больничный. В итоге мне сказали что я прошёл, и через неделю меня увезли на скорой из общаги в больницу. Оглядываясь назад, можно сказать, что это было через чур. Какие-то последствия для здоровья тянутся за мной до сих пор.

После проработал в сбере ещё 10 месяцев, за это время получилось с нуля разработать новый продукт, будучи единственным разрабом на проекте, поработать на скаловом бекенде, и со спарком. Так же получилось пройти полугодовой курс по спарку, который могу рекомендовать всем DE - APACHE SPARK и SCALA ДЛЯ ДАТА-ИНЖИНИРИНГА от new pro lab. Меня были готовы повышать для мидла в сбере, и для банка это было в достаточно короткие сроки, но казалось что на рынке за мидла ДЕ могли дать куда больше.

Я вышел на рынок, прособесился в 4 компании, получил 4 офера, и выбрал Озон как лучший вариант и уже два года работаю здесь. Уже в рамках озона, прошёл путь от мидла до старшего инженера, что получилось достаточно быстро, меня повысили через 7 месяцев, после приёма на работу.

💙Из каких этапов состоял отбор и насколько показался сложным?

Отбор в озон достаточно сложен и состоял из 3 этапов, как мне казалось, я не дотягивал и шёл чтобы получить опыт проваленного собеса. Первый этап - технического скрининг, вопросы по теории, функциональное программирования, scala, DE стек. Второй этап - лайв кодинг, задачи с литкода, но не что-то зверское, примерно уровень первого собеса по алгосам в яндекс. Третий этап - интервью с руководителем направления, начальник твоего будущего босса, конкретно меня спрашивали про устройство линукса и особенности его работы.

💙Какой стэк у тебя в команде и какими задачами ты занимаешься?

Когда приходил в компанию была scala + spark, сейчас в основном java. Моя текущая команда - часть платформы данных. Конкретно мы занимаемся стримингом и являемся входными воротами в платформу данных, наш продукт позволяет пользователям самим создать интеграцию из kafka в основные корпоративные хранилища, hadoop и vertica, мы одновременно вычитываем данные из более чем 500 топиков и только входной поток данных к нам превышает 50 тб в сутки.

💙Что нравится в компании?

В целом я бы описал компанию тремя словами: масштаб, скорость, открытость. В компании действительно большие задачи, большие данные, большие технические мощности. Это связанно с размерами бизнеса. При этом он очень быстро развивается, и всё внутри настроено, чтобы этой скорости не препятствовать. Очень легко заказывать ресурсы, получать доступы, деплоить. Что удивило после банка, можно когда угодно выложить свой код на прод, главное получи апрувы от команды. При этом очень открытая горизонтальная культура, общение неформально, но дружелюбно, и главное тебе действительно, как правило, довольно быстро и по существу отвечают.

💙Ты порекомендовал бы другу своего работодателя?

Да, как минимум из-за компенсационного пакета, если прочее для человека не так важно. Достаточно высокие зарплаты, высокие премии(на моём грейде 1.5 оклада раз в пол года за самую распространённую оценку ревью), полная удалёнка. Так же хорошие возможности роста.

📍P.S: в комментариях можете написать свои вопросы Ярославу, возможно он их увидит и ответит:)
Please open Telegram to view this post
VIEW IN TELEGRAM
12🔥8👍6
❤️В Альфа банке открыта вакансия для дата-инженеров с опытом от года(python, hdfs, pyspark)

Если подходите, пишите, скину рефералку @aylin_gee💳
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍3
⭐️Задачи с sql собеса в Яндекс
🌟вторую было даже интересно решать

🟡Нужно получить топ 10 водителей по кол-ву заказов в каждом городе.
create table orders (
driver_id varchar,
city varchar,
order_id varchar
);

🟡Нужно просчитать нарастающий итог - для каждого аккаунт id на каждую дату вывести сумму транзакций по данному счету.
Нельзя использовать оконные функции

СREATE TABLE transaction_log (    
account_id BIGINT,
dt DATE,
transaction_amt DOUBLE,
CONSTRAINT transaction_id PRIMARY KEY(account_id, dt));
Please open Telegram to view this post
VIEW IN TELEGRAM
129
Моё желание сейчас добавить это в мой airflow dag ⬆️
Ссылка на документацию
Please open Telegram to view this post
VIEW IN TELEGRAM
8😁8
Дата-инженерские заметки
❤️В Альфа банке открыта вакансия для дата-инженеров с опытом от года(python, hdfs, pyspark) Если подходите, пишите, скину рефералку @aylin_gee💳
Эта вакансия закрылась(парнем из канала, кстати), но всегда есть новые

Как заберёте свои новогодние бонусы, прореферю в альфу
🔥94🏆4
Друзья, как ваши корпоративы проходят?

Пьем с коллегами?
12👍4
☃️Этот канал я создала в конце марта, чтобы делиться с друзьями и коллегами своим опытом собеседований.

Он и оставался каналом для друзей пока по рекомендации бывшего руководителя я не оставила ссылку на канал под постом схожей тематики.

Удивительно, что создавался канал в фрустрации и неуверенности в завтрашнем дне, сейчас же я ощущаю себя на своем месте и в своей команде.

Надеюсь в следующем году, каждый из нас добьется всех своих карьерных и личных целей.🎁
🧦Желаю супер крутых проектов, сильных и справедливых руководителей, повышений и огромнейших премий!❤️

⛄️С наступающим!🍭
Please open Telegram to view this post
VIEW IN TELEGRAM
3618
Мне было очень важно найти работу с полной удаленкой. Как и предполагалось, такой формат оказался не только удобным, но и очень выгодным.
Плюсы очевидны, а вот о минусах почему-то никто не говорит.

У меня в команде удаленная работа позволила коллегам уехать из Москвы, а hr'ам расширить пул кандидатов до инженеров со всей России. Большая часть моей команды не живет в Москве, поэтому приезжать в офис даже при огромном желании смысла нет.

Удаленно выстроить настолько доверительные отношения, чтобы с тобой делились уровнем зарплат коллег, рассказывали о предстоящих изменениях в командах и интересных тебе возможностях достаточно сложно.
У меня отличная команда скилловых сеньоров дата-инженеров и мне легко выстраивать хорошие отношения с коллегами и людьми в принципе. Но каким бы ты ни был коммуникабельным, в офисе это все происходит в разы быстрее.

Еще аутфиты некуда выгуливать!!🥰
Что думаете?
Please open Telegram to view this post
VIEW IN TELEGRAM
255👍2
"НИКТО НЕ БУДЕТ БРАТЬ НА РАБОТУ ГОВНОКОДЕРА"
😁19🏆53
Писала тут раньше, что рекомендовала парня в альфу. Ставку дали ему сильно выше моей.

Подумала, что оценили на грейд выше, что вполне ок.

Какого же было мое удивление, когда сегодня утром я поняла, что грейд из нас двоих выше у меня.
😭237😁3🍓3
Завтра снова на айти завод
Вы успели отдохнуть?

Мне ещё бы одну недельку
😭30😁9🍓2
кто-нибудь записался на de zoomcamp?

это такой бесплатный дата-инженерский курс с практическими заданиями

что-то будет сам Зак Вилсон вести
Чат для обсуждения
7
Создала папку дата каналов, за которыми слежу сама.

Папка получилась небольшая, так как выбирала самых лучших 🐱

В основном это каналы крутых дата-инженеров!

Подписывайтесь!❤️

Ссылочка на папку
Please open Telegram to view this post
VIEW IN TELEGRAM
87👍4
Forwarded from DataEng
The Ultimate Guide to Apache Airflow DAGs.pdf
4.5 MB
The Ultimate Guide to Apache Airflow® DAGs

E-book от ребят из Astronomer про Apache Airflow. 135 страниц концентрированной информации "без воды". Рекомендую! Заходит как справочник в самый раз 👍🏻
👍17🏆531
💋Сегодня поговорила с парнем, которого сократили в Сбере.

Аргументировали решение так: 'ты задаешь вопросы, а мы хотим видеть сотрудников, решающих задачи самостоятельно'. В пример привели одну высосанную из пальца ситуацию.

Я понимаю, что иногда наше восприятие себя не соответствует действительности, поэтому уточнила предшествовало ли этому решению что-то.

❗️Все фидбеки до были положительными, в прошлом месяце в связи с короткими дедлайнами команда работала без выходных, все задачи выполнялись им в срок.

Самое грустное в этой истории что, увидев встречу в календаре, парень рассчитывал на повышение зарплаты, думал, что оценили плотную работу в предыдущем месяце...😭

Для меня эта история - очередное напоминание, что поиск работы это процесс перманентный. Лирический герой поста, например, открыл для себя, что лайвкодинг ему даётся сложно, да и на собеседованиях он чувствует себя неуверенно.

Поэтому, друзья, ходим на собеседования, периодически запрашиваем у руководителей обратную связь, дропаем базы данных при увольнениях.🤩💵

💋 если вы дочитали до конца, забустите, пожалуйста, канал.⭐️
Please open Telegram to view this post
VIEW IN TELEGRAM
😭3321