Техническое собеседование аналитика
Структура
Обычно 60–90 минут. Три блока:
- SQL — 30–40 минут.
- Python / pandas — 15–30 минут.
- Теория / кейс — 10–20 минут.
Некоторые компании делают 2 отдельных техсобеса: SQL и Python.
Блок 1: SQL
Формат
- Задачи на собственном экране (coderpad, Google Doc).
- Live coding, интервьюер наблюдает.
- Можно гуглить синтаксис (не решение).
Типы задач
Easy (для junior):
- Простой SELECT + WHERE.
- GROUP BY + агрегаты.
- JOIN двух таблиц.
Medium (middle):
- Оконные функции (ROW_NUMBER, LAG).
- CTE.
- Сложные JOIN 3+ таблиц.
- Retention / cohort.
Hard (senior):
- Session analysis (30-min timeout).
- Sequential events analysis.
- Multi-step funnel with timing.
- Optimisation discussion.
Пример задачи
Таблица orders(user_id, order_date, amount). Найдите пользователей, у которых суммарная выручка выросла > 20% MoM в последние 3 месяца.
Как решать
- Уточните схему. «Что есть в таблице? Какие типы?»
- Проговорите подход. «Я сделаю CTE для monthly totals, потом LAG для сравнения».
- Пишите постепенно. По кусочкам, проверяйте.
- Тестируйте. «Я бы проверил edge case: 0 заказов в месяц».
Ошибки
- SELECT * на огромной таблице.
- Integer division без cast в numeric.
- LEFT JOIN превращается в INNER через WHERE.
- Забытый DISTINCT в COUNT(users).
Блок 2: Python / pandas
Формат
- Jupyter в shared screen.
- Датасет предоставлен (CSV или заранее загружен DataFrame).
Типы задач
- Прочитать CSV.
- Отфильтровать, отсортировать.
- Groupby с агрегатами.
- Merge двух DataFrame.
- Pivot / unstack.
- Решить задачу с тем, что делали в SQL — но в pandas.
Пример
Дан DataFrame df с колонками user_id, date, amount. Посчитайте topo-5 пользователей по суммарной выручке за последние 30 дней.
from datetime import datetime, timedelta
cutoff = datetime.now() - timedelta(days=30)
top_5 = (
df[df['date'] >= cutoff]
.groupby('user_id')['amount']
.sum()
.sort_values(ascending=False)
.head(5)
)Тренироваться на таких вопросах можно в Telegram-боте Карьерник — там 1500+ задач с реальных собесов с разборами.
Блок 3: Теория
SQL-теория
- Разница HAVING и WHERE.
- Типы JOIN и когда какой.
- Оконные функции vs GROUP BY.
- Индексы — когда и зачем.
- Как оптимизировать медленный запрос.
Статистика / A-B
- Что такое p-value.
- Ошибки I / II рода.
- ЦПТ.
- Мощность теста.
- SRM.
Метрики продукта
- DAU / MAU / WAU.
- Retention.
- Воронки.
- LTV / CAC.
Как подготовиться
За месяц
- 100+ SQL-задач — базовые и оконные.
- 50+ pandas-задач.
- Разобрать 20+ теоретических вопросов.
- 5–10 продуктовых кейсов.
За неделю
- Пройти через задачи собесов топ-компаний (Яндекс, Авито).
- Проговаривать вслух.
- Mock interview с другом или ментором.
За день
- Повторить основы.
- Проверить технику: камера, микро, среду для coding.
- Выспаться.
Непосредственно перед
- 30 минут — разминка лёгкими задачами.
- Вода рядом.
- Скачайте cheatsheets на всякий случай (можете подсмотреть синтаксис).
Во время собеса
Сценарии
Забыли синтаксис
«Не помню точный синтаксис функции — это было что-то вроде ARRAY_AGG... интервьюер, подскажете?» Интервьюер обычно скажет. Лучше honestly, чем мучиться.
Не понимаете задачу
«Могу уточнить — нужно вернуть top-5 или сегментировать на 5 групп?» Уточнять — hallmark senior.
Застряли
«Мне нужно 30 секунд подумать». Не паника, не молчание — короткая пауза.
Ошиблись
«Смотрю, я забыл добавить DISTINCT. Исправляю». Не паникуйте — мы все ошибаемся.
Критерии оценки
Интервьюер оценивает:
- Correctness — решение работает?
- Approach — хорошая логика?
- Code quality — чистый, читабельный?
- Communication — проговариваете ли?
- Edge cases — подумали про NULL, 0, пустые данные?
Код идеальный, но молчали → не пройти. Код с багом, но красивое рассуждение → пройти.
К слову, набить руку на таких кейсах удобно через тренажёр в Telegram — разбирайте по 10 вопросов в день, через 2 недели тема становится рефлексом.
Live coding vs offline
Live
Стандарт в РФ. Интервьюер наблюдает. Проговаривайте вслух.
Take-home
«Решите дома за 2 часа, пришлите». Встречается реже, но есть. Плюс: можно спокойно. Минус: больше ожиданий.
Специфика топ-компаний
Яндекс
Жёсткий SQL, много оконных. Часто кейсы + теория одновременно.
Авито
Продуктовая логика важнее чистоты кода. Много кейсов.
Тинькофф
Финансовая specifics. Статистика для risk-моделей.
Ozon
SQL + кейсы e-commerce. RFM, когорты.
Читайте также
- Структура собеседования
- 50 вопросов по SQL
- Чеклист подготовки
- Ошибки на собеседовании
- Задачи для junior
FAQ
Сколько задач обычно?
SQL: 3–5. Python: 2–3. Теория: 5–10.
Можно ли гуглить?
Синтаксис — можно. Решение — нет.
Проваливают за неправильный ответ?
За один — нет. За общий уровень — да.
Что важнее — скорость или правильность?
Правильность. Скорость — бонус.