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

Написать мне: @aylin_gee
Download Telegram
У людей есть ложное мнение, что дата-инженер с каналом = крутой дата-инженер.

Учитывая, что вы активно покупаете учебные материалы и менторство, вот на что я лично бы обратила внимание:

🩵 человек открыто говорит о своем карьерном пути

🩵 в резюме компании и/или учебные организации с высоким порогом входа(например указан шад, работа в каком-нибудь констракторе, интересные проекты)

🩵 был или есть карьерный рост внутри одной организации (расти внутри намного сложнее, чем апать грейд сменой работы)

🩵 у вас есть позитивные отзывы от знакомых о продукте/менторстве

🩵 у вас схожий карьерный путь. Например, вы оба сменили работу, вы начинали карьеру в схожих компаниях, вам просто близок человек по вайбу и ценностям(этот пункт относится именно к менторству)

все это, конечно, не гарантирует успех, но как по мне увеличивает его вероятность
Please open Telegram to view this post
VIEW IN TELEGRAM
1412
я junior cdo тогда🤡
Please open Telegram to view this post
VIEW IN TELEGRAM
😁2832
Я: никаких собесов в отпуске
Мои личные сообщения:
1072😁2
Вопросы на позицию инженера данных в Gamedev
(вопросы от подписчика, название компании попросили не называть)

Оффер дали на 200к

🤍 Как бы ты защитился от дублей и ошибок при миграции данных?
🤍 Что выберешь для переноса данных — батчи или стрим? Почему?
🤍 С чего начнёшь разбираться, если при миграции данных возникла ошибка?
🤍 К кому обратишься за помощью, если сам не нашёл причину ошибки при миграции?

🤍 Какие тесты будешь использовать при миграции: синхронные или асинхронные? Почему?
🤍 Как проверишь, что все данные корректно и полностью перенеслись?
🤍 В какой среде запускать такие тесты — тестовой или на проде?

🤍 Какую базу данных выберешь для проекта на старте и почему?
🤍 На что будешь смотреть при выборе между разными СУБД?
🤍 Если пришёл алерт о проблеме с репликацией данных — какие твои первые шаги?
🤍 Что может быть причиной проблем с репликацией?
🤍 Как можно заранее уменьшить риск таких проблем с репликацией?

🤍 Зачем нужна гранулярность в ClickHouse и как она влияет на производительность?
🤍 Что считаешь слабыми местами Greenplum, где у него могут быть узкие места?
🤍 В каких ситуациях Greenplum масштабируется плохо?

#de_собеседование
Please open Telegram to view this post
VIEW IN TELEGRAM
178
Задача с этого собеседования
Дана таблица:

Products table:
+------------+-----------+-------------+
| product_id | new_price | change_date |
+------------+-----------+-------------+
| 1 | 20 | 2019-08-14 |
| 2 | 50 | 2019-08-14 |
| 1 | 30 | 2019-08-15 |
| 1 | 35 | 2019-08-16 |
| 2 | 65 | 2019-08-17 |
| 3 | 20 | 2019-08-18 |
+------------+-----------+-------------+


Изначальная цена всех товаров — 10.
Необходимо написать SQL-запрос, который определяет цену каждого товара на дату 2019-08-16.

📌напоминаю ставить админке сердечки!!! 😶
#de_тестовое_livecoding
Please open Telegram to view this post
VIEW IN TELEGRAM
427
УРА нас уже тысяча! 😳

Привет, друзья! Не думал, что канал будет расти так быстро.

Спасибо вам за внимание и проявленный интерес❤️

В последнее время реже делаю посты. Дел становится больше, а часов в сутках нет 😞 Теперь все-таки понимаю, что вести блог это тоже очень трудозатратно. Буду повышать активность🤝

Сделал подборку интересных постов:

Теория и задачи для (jun/mid/sen)
Отличие Where и Having
Вопросы про джоины
Популярные вопросы с собесов (lvl junior)
Задачка на джоины
Стандартизация SQL
Задача на схлопывание строк и решение
Задача из банка и решение
Как удалить дубли из таблицы?
Задачка про оценки
Задачи с собесов
Задача Альфа-банка и решение
Статья по индексам и партициям
Оптимизация SQL запросов
Транзакции и ACID

Обзоры собеседования:
Собеседование на senior DWH разработчик
Собеседование в Газпромбанк
Долгожданные загадки с собеса на 325к

Различные обучающие материалы:
Презентации по BigData
Ссылки с бесплатным материалом
Темки с бесплатным обучением 😁

Истории:
• Забавные - первая задача в компании
• Грустные - буллинг от руководителя

Разное:
Обо мне
Думай и богатей
За платное обучение или против
Поймал дизмораль
Интересная табличка
Если во всех профессиях платили бы одинаково
МыслиВслух
Испытательный срок пройден
Английский язык

Можете написать какие темы для вас более интересные (задачки, собесы, теория и тд). И если у вас есть какие-то пожелания или идеи для постов - тоже пишите ⬇️

Также можете забустить канал 😎

Всем еще раз спасибо 😊❤️

it пингвин | data engineer 🐧
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1032😁1
готовиться к собесу:

смотреть таро прогноз от подруги на итог тех собеса:
17146🔥2
Вижу в последнее время много постов про английский и IT.
Вот несколько советов, как выучить язык дешево и быстро от экс училки английского(я репедала с 15 лет):

🍋‍🟩 найдите себе преподавателя на Профи.ру

Люди очень недооценивают этот прекрасный сайт. Однажды я нашла там за 500 рублей/час преподавателя вышмата с Phd в Оксфорде (я проверила - степень реальная) и 5 преподавателей немецкого.
Вашим идеальным преподавателем будет нынешний или вчерашний студент филфака с родным русским из маленького города России. Носителя найти дешево тоже реально, но нужен вам он только при уровне B2+.

С уровня A1.2-A2.1 преподаватель должен говорить с вами на изучаемом языке и только <= 30% процентов урока должно быть посвящено грамматике.

🤍потреблять контент теперь стоит только на английском

Начните смотреть подростковые сериалы на английском с английскими субтитрами.Главное правило при выборе - чем тупее сериал, тем лучше(например, Сплетница или Элита).
Всю проф информацию тоже ищем на английском - что бы не пришло вам в голову, это уже разобрали на ютюбе индусы индийцы.

🤍Найдите разговорный клуб(бесплатных тьма)

🤍 найдите англоговорящего парня/девушку

Тут думаю комментарии излишни, это самый действенный совет из перечисленных👍
Please open Telegram to view this post
VIEW IN TELEGRAM
16😁12
приехала вот из Москвы, успела даже встретиться с дата каналами.

Вот вы знали, что бизнес не максимальная категория такси? И что есть люди, которые исключительно ездят на премиум?
😁652
Я искренне считаю, что большинство ментальных проблем у людей связано с нехваткой денег.

В капитализме всё, что приносит нам дофамин, в той или иной мере платно.
Но, что ещё важнее, деньги это некий гарант безопасности.

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

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

О каком спокойствии и отсутствии тревоги вообще может идти речь?

Вся идея про то, что деньги не покупают вам счастье смешна. И человек, утверждающий это либо желает вам зла, либо затерялся в собственных иллюзиях.
29206
Лайвкодинг в Магнит OMNI

🤍 Задача 1

Таблица с 1 колонкой:id
---
1
2
3
4
5
NULL
NULL

-- Что вернет функция в запросе вида:
-- SELECT ... FROM table
count(*)
count(1)
count(id)
count('id')
count(NULL)

min(id)
max(id)
sum(id)
avg(id)

sum(id) OVER (ORDER BY id NULLS LAST) =

sum(id) OVER () =

🤍 Задача 2

В приложении Магнит есть много разных функций - заказ еды, покупка товаров в Маркете и т д.Есть таблица Usage, в которой хранится активное использование сервисов
(могут быть дубликаты, service_id указывает на таблицу Service).

Таблица Usage
user_id | service_id | ...
---------+------------+-----
1001 | 1 | ...
2001 | 1 |
1001 | 3 |
1001 | 3 |
...
Таблица Service (service_id - первичный ключ)
service_id | name
------------+----------
1 | Доставка
2 | Маркет
3 | Аптеки
...
Напишите запрос, который вернет список клиентов, которые пользовались всеми сервисами,
которые присутствуют в таблице Service

🤍 Задача 3

Имеем таблицу RIDE с поездками пользователей на такси ride_id | user_id | tariff | dt | cost
---------+---------+-------------+------------+------
2305001 | 1001 | econom | 2023-05-02 | 340
2305002 | 1001 | comfort | 2023-05-03 | 500
2305003 | 2001 | econom | 2023-05-01 | 120
2305004 | 2001 | econom | 2023-05-01 | 150
...
Найти всех пользователей, которые совершали поездки два (или более) дня подряд.

🤍 Задача 4

def array_intersection(a: list[int], b: list[int]) → list[int]:array_intersection([1, 2, 3], [2, 2, 5]) → [2]
array_intersection([1, 2, 2, 3], [1, 2, 2]) → [1, 2, 2]
Необходимо вернуть все пересечения листов.n(id)

#de_тестовое_livecoding
Please open Telegram to view this post
VIEW IN TELEGRAM
3654
причиной эмоционального дна оказался низкий ферритин и нехватка тусовок

лечилась в Москве и Нижнем Новгороде

завтра снова рабство по расписанию
2676🏆4
This media is not supported in your browser
VIEW IN TELEGRAM
как меняется зп Безоса и обычного работяги в реальном времени

за этот разговор Безос заработал месячную зп сеньора де из России
93😁1
SQL собес в Яндекс (была еще одна задачка - не сохранилась)

-- Дана таблица tbl со следующими данными

-- id
-- ----
-- 1
-- 2
-- 3
-- 4
-- 5
-- NULL
-- NULL

-- Что выведет каждый из запросов:

-- select ... from tbl

-- 1. count(*) =
-- 2. count(1) =
-- 3. count(id) =
-- 4. count(null) =
-- 5. min(id) =
-- 6. max(id) =
-- 7. sum(id) =
-- 8. avg(id) =


-- Есть две таблицы:
-- * groups (group_id, action_type) - группы
-- * communications (user_id, group_id, status) - отправки коммуникаций

-- При этом:
-- * action_type может быть "push" и "banner"
-- * status может быть "success" и "error"

-- Вопросы:
-- 1. Сколько групп с отправкой типа push?
-- 2. Сколько пользователей и в каких группах не получили коммуникации из-за ошибки?
-- 3. Вывести на экран тип отправок (push или banner), по которому было больше всего успешных отправок и число успешных отправок


-- Таблица issues - обращения в поддержку
-- * issue_id - идентификатор обращения
-- * created_dt - дата создания обращения
-- * tariff_name - тариф поддержки (free/paid)
-- * service_name - тема обращения (console/datalens/billing/etc.)
-- * first_response_sec - время от создания обращения до первого ответа в секундах
-- * last_response_sec - время от создания обращения до последнего ответа в секундах

-- Таблица responses - ответы на обращения в поддержку
-- * response_id - идентификатор ответа
-- * created_at - дата и время создания ответа
-- * author_id - идентификатор автора ответа
-- * issue_id - идентификатор обращения

-- 1. Какая доля тикетов была отвечена быстрее, чем за час, по дням?
-- 2. Вывести топ-10 обращений в платном тарифе, которые решались дольше всего
-- 3. Посчитать количество ответов для каждого обращения в поддержку, сколько человек из поддержки подключалось к обращению
-- 4. Посчитать отношение кол-ва обращений больше чем с одним ответом от числа всех обращений за день
-- 5. Для каждого обращения к поддержке вывести автора первого ответа на обращение
-- 6. Какие инсайты можно еще вытащить из этих данных, какие метрики можно посчитать?


Дата-инженерские заметки
#de_тестовое_livecoding

ставим сердечки, кидаем бусты🫶
4116
Все вокруг хотят, чтобы вы выиграли.

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

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

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

Список можно продолжать бесконечно, принцип применим ко всему в вашей жизни.
52