Собеседование на Дата Инженера Middle+ на 350к
Евгений Виндюков
0:00 / 0:00
Собеседование на Дата Инженера Middle+ на 350к
2 987 просмотров · 1 дн. назад
Евгений Виндюков
4,21 тыс. подписчиков
2 987 просмотров · 1 дн. назад
Напиши нашему тг боту команду /livecoding350 и получи задачи с собеседования:
https://s.salebot.pro/07a7864a2e3fef8...
Записывайся на BootCamp Ноябрь 2026 в нашем боте:
https://s.salebot.pro/07a7864a2e3fef8...
Таймкоды:
00:00 Вступление: собеседование, Spark, Python, декораторы и live coding
01:21 Хэширование в Python: зачем ключ словаря должен быть hashable
03:51 HashMap: как словарь быстро находит значения
05:14 Коллизии в hash map и способы их разрешения
07:04 Как Python понимает, какой объект лежит по ключу
08:03 Копирование словарей: ссылка, copy и deepcopy
10:18 Декораторы в Python: зачем использовал в PySpark
12:12 Декораторы с параметрами и вложенные функции
14:03 classmethod, staticmethod, property и _call_
16:21 Зачем писать ООП-код в Python
18:42 CI/CD, тесты и зачем они нужны дата-инженеру
21:02 Как тестировать Spark-код и расчёты на датафреймах
22:31 Подход к разработке Spark-расчёта: источники, партиции, метаданные
24:18 SCD: Slowly Changing Dimensions и типы историчности
26:06 Как хранить историю изменений в таблицах
28:13 Append, load date, business date и актуальные записи
30:02 Обновления из источника и сверка с историческими данными
32:00 Историчность, если источник не даёт статусы и даты обновления
34:11 Snapshot-подход и загрузка периодов данных
36:00 Когда SCD становится дорогим по ресурсам
38:19 Уровень владения Spark и опыт со сложными пайплайнами
39:10 Spark UI: Jobs, Stages, Executors, SQL/DataFrame
40:04 Task, Stage, shuffle и перемешивание данных
42:13 DAG, оптимизации Spark и повторное использование вычислений
43:36 Retry task/stage и ошибки записи во внешние системы
46:00 Что пересчитывается при падении executor'а
48:03 Как Spark использует диск без явного cache
50:15 Shuffle spill: почему Spark пишет промежуточные данные на диск
52:03 Cache vs Persist и storage levels
52:45 Checkpoint: зачем резать длинный DAG
54:37 Переход к ClickHouse: опыт и задачи
56:05 TTL, индексы и сортировка в ClickHouse
58:30 ORDER BY, primary key и sparse index в ClickHouse
59:17 Шардированный ClickHouse и distributed-таблицы
01:00:00 Завершение технической части
Полезные ссылки:
Telegram канал: https://t.me/halltape_data
Roadmap для Data Engineer: https://s.salebot.pro/07a7864a2e3fef8...
Twitch канал: / halltape
GitHub: https://github.com/halltape
Канал с подкастами: / @beyond_the_code
Канал с подкастами: / @beyond_the_code