сеньорчикОткрыть в Telegram
← все роливопросы для собеседований · Data Analyst

Вопросы на собеседовании аналитика данных

SQL и оконные функции, продуктовые метрики, A/B-тесты, ClickHouse и визуализация — ядро собеседования аналитика данных. Разбор реальных вопросов ниже.

812 вопросов·12 тем·ниже разбор 9
  1. #ab_testing1 / 9

    Зачем перед запуском A/B-теста считать размер выборки (power analysis)?

    A)Чтобы формально отчитаться о самом факте запуска теста перед своим менеджером
    B)Чтобы заранее выбрать первичную метрику для оценки результата теста
    C)Размер выборки на итоговые выводы теста фактически никак не влияет
    D)Оценить трафик и срок под MDE/α/мощность; недобранный тест неинформативен
    показать ответ и разбор
    +D)Оценить трафик и срок под MDE/α/мощность; недобранный тест неинформативен

    // разбор: Мощность = вероятность увидеть эффект, если он есть. Без расчёта легко запустить тест с мощностью 20%: отрицательный результат неинформативен (эффект мог быть, вы бы его не поймали). Входы: базовое значение метрики, её дисперсия, MDE, α (обычно 0.05), мощность (0.8): отсюда n на группу и срок. MDE диктует бизнес: какой минимальный аплифт окупает изменение.

  2. #ab_testing2 / 9

    Метрика теста — «средний доход на пользователя», но рандомизация шла по сессиям. В чём проблема?

    A)Никакой проблемы: сессий заметно больше, чем юзеров, значит и мощность теста выше
    B)Юнит рандомизации ≠ юнит анализа: сессии юзера зависимы и в обеих группах
    C)Проблема в том, что группы получились разного размера
    D)Доход сложно корректно измерять в рамках A/B-теста
    показать ответ и разбор
    +B)Юнит рандомизации ≠ юнит анализа: сессии юзера зависимы и в обеих группах

    // разбор: Классическая ловушка: наблюдения внутри юзера коррелированы, а юзер размазан по группам — и независимости нет, и экспозиция смешана. Стандарт: рандомизация по user_id; ratio-метрики (клики/показы) считать с дельта-методом или бутстрепом по юзерам. Проверка «совпадает ли юнит рандомизации с юнитом анализа» — рефлекс сеньора.

  3. #algorithms3 / 9

    Почему поиск по ключу в хеш-таблице (dict/set) в среднем O(1), а в списке — O(n)?

    A)Список хранит элементы строго отсортированными, а хеш-таблица — вперемешку без порядка
    B)В списке элементы занимают меньше памяти, поэтому поиск медленнее
    C)Хеш по ключу сразу вычисляет позицию (бакет), а список надо обходить подряд
    D)Разницы нет, оба O(n)
    показать ответ и разбор
    +C)Хеш по ключу сразу вычисляет позицию (бакет), а список надо обходить подряд

    // разбор: Хеш-функция превращает ключ в индекс бакета за O(1), и мы прыгаем прямо к нему. В списке адреса по значению неизвестны, поэтому линейный поиск обходит элементы один за другим — O(n). Цена O(1): нет порядка и есть накладные расходы на хеширование и коллизии.

  4. #algorithms4 / 9

    Алгоритм работает за O(n). Что это значит на практике?

    A)Он выполняет ровно n операций при входе — ни больше, ни меньше
    B)Число операций растёт линейно с размером входа n
    C)В худшем случае он делает порядка n² операций
    D)Ему требуется ровно n байт дополнительной памяти
    показать ответ и разбор
    +B)Число операций растёт линейно с размером входа n

    // разбор: O(n) — про асимптотику: при росте входа вдвое время растёт примерно вдвое. Это верхняя оценка скорости роста, а не точное число операций и не про память. Константы и младшие члены отбрасывают: O(3n+5) — это O(n).

  5. #algorithms5 / 9

    Бинарный поиск работает за O(log n). Какое условие обязательно для его применения?

    A)Массив должен состоять из чисел, строки бинарным поиском искать не получится
    B)Массив (или диапазон) должен быть отсортирован по искомому ключу
    C)В массиве не должно быть повторяющихся значений
    D)Размер массива должен быть степенью двойки
    показать ответ и разбор
    +B)Массив (или диапазон) должен быть отсортирован по искомому ключу

    // разбор: Бинарный поиск на каждом шаге отбрасывает половину диапазона, сравнивая середину с искомым — это возможно только если данные упорядочены по ключу. O(log n) — число делений пополам до одного элемента. Повторы и нечисловые типы допустимы (лишь бы был порядок); степень двойки не требуется.

  6. #algorithms6 / 9

    Стек (stack) — это структура с дисциплиной...

    A)LIFO: последним пришёл — первым вышел
    B)FIFO: первым пришёл — первым вышел
    C)По приоритету: первым выходит элемент с наименьшим ключом среди всех имеющихся
    D)Случайного доступа по индексу
    показать ответ и разбор
    +A)LIFO: последним пришёл — первым вышел

    // разбор: Стек — LIFO: push кладёт наверх, pop снимает верхний, оба O(1). Аналогия — стопка тарелок. FIFO — это очередь, приоритет — куча. Стек естественно моделирует вложенность: вызовы функций (call stack), парсинг скобок, откат (undo), обход в глубину.

  7. #bi_viz7 / 9

    Что такое BI-инструмент (Tableau, Power BI, DataLens, Superset) и в чём его смысл?

    A)Платформа: подключение к данным, дашборды, self-service изучение бизнесом без кода
    B)Язык программирования для анализа данных
    C)База данных для хранения таблиц
    D)Инструмент для рисования статичных картинок в презентацию, куда данные вставляют вручную один раз
    показать ответ и разбор
    +A)Платформа: подключение к данным, дашборды, self-service изучение бизнесом без кода

    // разбор: BI-инструмент связывает источники данных, модель (меры/измерения) и визуальный слой: аналитик собирает дашборд, а бизнес сам крутит фильтры и находит ответы — self-service, без запроса к разработчику на каждый вопрос. Это не БД (данные он читает из источников) и не язык программирования. Сила BI — интерактивность и переиспользуемость дашборда многими людьми.

  8. #bi_viz8 / 9

    Зачем на дашборде фильтры и срезы (slicers)?

    A)Дать пользователю самому сузить данные (период/регион/сегмент) без нового отчёта
    B)Только для украшения интерфейса
    C)Фильтры на дашборде специально замедляют его загрузку, чтобы пользователь не открывал лишние срезы
    D)Фильтры на дашбордах не применяются
    показать ответ и разбор
    +A)Дать пользователю самому сузить данные (период/регион/сегмент) без нового отчёта

    // разбор: Фильтры/срезы делают дашборд интерактивным: пользователь сам выбирает период, регион, канал или сегмент и видит пересчитанные показатели — это и есть self-service. Один дашборд закрывает множество частных вопросов без запроса нового отчёта. Хорошие фильтры заметны, имеют разумные значения по умолчанию и не оставляют пользователя перед пустым или всеохватным экраном.

  9. #bi_viz9 / 9

    Чем оперативный дашборд отличается от разового отчёта?

    A)Дашборд — живой регулярный мониторинг; отчёт — разовый срез под вопрос
    B)Разовый отчёт интерактивный, а дашборд — это статичная картинка
    C)Дашборд и отчёт — полные синонимы, разницы между ними нет
    D)Отчёт обновляется в реальном времени, а дашборд — примерно раз в год
    показать ответ и разбор
    +A)Дашборд — живой регулярный мониторинг; отчёт — разовый срез под вопрос

    // разбор: Дашборд — постоянно обновляемая панель для регулярного слежения за состоянием (метрики, алерты). Отчёт — разовый разбор конкретного вопроса с выводом. Отсюда разный дизайн: дашборд отбирает немного ключевых показателей и держит их актуальными, отчёт углубляется в один сюжет.

это девять из 812

В тренажёре ещё 803 вопросов по теме — с движком повторения.

Разбор прочитать мало: навык ставится практикой. В Сеньорчике вопросы идут сессиями, а движок возвращает темы, где вы плывёте, пока не начнёт отскакивать от зубов. Роль «Data Analyst» — 12 тем, 812 вопросов. Начать можно бесплатно.