Тестовое задание — главный фильтр между «получил приглашение на интервью» и «уже технический собес». 60% кандидатов отсеиваются на этом этапе. Не потому что плохо знают SQL — потому что не понимают что от них хотят.
Эта статья — типология тестовых заданий аналитика, как разобраться что просят и сколько времени реально тратить на каждый тип.
Тип 1: SQL-задача
Что просят: написать SQL-запрос(ы) для конкретного бизнес-вопроса.
Типичные формулировки:
- «Найди топ-10 категорий по выручке за последний месяц»
- «Посчитай retention по неделям для когорт 2024 года»
- «Какие пользователи купили подписку 3+ раза?»
Где встречается: Яндекс, Ozon, Wildberries, Авито, Тинькофф (junior, middle).
Сколько времени: 1-3 часа на 3-5 запросов.
Как сдавать:
- Не пиши «костыли», даже если работают
- Используй CTE для читаемости
- Комментируй сложные участки
- Если в запросе оконные — это +5 баллов в их глазах
См. 425 SQL-задач в тренажёре для практики.
Тип 2: Python / pandas задача
Что просят: обработать датасет (часто .csv) и ответить на вопросы.
Типичные формулировки:
- «Загрузи orders.csv, найди топ-N клиентов по выручке, нарисуй график»
- «Очисти данные о продажах от выбросов и дубликатов, посчитай средний чек по сегментам»
Где встречается: Яндекс, Сбер, продуктовые стартапы.
Сколько времени: 2-4 часа.
Как сдавать:
- Jupyter notebook с видимыми результатами (в UI)
- Markdown-комментарии между ячейками — как в статье
- Не используй
forгде можноgroupby(см. 10 функций pandas вместо for) - Виджуализации — простые, понятные, с подписанными осями
Тип 3: A/B-тест анализ
Что просят: дан результат A/B-теста, оценить статистическую значимость, дать рекомендацию.
Типичные формулировки:
- «Тест нового онбординга. Результаты: контроль 5%, тест 6%. Что скажешь?»
- «Анализ A/B на retention 30 дней. Принимать ли изменение?»
Где встречается: Тинькофф, Альфа-банк, продуктовые компании уровня Middle+.
Сколько времени: 2-4 часа.
Как сдавать:
- Подсчёт p-value через scipy.stats (
chi2_contingencyилиttest_ind) - Доверительный интервал на разницу
- Power analysis — достаточно ли большая выборка
- Анализ guardrail metrics (что не должно ухудшиться)
- Чёткая рекомендация: принимаем / отклоняем / нужно больше данных + почему
См. A/B-тесты в Python: scipy.stats.
Тип 4: Продуктовый кейс
Что просят: открытый бизнес-вопрос, нужно структурировать ответ.
Типичные формулировки:
- «У соцсети упал DAU на 8% за месяц. Какие гипотезы? Как проверить?»
- «Запускаем фичу X. Какие метрики смотреть?»
- «Как улучшить конверсию в покупку для нового продукта?»
Где встречается: Senior уровень, FAANG аналоги в РФ.
Сколько времени: 30 мин - 2 часа на письменный ответ.
Как сдавать:
- Структура: декомпозиция → гипотезы → метрики → план проверки
- Не списком, а связным текстом с логикой
- Покажи product thinking, не SQL skills
- Если задача требует — приложи SQL для проверки гипотез
Тип 5: Дашборд из сырых данных
Что просят: получаешь .csv (или ссылку на datalens-датасет), нужно собрать дашборд.
Типичные формулировки:
- «Из orders.csv построй дашборд для product manager-а»
- «На датасет sales — придумай дашборд бизнеса для C-level»
Где встречается: BI-аналитик роли в Wildberries, Сбер, Лента.
Сколько времени: 4-8 часов.
Как сдавать:
- Сначала продумай структуру — что хочешь показать кому
- KPI cards сверху, time-series в центре, разрезы внизу
- Сделай в DataLens / Tableau / любом — главное логика, не инструмент
- Приложи README с пояснением «почему такие метрики»
Тип 6: ETL pipeline
Что просят: написать pipeline который тянет данные из источника, преобразует и сохраняет.
Типичные формулировки:
- «Напиши Airflow DAG который ежедневно обновляет витрину X»
- «Распиши пайплайн обработки логов для дашборда Y»
Где встречается: Data Engineer / Analytics Engineer уровень.
Сколько времени: 6-15 часов (часто на выходных).
Как сдавать:
- Архитектурная диаграмма обязательна
- Код в Git репозитории
- Документация: как запустить, что нужно из настроек
- Обработка ошибок, retry, alerting
Тип 7: ML-задача (для продвинутых аналитиков)
Что просят: предсказать что-то на основе данных.
Типичные формулировки:
- «Предскажи churn пользователей на следующий месяц»
- «Классификация клиентов на сегменты»
Где встречается: Тинькофф (Customer Insights), банки, Яндекс.
Сколько времени: 1-2 дня.
Как сдавать:
- EDA с инсайтами
- Feature engineering — расскажи почему именно эти признаки
- Базовая модель → улучшения
- Метрики оценки подходящие задаче (не accuracy для несбалансированных классов)
- Интерпретация модели (важность фичей)
Тип 8: Live coding (на собесе)
Что просят: пишешь SQL/Python в реальном времени.
Типичные формулировки:
- «Перед тобой 2 таблицы. Напиши запрос который...»
- «Дам тебе DataFrame. Сделай pivot и нарисуй график»
Где встречается: технический раунд почти везде.
Сколько времени: 30-60 минут.
Как готовиться:
- Решай задачи руками без подсказок — как на собесе
- Тренируй в браузере: SQL-тренажёр, Python-тренажёр
- Прогоняй AI мок-собес минимум 3-5 раз перед реальным интервью
Сколько РЕАЛЬНО тратить времени
Компании пишут «отведём 2-3 часа», на самом деле многие тратят 6-10. Где грань?
| Тип | Заявленное | Реальное | Когда сказать «нет» |
|---|---|---|---|
| SQL (3 запроса) | 1-2ч | 2-3ч | Если просят 10+ запросов |
| Python notebook | 2-4ч | 4-6ч | Если просят production-ready ML |
| A/B анализ | 2-3ч | 3-4ч | Если кейс на 4+ сегмента |
| Продуктовый кейс | 1-2ч | 2-3ч | Если 5+ открытых вопросов |
| Дашборд | 4-8ч | 6-12ч | Если задача на BI-инструменте который не указали |
| ETL pipeline | 6-15ч | 10-25ч | Часто отказывайся, это работа на неделю бесплатно |
| ML-задача | 1-2 дня | 2-4 дня | Если требуют production code |
Если задание занимает >8 часов — компания тестирует твою выносливость, а не навыки. Можно вежливо отказаться или просить оплату.
Чек-лист хорошо сданного теста
- [ ] Решено всё что просили (не половина)
- [ ] Код читаем (форматирование, имена переменных)
- [ ] Комментарии где нелогичный шаг
- [ ] README / описание подхода
- [ ] Если SQL — используются CTE, не nested subqueries на 5 уровней
- [ ] Если Python — векторно, без
for row in df.iterrows() - [ ] Если визуализация — оси подписаны, легенда понятная
- [ ] Сдано в формате что просят (Notion link / .ipynb / .sql / GitHub repo)
- [ ] Без бэйкдоров (
# TODO: разобраться позже) - [ ] Опубликовано раньше дедлайна (даже на 1 час)
Что НЕ делать
- ❌ Не сдавать код с твоими комментариями типа «это слабое место, не уверен»
- ❌ Не присылать ChatGPT-сгенерированное (видно сразу — структура и формулировки уникальные)
- ❌ Не делать «лучше чем просили» добавляя 10 ML моделей куда не надо
- ❌ Не задавать миллион уточняющих вопросов — продумай 1-2 ключевых
- ❌ Не списывать готовые решения из github (часто проверяют через plagiarism check)
Связанные материалы
- 497 тестовых заданий с разбором — реальные с собесов, 5 бесплатно
- SQL-тренажёр — для подготовки live coding
- Python-тренажёр — pandas + algorithms
- A/B-тесты в Python — для A/B заданий
- Топ-50 вопросов — что спрашивают на интервью
Открой раздел тестовых заданий, фильтр по уровню junior/middle/senior — выбирай свой и решай. 5 заданий бесплатно без регистрации, увидишь реальный формат за час.