712просмотров
75.8%от подписчиков
21 января 2026 г.
Score: 783
Обзор собеседования Продолжаем разбор собеседования в USETECH (Ч. 2). В первой части были SQL + Python задачки, их можно посмотреть тут. Во второй — теория, системное мышление и вопросы “на понимание”. SQL 1️⃣ Что такое подзапрос
Запрос внутри запроса, может быть в SELECT, WHERE или FROM. 2️⃣ Коррелированный подзапрос
Подзапрос, который ссылается на внешнюю таблицу и фактически сравнивает строку с самой собой по условию. 3️⃣ CTE (WITH)
Подзапрос, вынесенный в отдельную временную таблицу для читаемости и переиспользования. 4️⃣ UNION vs UNION ALL
UNION — убирает дубликаты
UNION ALL — просто склеивает результаты 5️⃣ INTERSECT и EXCEPT
INTERSECT — строки, которые есть в обеих таблицах
EXCEPT — строки из первой, которых нет во второй 6️⃣ Работа с NULL (COALESCE)
COALESCE заполняет NULL первым ненулевым значением из списка аргументов. 7️⃣ Работа с датами
EXTRACT / DATE_PART — получить год, месяц
CAST или :: — приведение типов 8️⃣ Оконные функции
Считают агрегаты без схлопывания строк. 9️⃣ ROW_NUMBER / RANK / DENSE_RANK
ROW_NUMBER — уникальный номер
RANK — с пропусками
DENSE_RANK — без пропусков 1️⃣0️⃣ PIVOT / UNPIVOT
Транспонирование таблицы: строки ↔️ колонки. Python / Pandas 1️⃣1️⃣ list vs tuple
list — изменяемый
tuple — неизменяемый 1️⃣2️⃣ Почему NumPy быстрее циклов
Векторизованные операции выполняются на уровне C, а не Python. 1️⃣3️⃣ Что такое векторизация
Операции сразу над массивом, а не поэлементно. 1️⃣4️⃣ Если данные не помещаются в память
Читать и обрабатывать чанками. 1️⃣5️⃣ Работа с большими файлами (chunks)
Чтение и запись по частям, без загрузки всего в память. 1️⃣6️⃣ Parquet
Колоночный формат хранения, компактный и быстрый для аналитики. 1️⃣7️⃣ loc vs iloc
loc — по меткам
iloc — по индексам 1️⃣8️⃣ Типовой пайплайн в Pandas
read → describe → чистка → трансформации → EDA → сохранение 1️⃣9️⃣ merge vs concat
merge — аналог JOIN
concat — склейка по строкам или колонкам (аналог UNION) Статистика 2️⃣0️⃣ Корреляция
Мера связи между числовыми переменными, от −1 до 1. 2️⃣1️⃣ Пирсон vs Спирмен
Пирсон — линейная связь
Спирмен — ранговая 2️⃣2️⃣ Почему корреляция ≠ причинность
Показывает связь, но не объясняет влияние. 2️⃣3️⃣ ДИ
Диапазон, в котором с заданной вероятностью лежит истинное значение параметра. 2️⃣4️⃣ Интерпретация 95% ДИ
В 95% случаев интервал накрывает истинное значение. 2️⃣5️⃣ Среднее / медиана / мода
Среднее — сумма / количество
Медиана — центральное значение
Мода — самое частое 2️⃣6️⃣ Почему медиана устойчивее
Меньше чувствительна к выбросам. БД и архитектура 2️⃣7️⃣ SMP vs MPP
SMP — один узел
MPP — параллельные вычисления на сегментах 2️⃣8️⃣ PostgreSQL vs Greenplum
Postgres — SMP, строковое хранение
Greenplum — MPP, распределённые вычисления 2️⃣9️⃣ Почему Greenplum быстрее
Параллельные вычисления на сегментах. 3️⃣0️⃣ Дистрибуция данных
Распределение строк по сегментам. 3️⃣1️⃣ Data skew
Неравномерное распределение данных → самый медленный сегмент тормозит весь запрос. 3️⃣2️⃣ ClickHouse — плюсы и минусы
Плюсы: колоночное хранение, быстрые агрегации
Минусы: слаб для OLTP, частых JOIN и INSERT 3️⃣3️⃣ Data Lake
Хранилище файлов/ сырые данные, дешёвое, без строгой схемы. Инфа / DE 3️⃣4️⃣ Docker vs VM
Контейнеры шарят ОС → легче и быстрее
VM — отдельная ОС → тяжелее 3️⃣5️⃣ Dockerfile
Инструкция сборки контейнера из слоёв. 3️⃣6️⃣ Порядок слоёв в Dockerfile
Влияет на кэширование и скорость сборки. 3️⃣7️⃣ Как уменьшить Docker-образ
Slim / Alpine образы, меньше слоёв, правильный порядок RUN. 3️⃣8️⃣ Docker Compose
YAML-файл для запуска нескольких контейнеров и их сети. 3️⃣9️⃣ Airflow
Инструмент оркестрации пайплайнов. 4️⃣0️⃣ DAG
Граф задач с зависимостями. 4️⃣1️⃣ Kafka
Брокер сообщений для стриминга данных. 4️⃣2️⃣ Producer / Consumer / Topic / Partition
Producer пишет в topic
Consumer читает из партиций 4️⃣3️⃣ Consumer Group
Группа консьюмеров, каждый читает свою партицию. 4️⃣4️⃣ At-least-once / At-most-once / Exactly-once
At-least-once — возможны дубли
At-most-once — возможны