Подготовка к собеседованию — Аналитик данных
Колода из 265+ карточек с вопросами для собеседования по направлению «Аналитик данных» — по темам и уровню сложности, с возвратом ровно перед тем, как вы забудете. Посмотрите несколько карточек ниже, затем выберите доступ, чтобы учить всё направление по расписанию в стиле Anki (SM-2).
7 дней бесплатно на месяц или год · все функции включены.
Что внутри
Все темы направления, сгруппированные так, как вы будете их учить.
SQL для аналитики
11 карточекСтатистика и вероятность
11 карточекA/B-тесты и эксперименты
9 карточекПродуктовые и бизнес-метрики
10 карточекВизуализация данных и сторителлинг
8 карточекPython для аналитиков (pandas и matplotlib)
10 карточекАналитические кейсы
7 карточекPython
122 карточкиБазы данных
42 карточкиПоведенческое интервью
35 карточекПримеры вопросов
Несколько карточек из колоды — откройте ответ, затем выберите доступ, чтобы учить весь набор по расписанию.
Что такое оконные функции и чем они отличаются от GROUP BY?
Что такое оконные функции и чем они отличаются от GROUP BY?
Короткий ответ: Оконная функция считает агрегат по «окну» строк, но при этом не схлопывает строки — каждая исходная строка сохраняется и получает своё значение. GROUP BY, наоборот, сворачивает группу в одну строку.
Подробно:
- GROUP BY — N строк группы → 1 строка результата. Деталь теряется.
- Оконная функция — N строк остаются N строками, рядом появляется агрегат (сумма, ранг, среднее, lag).
- Синтаксис —
func() OVER (PARTITION BY ... ORDER BY ...).PARTITION BYзадаёт группы,ORDER BY— порядок внутри окна (нужен для нарастающих итогов и рангов).
-- Нарастающий итог продаж по каждому пользователю
SELECT
user_id,
order_date,
amount,
SUM(amount) OVER (
PARTITION BY user_id
ORDER BY order_date
) AS running_total
FROM orders;
⚠️ Частая ошибка: пытаться отфильтровать по результату оконной функции в WHERE — окна вычисляются после WHERE/GROUP BY, поэтому заворачивайте запрос в CTE/подзапрос и фильтруйте снаружи.
Чем отличаются среднее, медиана и мода, и почему для скошенных данных (доход, время отклика) лучше брать медиану?
Чем отличаются среднее, медиана и мода, и почему для скошенных данных (доход, время отклика) лучше брать медиану?
Короткий ответ: Среднее — сумма, делённая на количество, чувствительно к выбросам. Медиана — центральное значение упорядоченного ряда, устойчива к выбросам. Мода — самое частое значение. Для скошенных данных медиана точнее отражает «типичное» наблюдение.
Подробно:
- Среднее (mean) — хорошо для симметричных данных и для дальнейших расчётов (дисперсия, регрессия), но один выброс сдвигает его.
- Медиана — 50-й перцентиль; делит данные пополам и почти не реагирует на экстремумы.
- Мода — единственная метрика для категориальных данных («самый частый тариф»).
| Метрика | Когда применять | Чувствительность к выбросам |
|---|---|---|
| Среднее | симметричные данные, дальнейшие расчёты | высокая |
| Медиана | скошенные данные: доход, время отклика, цены | низкая |
| Мода | категориальные данные, самое частое значение | низкая |
⚠️ Частая ошибка: отчитываться средним по доходу или времени отклика. Длинный правый хвост тянет среднее вверх, и оно перестаёт описывать типичного пользователя — берите медиану.
Как устроен A/B-тест от начала до конца? Опишите ключевые этапы.
Как устроен A/B-тест от начала до конца? Опишите ключевые этапы.
Короткий ответ: A/B-тест — это рандомизированный эксперимент: пользователей случайно делят на контроль и тритмент, показывают разные версии и сравнивают одну заранее выбранную первичную метрику по фиксированному правилу решения.
Подробно:
- Гипотеза — что меняем, на какую метрику влияем и почему.
- Метрика и MDE — одна первичная метрика плюс минимально детектируемый эффект (MDE).
- Рандомизация — случайное и устойчивое разбиение на контроль/тритмент.
- Размер выборки и длительность — считаем и фиксируем до старта.
- Запуск до N — крутим до набора выборки, не подглядывая в промежуточные итоги.
- Анализ — сравниваем метрику, считаем p-значение и доверительный интервал лифта.
- Решение — выкатываем или откатываем по заранее заданному правилу.
Гипотеза → Рандомизация → Запуск до N → Анализ → Решение
│ │
контроль / тритмент выкатить ✓ / откатить ✗
⚠️ Частая ошибка: менять интерфейс по ходу теста или останавливать его в первый момент «значимости» — и то и другое ломает выводы.
Что делает метрику хорошей и чем метрика отличается от KPI?
Что делает метрику хорошей и чем метрика отличается от KPI?
Короткий ответ: Хорошая метрика измерима, сравнима, понятна и трудно поддаётся накрутке (gameable), а главное — actionable: по ней можно принять решение. KPI — это та же метрика, но привязанная к цели и целевому значению на период; KPI — подмножество метрик, а не синоним.
Подробно:
- Actionable, а не vanity — метрика должна менять чьё-то решение. Если число выросло, но никто не знает, что делать, — это vanity-метрика.
- Сравнимость — используй ставки и отношения (конверсия, retention %), а не абсолютные счётчики: они сопоставимы между периодами и сегментами.
- Устойчивость к накрутке — спрашивай «как это можно нагнать, не создав ценности?». «Клики» легко накрутить, «активированные пользователи» — труднее.
- Ясное определение — один числитель, один знаменатель, окно и фильтры зафиксированы, иначе две команды считают по-разному.
| Свойство | Метрика | KPI |
|---|---|---|
| Что это | любое измеримое число | метрика с целью |
| Привязка к цели | не обязательно | обязательно (target) |
| Сколько штук | много | единицы, отобранные |
| Пример | время на странице | activation rate ≥ 40% к Q3 |
⚠️ Частая ошибка: называть KPI всё подряд. KPI — это 3–5 метрик, по которым команду реально оценивают; остальное — диагностические метрики.
Как выбрать тип графика под задачу: столбики, линия, точечная или круговая диаграмма?
Как выбрать тип графика под задачу: столбики, линия, точечная или круговая диаграмма?
Короткий ответ: Тип графика диктует не вкус, а характер связи в данных: сравнение категорий — столбики, динамика во времени — линия, корреляция двух величин — диаграмма рассеяния, доля немногих частей в целом — круговая. Если сомневаешься между круговой и чем-то ещё — почти всегда выбирай столбики.
Подробно:
Сначала формулируешь, какую связь показываешь, и только потом выбираешь визуализацию:
| Связь в данных | Тип графика | Почему |
|---|---|---|
| Сравнение категорий | Столбчатая | глаз точно сравнивает длину; ось обязана начинаться с 0 |
| Динамика во времени | Линейная | линия подчёркивает тренд и непрерывность |
| Корреляция X и Y | Точечная (scatter) | видно облако, кластеры и выбросы |
| Доля частей в целом | Круговая / стек | только при 2–4 частях, сумма = 100% |
| Распределение | Гистограмма / boxplot | видно форму, разброс, хвосты |
- Столбики — рабочая лошадка для категорий; ось Y начинается с нуля, иначе разница в высоте врёт.
- Линия — только для упорядоченной непрерывной оси (время, дни); не соединяй линией несвязанные категории.
- Scatter — для «связаны ли X и Y», добавь линию тренда при необходимости.
⚠️ Частая ошибка: круговая диаграмма с 8 секторами — доли на ней неразличимы; замени на горизонтальные столбики, отсортированные по величине.
Чем Series отличается от DataFrame, как загрузить данные и быстро их осмотреть?
Чем Series отличается от DataFrame, как загрузить данные и быстро их осмотреть?
Короткий ответ: Series — это одномерный массив с индексом (один столбец), DataFrame — двумерная таблица из колонок-Series с общим индексом строк. Данные грузят через pd.read_csv() / pd.read_sql(), а первичный осмотр делают через .head(), .info(), .describe(), .dtypes, .shape.
Подробно:
- Series vs DataFrame —
df['col']возвращаетSeries;df[['col']](двойные скобки) —DataFrameиз одной колонки. У обоих есть.index. - Загрузка —
read_csv(файл/URL),read_sql(SQL-запрос + соединение),read_parquet(быстрый колоночный формат). - Осмотр —
.head()/.tail()смотрят края,.info()даёт типы и пропуски,.describe()— статистику числовых колонок,.dtypes— типы,.shape— размер.
import pandas as pd
df = pd.read_csv("sales.csv", parse_dates=["order_date"])
df.shape # (10000, 8) — строки, колонки
df.info() # типы колонок и число непустых значений
df.describe() # count/mean/std/min/quartiles/max по числовым
df["revenue"].head() # Series — одна колонка
⚠️ Частая ошибка: забыть parse_dates= при чтении — колонка с датами останется object (строкой), и арифметика по датам/resample() работать не будут.
Готовы закрепить навсегда?
Первая сессия — меньше минуты. Ваше будущее «я» на собеседовании скажет спасибо.
Вопросы об этом направлении
Как готовиться к собеседованию на «Аналитик данных»?
Учите концепции, которые придётся объяснять, а не только те, что умеете кодить. Направление «Аналитик данных» в RecallDeck даёт 265+ отобранных вопросов и возвращает каждый по расписанию в стиле Anki (SM-2) ровно перед тем, как вы забудете — чтобы на собеседовании ответы были под рукой.
Какие темы охватывает направление «Аналитик данных»?
Направление «Аналитик данных» разбито на ключевые области, которые реально проверяют на таких собеседованиях, — по темам и уровню сложности (Concept, Junior, Middle, Senior). Полный план и примеры вопросов можно посмотреть выше до входа.
Помогает ли интервальное повторение в подготовке к «Аналитик данных»?
Да. Активно вспоминать ответ и честно себя оценивать — куда прочнее для памяти, чем перечитывать заметки. RecallDeck планирует каждую карту «Аналитик данных» так, чтобы она вернулась перед моментом забывания: ежедневных повторений становится меньше, а знания держатся.
Можно попробовать направление «Аналитик данных» до оплаты?
Да. Месячный и годовой варианты включают семь пробных дней со всем направлением «Аналитик данных», полным планировщиком SM-2, статистикой, гибким темпом и блиц-режимом. Отменить можно онлайн до первого списания.