1500+ вопросов для собеседования
в аналитику
Попробуй ответить — потом проверь себя. Вопросы как на настоящем интервью.
1Что делает оператор DISTINCT?
AСортирует строки
BУбирает NULL
CУбирает дубликаты
DГруппирует значения
DISTINCT убирает дубликаты из результата.
2Что делает HAVING?
AФильтрует строки до группировки
BФильтрует группы после GROUP BY
CСортирует результаты
DСчитает агрегаты
HAVING фильтрует уже агрегированные группы.
3В таблице users есть колонка middle_name, в которой часто хранится NULL. Что вернёт выражение COUNT(middle_name)?
AЧисло всех строк в таблице, включая строки с NULL.
BЧисло строк, где middle_name не NULL.
CNULL, если есть хотя бы одно значение NULL.
DВсегда 0, если есть хотя бы одно значение NULL.
COUNT(колонка) считает только не-NULL значения.
Все вопросы по теме SQL →1Есть словарь d = {"country": "RU"}. Нужно получить значение по ключу "city", но если ключа нет — вернуть строку "unknown" без исключения. Что правильно?
Ad["city"]
Bd.get("city", "unknown")
Cd.items("city", "unknown")
Dd.get("unknown", "city")
.get() возвращает значение по ключу или значение по умолчанию и не выбрасывает KeyError.
2В логах есть список user_ids с повторениями. Как получить количество уникальных пользователей?
Alen(user_ids)
Buser_ids.unique()
Clen(set(user_ids))
Dsum(user_ids)
set хранит только уникальные элементы, поэтому len(set(user_ids)) даёт число уникальных значений.
3Что произойдёт при выполнении кода t = (1, 2); t[0] = 9?
AИзменит первый элемент, и t станет (9, 2).
BСоздаст новый кортеж и вернёт его, а t останется (1, 2).
CАвтоматически преобразует t в list и изменит его.
DВыбросит TypeError, потому что tuple неизменяемый.
Элементы tuple нельзя менять по индексу: попытка присваивания приводит к TypeError.
Все вопросы по теме Python →1Вы тестируете новый текст кнопки оплаты. Что должно быть верно для корректного сравнения control и treatment?
AВ treatment можно одновременно поменять текст и цвет кнопки, так результат будет надёжнее
BВ control и treatment всё одинаково, кроме тестируемого изменения
CГруппы должны отличаться составом пользователей, чтобы эффект был заметнее
DВ control нельзя измерять метрику, измерять нужно только в treatment
В хорошем эксперименте control и treatment должны отличаться только тестируемым фактором.
2Как обычно определяют группу treatment в A/B test?
AЭто группа с меньшим размером выборки, чтобы снизить риски
BЭто группа, где показывают старую версию, чтобы сравнить с новой
CЭто группа, где показывают новое изменение, которое тестируют
DЭто группа, где метрика не измеряется, чтобы не было шума
treatment — это вариант, в который внесли тестируемое изменение.
3Какая из метрик является ratio metric?
ACTR как клики на показы
BОбщее число кликов
CЧисло пользователей в группе
DМедианное время на сайте
ratio metric — это отношение двух величин, например кликов к показам.
Все вопросы по теме A/B-тесты →1Какая формулировка лучше всего соответствует проверяемой hypothesis для A/B test?
AЕсли добавить подсказку с итоговой стоимостью доставки на чекауте, то primary metric purchase_conversion вырастет, а guardrail metric refund_rate не ухудшится
BСделаем чекаут удобнее, чтобы пользователям больше нравилось
CНужно увеличить выручку, поэтому сделаем новый дизайн
DНовый дизайн чекаута точно улучшит все метрики
Хорошая hypothesis связывает изменение с ожидаемым эффектом и явно называет primary metric и guardrail metric.
2Что в A/B test обычно означает разделение на control и treatment?
Acontrol — прошлый месяц, treatment — текущий месяц
Bcontrol — пользователи из одного города, treatment — из другого
Ccontrol — базовый опыт без изменения, treatment — вариант с изменением, распределение происходит случайно
Dtreatment всегда получает больше трафика, чтобы быстрее набрать статистику
control/treatment — это два варианта опыта, которые сравнивают при случайном распределении пользователей.
3Вы тестируете новую страницу товара; цель — увеличить покупки. Какая метрика наиболее логична как primary metric для решения о запуске?
AСреднее время на странице товара
BКонверсия в покупку (purchase_conversion) среди пользователей, увидевших страницу
CКоличество скроллов на странице
DКоличество просмотренных изображений товара
primary metric должна напрямую отражать цель эксперимента, а не промежуточные действия.
Все вопросы по теме Продукт →1У вас датасет с полями user_id, device (iOS/Android) и converted (да/нет). Какую таблицу сопряжённости вы построите перед chi-square тестом независимости?
AСтроки — device, столбцы — converted, в ячейках — количество пользователей
BСписок user_id с их выручкой за неделю
CСредняя конверсия по всем пользователям одной цифрой
DГрафик конверсии по дням без разбиения на device
Для chi-square нужна таблица сопряжённости с абсолютными счетчиками по двум категориальным признакам.
2Какой смысл у H0 в chi-square тесте независимости для таблицы сопряжённости?
AH0: средние значения в группах равны
BH0: данные распределены нормально
CH0: выполняется независимость категорий между признаками
DH0: treatment лучше control
В chi-square тесте независимости H0 формулируется как независимость категорий.
3В таблице сопряжённости для control/treatment и исхода (купил/не купил) в ячейке (treatment, купил) стоит число 250. Что это означает?
AКонверсия в treatment равна 250%
B250 наблюдений в treatment попали в категорию 'купил'
C250 — это p-value теста chi-square
D250 — это ожидаемые частоты по H0
Ячейка таблица сопряженности хранит count наблюдений, попавших в обе категории одновременно.
Все вопросы по теме Статистика →1Пусть A — мошенничество, B — сработал алерт. Что в этой постановке означает false positive?
AB произошло, а A нет: алерт сработал на нормальную транзакцию.
BA произошло, а B нет: мошенничество без алерта.
CA и B произошли: алерт сработал на мошенничество.
DA не произошло и B не произошло: нормальная транзакция без алерта.
false positive — это срабатывание на отсутствие события, то есть B при not A.
2Аналитик хочет ответить на вопрос: среди пользователей, которые получили пуш (событие B), какая доля совершила покупку (событие A). Какая вероятность соответствует этому вопросу?
Вопрос «какова доля A среди тех, у кого выполнено B» соответствует P(A|B).
3Пусть A — болезнь, B — положительный тест. Что означает false negative (ложноотрицательный результат)?
AB произошло, а A нет: тест показал плюс у здорового.
BB не произошло, а A произошло: тест показал минус при наличии болезни.
CA и B произошли: тест правильно выявил болезнь.
DA не произошло и B не произошло: тест правильно исключил болезнь.
false negative (ложноотрицательный результат) — это пропуск события, то есть not B при A.
Все вопросы по теме Вероятности →1В сегмент нужно включить пользователей, у которых активен хотя бы один из флагов: is_student = 1 или has_coupon = 1. Какое условие соответствует формулировке «хотя бы один»?
Ais_student = 1 AND has_coupon = 1
Bis_student = 1 OR has_coupon = 1
CNOT (is_student = 1 OR has_coupon = 1)
D(is_student = 1 AND NOT (has_coupon = 1)) OR (NOT (is_student = 1) AND has_coupon = 1)
Фраза «хотя бы один» соответствует логическому OR между условиями.
2Какое условие является always false для флага is_paying, который принимает только 0 или 1?
Ais_paying = 1 OR is_paying = 0
BNOT (is_paying = 1)
Cis_paying = 1
Dis_paying = 1 AND is_paying = 0
Требование is_paying = 1 AND is_paying = 0 является противоречием и потому always false.
3Условие в фильтре записали как NOT (NOT (is_test_user = 1)). Какое более простое условие ему эквивалентно?
Ais_test_user = 1
BNOT (is_test_user = 1)
Cis_test_user = 0
Dis_test_user = 1 OR is_test_user = 0
Двойное отрицание NOT (NOT X) эквивалентно X.
Все вопросы по теме Логика →1Нужно показать ранжирование 15 категорий по выручке на одном bar chart. Какой приём сильнее всего улучшит читаемость?
AСделать sorting по убыванию значения
BОставить категории в исходном порядке справочника
CИспользовать 3D-столбцы для эффекта объёма
DПеревести график в stacked, даже если серия одна
Для ранжирования ключевой приём — sorting по величине.
2Вы сравниваете категории на bar chart в абсолютных значениях. Какое правило про baseline обычно верно?
AОсь значений можно начинать с любого числа — на сравнение это не влияет
BОсь значений лучше начинать с 0, чтобы длины столбцов сравнивались корректно
CНужно убрать ось совсем и оставить только подписи на столбцах
DНужно всегда использовать log scale для любых данных
В bar chart длина читается от baseline, обычно от 0.
3У вас 25 категорий со схожими значениями, и важно аккуратно сравнить небольшие различия без тяжёлых столбцов. Что лучше выбрать?
Astacked bar chart
BКруговую диаграмму
Cdot plot с sorting по значению
DТепловую карту без чисел и шкалы
dot plot часто уменьшает визуальный шум при плотном ранжировании.
Все вопросы по теме Визуализация →Готов проверить себя по-настоящему?
1500+ вопросов с разборами. 10 минут в день. Прогресс виден сразу.
Тренироваться в Telegram