Лучшие вопросы средней сложности по SQL на собеседовании аналитика данных / Блог компании Дата-центр «Миран» / Хабр

Лучшие вопросы средней сложности по SQL на собеседовании аналитика данных / Блог компании Дата-центр «Миран» / Хабр Аналитика

7 вопросов и ответов на собеседовании с бизнес аналитиком

1. Как бизнес-аналитик, вы должны работать со всеми типами людей на разных должностях в компании. Как бы вы справились с трудным заинтересованным лицом?

Кандидаты должны уметь ориентироваться в разных личностях и настраивать связи. Соискатель, который знает, как обращаться со всеми типами людей на всех уровнях бизнеса, является ключом к успеху.

  • Проблемные навыки
  • Навыки общения
  • Умение смягчать сложные ситуации

Пример: «Сначала я бы попытался определить, почему они расстроены или испытывают затруднения; как только я пойму, в чем проблема, то смогу лучше ее решить. Когда я понял, что их беспокоит, когда появилась возможность, я стремлюсь решать свои проблемы с помощью взвешенного, аргументированного ответа, подкрепленного необходимыми данными, чтобы подкрепить те моменты, к которым я обращаюсь”

2. У клиента есть интернет-магазин, посвященный Рождеству, в котором продаются пять товаров. Какие потенциальные проблемы вы предвидите с их потоками доходов?
Бизнес-аналитик должен уметь оценивать ситуацию и диагностировать проблему и решение для клиентов. Этот вопрос дает представление о том, как кандидат решает типичные бизнес-проблемы, которые могут возникнуть у клиента.

  • Демонстрирует навыки бизнес-аналитика
  • Навыки критического мышления
  • Способности к оценке

Пример: «Непосредственная проблема с потоком доходов клиента заключается в том, что он серьезно пострадает по окончании курортного сезона. Как получить доход после пикового сезона, будет ключевым моментом, который следует обсудить с клиентом. Другой проблемой является только пять товаров. Клиент серьезно ограничивает свои возможности для создания спроса”

3. Вы знакомы с SQL-запросами? Каковы части оператора SQL?
Бизнес-аналитику не обязательно иметь продвинутые технические навыки, но полезно, если у него есть навыки в SQL и технологии реляционных баз данных. Этот вопрос показывает их знакомство и понимание SQL.

  • Технические навыки
  • Понимание документов SQL
  • Продвинутые аналитические навыки

Пример: «Оператор SQL состоит из трех частей. Это язык определения данных или DDL, язык обработки данных или DML и язык управления данными или DCL».

4. По вашему опыту работы бизнес-аналитиком, что является наиболее важным аспектом аналитической отчетности?
Кандидат должен понимать важность аналитической отчетности, ее ограничения и то, как она связана с выполняемой им работой. Этот вопрос заставляет их объяснить, почему и как они считают аналитическую отчетность важной.

  • Умение критически мыслить
  • Понимание бизнес-анализа
  • Показывает навыки анализа

Пример: «Способность решать проблемы или принимать решения на основе свидетельств, а не предположений является наиболее важным аспектом аналитической отчетности. Сами по себе данные не решат проблемы, но они дают вам инструменты для принятия обоснованных решений, которые вы может объяснить и оправдать, даже если само решение не сработает так, как вы ожидали».

5. Можете ли вы описать время, когда вам приходилось подвести клиента к другому образу действий, нежели тот, на который он был настроен?
Работа бизнес-аналитиком заключается не в том, чтобы говорить клиенту, чего он хочет, а в том, чтобы сказать клиенту, то, что лучше для его бизнеса. Этот вопрос показывает, как кандидат управляет ожиданиями клиента о том, что он, возможно, не хочет слышать.

  • Способность решать проблемы
  • Умение справляться с трудными ситуациями
  • Возможность бизнес-анализа

Пример: «Однажды у меня был клиент, который хотел расширить продуктовую линейку своего магазина, но ему было трудно продать многие из продуктов, которые они уже продавали. Используя подробный анализ продаж, а также их текущий отчет о прибылях и убытках, я объяснил почему они не должны расширять свою текущую линейку продуктов, и что им нужно будет резко сократить то, что они сейчас продают, потому что только 20 процентов от этого было прибыльным для бизнеса».

6. Назовите три типа диаграмм, которые используют бизнес-аналитики, и объясните, почему они важны?
Бизнес-аналитики используют множество диаграмм и других документов. Вы должны убедиться, что кандидат знаком с этими документами и понимает, как их применять в делах клиентов.

  • Визуальное моделирование
  • Понимание основных диаграмм бизнес-аналитики
  • Понять, как реализовать эти диаграммы

Пример: «Во-первых, это блок-схемы. Они важны, потому что они обеспечивают визуальное представление системы, которое легко понять клиентам. Существуют также диаграммы действий, и их цель – продемонстрировать различные действия, происходящие в разных отделах. И затем есть диаграммы вариантов использования, которые показывают, кто взаимодействует с системой и каких основных целей они достигают с ее помощью»

7. Какие инструменты, по вашему мнению, наиболее важны для бизнес-аналитиков, чтобы они хорошо выполняли свою работу?
Бизнес-аналитики обычно используют множество инструментов. Этот вопрос позволяет узнать, знаком ли кандидат с этими инструментами и использует ли он приложения, общие для вашей компании.

  • Знакомство со стандартными приложениями бизнес-аналитики
  • Использование инструментов подходящих для вашего бизнеса
  • Базовые технические навыки

Пример: «Обычно я использую инструменты Word, Excel, MS Visio, PowerPoint и Rational. Я также умею писать SQL-запросы»

№ 2. маркировка древовидной структуры

Контекст:

предположим, у вас есть таблица

tree

с двумя столбцами: в первом указаны узлы, а во втором — родительские узлы.

node   parent
1       2
2       5
3       5
4       3
5       NULL 

Задача:

написать SQL таким образом, чтобы мы обозначили каждый узел как внутренний (inner), корневой (root) или конечный узел/лист (leaf), так что для вышеперечисленных значений получится следующее:

node    label  
1       Leaf
2       Inner
3       Inner
4       Leaf
5       Root

(Примечание: более подробно о терминологии древовидной структуры данных можно почитать

. Однако для решения этой проблемы она не нужна!)

Решение:Благодарность: это более обобщённое решение предложил Фабиан Хофман 2 мая 2020 года. Спасибо, Фабиан!

WITH join_table AS
(
    SELECT 
        cur.node, 
        cur.parent, 
        COUNT(next.node) AS num_children
    FROM 
        tree cur
    LEFT JOIN 
        tree next ON (next.parent = cur.node)
    GROUP BY 
        cur.node, 
        cur.parent
)

SELECT
    node,
    CASE
        WHEN parent IS NULL THEN "Root"
        WHEN num_children = 0 THEN "Leaf"
        ELSE "Inner"
    END AS label
FROM 
    join_table 

Альтернативное решение, без явных соединений:

Благодарность: Уильям Чарджин 2 мая 2020 года обратил внимание на необходимость условия WHERE parent IS NOT NULL, чтобы это решение возвращало Leaf вместо NULL. Спасибо, Уильям!

SELECT 
    node,
    CASE 
        WHEN parent IS NULL THEN 'Root'
        WHEN node NOT IN 
            (SELECT parent FROM tree WHERE parent IS NOT NULL) THEN 'Leaf'
        WHEN node IN (SELECT parent FROM tree) AND parent IS NOT NULL THEN 'Inner'
    END AS label 
 from 
    tree
  1. Что такое линк?
  2. Перечислите 7 уровней модели OSI.
  3. Что такое IP – адрес?
  4. Что такое LAN?
  5. Расскажите нам про DHCP
  6. А про DNS?
  7. Что такое WAN?
  8. Что означает термин “нода”? Что такое “хост”?
  9. Какая максимальная длина кабеля UTP?
  10. Что такое маршрутизатор?
  11. Что такое коммутатор?
  12. В чем разница между роутером, свичем и хабом?
  13. 3 уровня иерархии сетей от Cisco?
  14. Что такое VLAN и зачем они нужны?
  15. Что такое PING?
  16. Какие режимы передачи данных бывают?
  17. Что такое Ethernet?
  18. Что такое VPN?
  19. Что такое MAC – адрес?
  20. Что такое TCP и UDP? В чем разница между ними?
  21. Что такое NIC?
  22. Зачем нужен прокси сервер?
  23. Какие типы сетевых атак вы знаете?
  24. Что такое NAT?
  25. Объявление
  26. А знаете ли вы про MST (Multiple Spanning Tree)?
  27. А про RSTP (Rapid Spanning Tree) что скажете?
  28. А про протокол RIP что скажете?
  29. Расскажите нам про EIGRP, а мы послушаем
  30. Ого, кажется у вас неплохой опыт. А что скажете про BGP?
  31. Так, продолжайте про OSPF?
  32. Что такое VTP?
  33. Что думаете про модный SD WAN?
  34. Пару слов про MPLS?
  35. И пару слов про шифрование трафика. Какие алгоритмы вам знакомы?
  36. В сетях вы разбираетесь. Поговорим про телефонию. Какие кодеки вам знакомы?
  37. А разницу между FXS и FXO портом знаете?
  38. А что по вашему лучше – SIP или PRI?
  39. Зачем нужен протокол RTP?
  40. А термин SBC вам знаком?
  41. И последний вопрос. Про SDP знаете?
  42. Итоги

Решение

Найдём вероятность пересечения классическим подходом — поделим число маршрутов с пересечением на общее число возможных маршрутов. Пусть

— длина ребра квадратной сетки. Тогда общее число возможных маршрутов:


Вывод формулы описан

. А вот как узнать число маршрутов с пересечением реки для каждого

? Озадачившись этим вопросом, я решил взять несколько длин сетки поменьше, нарисовать поля и вручную подсчитать, сколько маршрутов пересекают реку, надеясь проследить зависимость (Очень рекомендую вам также сейчас взять листочек и ручку и поэкспериментировать с рисованием маленьких сеток и путей).

Пусть имеется сетка размером 3 на 3 клетки. Побочная диагональ сетки занята рекой, путник стоит в левом нижнем углу.

Как только я сделал рисунок, понял, что намного проще будет отследить маршруты, реку не пересекающие, а именно маршруты ниже реки. Затем можно будет умножить их число на 2, учтя таким образом и зеркальные маршруты выше реки. Так как мы знаем вдобавок и общее число маршрутов, найдём и количество пересекающих реку. Но вернёмся к главной задаче — нам нужна зависимость между $n$ и числом путей с переходом реки.На рисунке выше для случая 3×3 я отметил синим некоторые «сухопутные» маршруты, доступные путнику: отмеченные маршруты проходят по рёбрам клеток с горизонтальной координатой 2, на левые и верхние рёбра клеток раньше путник не заступает. Таких маршрутов 3, т. е. $n$. Теперь разберёмся с маршрутами, что проходят через клетку столбца 1.

Новые пути я отметил красным. Итак, понятно, что если путник свернёт на левое и затем верхнее ребро клетки (1, 0), ему далее будут доступны лишь 2 из трёх путей через клетки с горизонтальной координатой 2, ведь двигаться можно лишь вверх и вправо — третий же путь лежит ниже.

Возьмём сетку 4 на 4 и продолжим распутывать клубок. Стало понятно, что добавление новой клетки какого-либо столбца увеличивает число путей на то количество маршрутов, которое проходит через следующий столбец не ниже верхнего ребра добавленной клетки.


Крайний правый столбец вновь даёт нам

маршрутов. Верхнее ребро клетки (2, 0) добавит нам

маршрут. Верхнее ребро клетки (2, 1) добавит

маршрута. Верхнее ребро клетки (1, 0) добавит столько маршрутов, сколько добавили клетки (2, 0) и (2, 1) вместе. При желании можно нарисовать сетку побольше и продолжить считать маршруты тем же алгоритмом. Наша задача — подсчитать маршруты для сетки 100×100. Для этого можно написать программку, которая примет на вход

Дополнительный анализ:  Анализируем свою игру в шахматы: метод «Пяти почему» - Шахматы онлайн на

и построит матрицу

, начиная со столбца

и далее для каждой клетки предыдущих столбцов подсчитывая число добавленных клеткой путей, основываясь на данных предыдущего столбца. Таким образом, количество не пересекающих реку путей будет найдено.

Код
import numpy as np
import math

def routes_total(n): # Общее число путей
    return math.factorial(2*n) / (math.factorial(n)**2)

def fill_matrix(n): # Число путей, не пересекающих реку с одной стороны реки
    net = np.zeros((n, n)) 
    net[0, 0] = n # Крайний столбец даёт n путей
    for i in range(n-2):
        net[1, i] = n - i - 1 

    for i in range(2, n):
        for j in range(n - i - 1): 
            net[i, j] = 0
            for g in range(j, n - i   1):
                net[i, j]  = net[i - 1, g]
    
    # Сумму полученных чисел умножаем на 2, чтобы учесть другую сторону реки
    return (2 * sum(sum(net))) 

# Хотим долю пересекающих реку путей - вычитаем результат из 1
print(1  - fill_matrix(100) / routes_total(100))

Собеседование на системного аналитика |

Анкета собеседования кандидата

N п/пОбласть знанийИнформация от кандидатаОценка кандидата по дисциплинам
1Стандарты в области информационно-коммуникативных технологиях (ИКТ) 
1,1ГОСТ (34.х, 19.х, 24.х)
1,2Международные стандарты (OMG, IEEE, ISO и т.д.)
1,3Стандарты проектной деятельности (PMBoK, IPMA, AFW, Prince и т.д.)
1,4СНиП, СанПиН и их применение при построении ИКТ инфраструктуры
1,5Особенности выполнения проектов в области связи
1,6Стандарты в области информационной безопасности (ИБ) и защиты информации (ЗИ)
1,7Стандарты в области ИТ аудита
2Проектирование автоматизированных систем (АС) 
2.1.IDEF
2.2.UML 2.х/Sysml
2.3.ARIS
2.4.Arhimate
2.5.BPMN
2.6.Другие нотации
2.7.CASE средства
3Презентации 
3,1Виды презентаций (Strategic, Sales Kit, Product present. и т.д. )
3,2Упражнение – подготовить структуру презентации на тему близкую кандидату
4Архитектурное проектирование 
4,1Определение архитектуры. Виды архитектур программных средств
4,2Двухуровневые и многоуровневые клиент-серверные архитектуры
4,3Архитектуры, основанные на потоках данных
4,4Архитектуры независимых компонентов
4,5Архитектуры автоматизированных систем , их составляющие
4,6Архитектура предприятия. enterprise architecture
4,7SOA архитектура
4,8Управление требованиями к ПО
4,9Проектирование ПО (Software Design)
4,10Процесс создания (разработкаи) ПО
4,11Тестирование ПО. Качество ПО
4,12Сопровождение ПО (Software Maintenance)
4,13Управление конфигурацией
4,14Business Layer
4,15Application Layer
4,16Technology Layer
4,17Проектирование услуг (ГОСТ Р ИСО 20000, ITIL)
5Технологии 
5,1Базы данных. SQL.
5,2Бизнес логика. Сервер приложений, взаимодействие с ним.
5,3Бизнес логика. Интеграционная шина. WEB Services
5,4XML
5,5Интеграция. Виды/Способы
5,6Упражнение – нарисовать логическую структуру БД
5,7Упражнение – нарисовать структуру приложения UML (компоненты, классы)
5,8Упражнение – нарисовать техническую архитектуру (UML deployment)
6Концепция 
6,1Упражнение – Подготовить структуру концепции на АС по теме близкой компетенциям кандидата
7Техническое задание по ГОСТ 34 
7,1Упражнение – Подготовить план-проспект ТЗ на систему соотвествующую компетенциям кандидата и рассказать, что будет содержаться в разделах документа
7,2Управление требованиями (идентификация, выявление, документирование, анализ, отслеживание, приоритезация требований, согласование, управление изменениями)
8Эскизный/технический/системный проект 
8,1Состав документации
9Завершение проекта 
9,1Виды испытаний (MAX 9 ШТ)
9,2Программа и методика испытаний (ПМИ), структура ПМИ по ГОСТ 19
Оценка выставляется в баллах 0-5

Tags: Собеседование, управление персоналом

Условие задачи


Государство Линейного Распределения представляет собой множество городов, некоторые из которых соединены дорогами.

Однажды королю Государства стало известно, что в его границы собирается вторгнуться Народ Точек Разрыва. Так как Государство не было готово к обороне, король принял нелёгкое решение — разделить Государство на много маленьких, каждое из которых будет самостоятельно защищать свои границы.

Было решено, что два города можно и нужно оставить в одном государстве, если из одного города можно будет добраться во второй, даже если Народ Точек Разрыва захватит одну дорогу между двумя любыми городами Государства Линейного Распределения. Во всех остальных случаях — города должны оказаться в разных государствах.

На каждой дороге, которая будет пересекать границу каких-либо двух новых государств, необходимо поставить бастион. Это нужно на случай, если одно из этих государств будет захвачено Народом Точек Разрыва. Тогда второе сможет продолжать оборонять свои границы. Иными словами, бастион будет поставлен на дороге, которая соединяет города из разных государств.

Король попросил вас дать ему список дорог, на которых необходимо поставить бастионы.

Формат ввода и вывода в программе
Формат ввода

Первая строка входного файла содержит два натуральных числа

$n$

и

$m$

— количества городов и дорог в Государстве Линейного Распределения соответственно.

$(1 leq n leq 20000, 1 leq m leq 200000)$

. Следующие m строк содержат описание дорог по одной строке. Дорога номер i описывается двумя натуральными числами

$b_i, e_i$

— номерами городов, которые эта дорога соединяет

$(1 leq b_i, e_i leq n)$

Формат вывода

Первая строка выходного файла должна содержать одно натуральное число b — количество дорог, на которых необходимо поставить бастионы. На следующей строке выводится b целых чисел — номера дорог, на которых будут установлены бастионы, по возрастанию. Дороги нумеруются с единицы в том порядке, в котором они заданы во входном файле.

Такие условия были даны изначально, в коде решения, который я приведу ниже, ввод производится с клавиатуры, а вывод — в консоль.

Часть 2. первое интервью

Интересный момент, что получилось провести интервью только через неделю, тк то у меня не получалось, то интервьюера. Мы созвонились в зуме, он представился, сказал, что возглавляет отдел аналитики Яндекс.Маркета, начал общение сразу на “ты”, позднее мне рекрутер сказал, что в Яндексе так принято.

Интервьюер, назовём его Сергей, рассказал как будет устроено интервью: 10 минут я должен рассказать о себе, потом ТЗ (задача на питоне) и задачи на теорвер.Я вкратце рассказал о себе, своем проекте про алгоритмы кластеризации, которым я занимаюсь в институте.

Он позадавал пару стандартных вопросов из разряда: “Почему Яндекс?”, “Какие качества мне стоит развивать?”, “Что было моим успехом?” .Далее была ТЗ: вывести список уникальных слов, считываемых из файла. Я код написал, в целом, ему важна была идея и знания синтаксиса. Всё подводные камни я разгадал у этой задачи, но не сразу. Вот сами камни:

  1. Если файл пустой

  2. Английский и русский язык (что будет?)

  3. Отделение знаков препинания

  4. Первые слова в предложении

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

  1. Бросаем монетку 10 раз. Какова вероятность, что выпадет 10 орлов? [(1/2)^10] 

  2. Бросаем монетку 10 раз. Какова вероятность, что выпадет 9 орлов? [10*(1/2)^10]

  3. В ящике есть 4 вида носков. Носков бесконечно много. Сколько нужно изьятий, чтобы получить пару? [5]

Далее, задача на математику: “У Аркадия много жён. У него есть коллекция кактусов, которые он решил раздать всем жёнам. Первой жёне отдал 1000 кактусов и 10% от остатка. Второй жене 2000 кактусов и 10% от остатка. И так далее… Каждая жена получила поровну.

Сколько жён у Аркадия?Ход решения я тоже рассказал. Чтобы не ждать, пока я посчитаю, он мне сказал, сколько всего было кактусов и я дал ответ. [81000 всего кактусов, 9000 каждой жене]. Последней была задачка на проверку аналитических способностей:20 детям в детском садике задали вопрос: живут ли их родители вместе?

На что 2 ребёнка ответили, что не живут. На следующий день в местной газете выходит статья с заголовком: “10% семей в нашем городе в разводе”. Почему данное утверждение неверно? Всего есть 6 ключевых пунктов, до 2х последних я, к сожалению, не додумался:

  1. Дети могут быть из одной семьи

  2. Разный возраст детей, и, соответственно, разные группы, то-то более осознанный, кто-то ещё не понимает вопроса.

  3. Месторасположение садика, может выборка была только в благополучном/неблагополучном районе.

  4. У ребёнка может быть один родитель или у ребёнка может быть мачеха/отчим, отсюда неверные результаты.

  5. Дети врут.

  6. Есть семьи, где дети не ходят в садик.

После этой задачи Сергей рассказал мне как я в целом отвечал и рассказал, чем занимается отдел аналитики.У них есть 2 типа задач:

  1. Визуализация данных, представление менеджерам отчётов, в частности, работа в Tableau, то есть создание дашбордов.

  2. Прогонка данных из одного сервиса в другой

Я позадавал вопросы и Сергей сказал, что назначит через рекрутера ещё одно интервью, где мне подробнее расскажут про задачи.

После интервью создалось приятное впечатление о интервьюере и о возможных задачах и в целом от общения.

🎲 40 вопросов по статистике с собеседований на должность data scientist

Каждый Data Scientist знает, что фундаментальные знания статистики необходимы для успеха в его профессии. Поэтому мы прошерстили Интернет и нашли сорок вопросов по статистике, задаваемых аналитикам данных на собеседовании.

1. Как оценить статистическую значимость анализа?

Для оценки статистической значимости нужно провести проверку гипотезы. Сначала определяют нулевую и альтернативную гипотезы. Затем рассчитывают p – вероятность получения наблюдаемых результатов, если нулевая гипотеза верна. Наконец, устанавливают уровень значимостиalpha. Если p < alpha, нулевая гипотеза отвергается – иными словами, анализ является статистически значимым.

2. Приведите три примера распределений с длинным хвостом. Почему они важны в задачах классификации и регрессии?

Пример распределения с «длинным хвостом»
Пример распределения с «длинным хвостом»

Три практических примера: степенной закон, закон Парето и продажи продуктов (например, продукты-бестселлеры против обычных).

При решении задач классификации и регрессии важно не забывать о распределении с длинным хвостом, поскольку редко встречающиеся значения составляют существенную часть выборки. Это влияет на выбор метода обработки выбросов. Кроме того, некоторые методики машинного обучения предполагают, что данные распределены нормально.

3. Что такое центральная предельная теорема, и почему она важна?

Лучшие вопросы средней сложности по SQL на собеседовании аналитика данных / Блог компании Дата-центр «Миран» / Хабр

Центральная предельная теорема (ЦПТ) говорит о том, что сумма достаточно большого количества слабо зависимых случайных величин с примерно одинаковыми масштабами имеет распределение, близкое к нормальному.

Центральная предельная теорема важна, поскольку она используется при проверке гипотез и расчете доверительных интервалов.

4. Что такое статистическая мощность?

Статистическая мощность – это мощность бинарной гипотезы, то есть вероятность отклонения нулевой гипотезы, если альтернативная гипотеза верна.

5. Что такое ошибка отбора (в отношении данных), и почему она важна? Как предварительная обработка данных может ухудшить ситуацию?

Ошибка отбора – это выбор для анализа людей, групп или данных методом, не обеспечивающим должную рандомизацию, в результате чего выборка не является репрезентативной.

Существуют следующие виды ошибок отбора:

  • ошибка выборки: выборка, полученная не в результате случайного отбора.
  • интервал времени: выбор особого интервала времени, поддерживающего желаемый вывод – например, исследование продаж перед Рождеством.
  • воздействие: включает клиническую уязвимость, протопатическую ошибку и ошибку показателей (подробнее см. здесь).
  • ошибка данных: выборочное представление фактов, избирательный подход, выборочное цитирование.
  • ошибка истощения: включает «ошибку выжившего», когда в анализ включаются только те, кто «пережил» длительный процесс и «ошибку неудачников», когда в анализ включаются только те, кто потерпел неудачу.

Обработка пропущенных данных может усилить влияние ошибок отбора. Например, если вы заменяете значения nullна средние значения, вы добавляете в данные ошибку, поскольку считаете, что данные не имеют такого разброса, который они могут иметь на самом деле.

6. Дайте простой пример того, как постановка экспериментов может помочь ответить на вопрос о поведении. Как экспериментальные данные контрастируют с данными наблюдений?

Данные наблюдений получаются от исследования наблюдений, когда мы наблюдаем значения нескольких переменных и определяем, есть ли между ними корреляция.

Экспериментальные данные получаются от исследования экспериментов, когда мы контролируем некоторые переменные и сохраняем их значения неизменными, определяя их влияние на результат.

Лучшие вопросы средней сложности по SQL на собеседовании аналитика данных / Блог компании Дата-центр «Миран» / Хабр

Вот пример постановки эксперимента: разбейте группу на две части. Контрольная группа живет, как обычно. Тестовую группу просят выпивать по бокалу вина каждый вечер на протяжении 30 дней. После этого можно исследовать, как вино влияет на сон.

7. Является ли подстановка средних значений вместо пропусков допустимым? Почему?

Подстановка средних значений – это метод замены пропусков в наборе данных средними значениями соответствующих признаков.

Как правило, подстановка средних значений – плохой метод, поскольку он не принимает во внимание корреляцию между признаками.

Например, у нас есть таблица с данными о возрасте и уровне физической формы, и для 80-летнего человека уровень физической формы пропущен. Если мы возьмем средний уровень физической формы для всех возрастов от 15 до 80 лет, очевидно, что наш 80-летний получит более высокий уровень, чем имеет на самом деле.

Кроме того, подстановка средних значений уменьшает дисперсию данных и повышает уровень ошибок. Это приводит к менее точной модели и более узким доверительным интервалам.

8. Что такое выброс и внутренняя ошибка? Объясните, как их обнаружить, и что бы вы делали, если нашли их в наборе данных?

Выброс (англ. outlier) – это значение в данных, существенно отличающееся от прочих наблюдений.

В зависимости от причины выбросов, они могут быть плохими с точки зрения машинного обучения, поскольку ухудшают точность модели. Если выброс вызван ошибкой измерения, важно удалить его из набора данных. Есть пара способов обнаружения выбросов.

1) Z-оценка/стандартные отклонения: если мы знаем, что 99.7% данных в наборе лежат в пределах тройного стандартного отклонения, мы можем найти элементы данных, выходящие за эти пределы. Точно так же, мы можем рассчитать z-оценку каждого элемента, и если она равна /- 3, это выброс.

Лучшие вопросы средней сложности по SQL на собеседовании аналитика данных / Блог компании Дата-центр «Миран» / Хабр

2) Межквартильное расстояние (Inter-Quartile Range, IQR) – концепция, положенная в основу ящиков с усами (box plots), которую также можно использовать для нахождения выбросов. МКР – это расстояние между 3-м и 1-м квартилями. После его расчета можно считать значение выбросом, если оно меньше Q1-1.5*IQR или больше Q3 1.5*IQR. Это составляет примерно 2.7 стандартных отклонений.

Лучшие вопросы средней сложности по SQL на собеседовании аналитика данных / Блог компании Дата-центр «Миран» / Хабр

Другие методы включают кластеризацию DBScan, Лес Изоляции и устойчивый случайно-обрубленный лес.

Внутренняя ошибка (inlier) – это наблюдение, лежащее в пределах общего набора данных, но необычное либо ошибочное. Поскольку оно находится там же, где остальные данные, его труднее идентифицировать, чем выброс. Внутренние ошибки обычно можно просто удалить из набора данных.

9. Как вы обрабатываете пропуски? Какие методы подстановки вы рекомендуете?

Существует несколько способов обработки пропущенных данных:

  • удаление строк с пропущенными данными;
  • подстановка среднего значения, медианы или моды;
  • присваивание уникального значения;
  • предсказание пропущенных значений;
  • использование алгоритма, допускающего пропуски – например, случайный лес.

Лучший метод – удалить строки с пропусками, поскольку это гарантирует, что мы не добавим никаких ошибок или сдвигов, и, в конечном счете, получим точную и надежную модель. Однако, этот метод можно использовать лишь в тех случаях, когда данных много, а процент пропусков невысок.

10. Есть данные о длительности звонков в колл-центр. Разработайте план кодирования и анализа этих данных. Приведите пример, как может выглядеть распределение этих данных. Как бы вы могли проверить, хотя бы графически, подтверждаются ли ваши ожидания?

Чтобы очистить, исследовать и представить данные, я бы провел EDA – Exploratory Data Analysis (разведочный анализ данных). В процессе EDA я бы построил гистограмму длительности звонков, чтобы увидеть их распределение.

Можно предположить, что длительность звонков следует логнормальному распределению. Длительность звонка не может быть отрицательной, так что нижнее значение равно 0. На другом конце гистограммы будет небольшое количество очень длинных звонков.

Пример логнормального распределения
Пример логнормального распределения

Чтобы подтвердить, распределена длительность звонков логнормально или нет, мы могли бы использовать график КК (QQPlot).

11. Расскажите, какой обычно бывает разница между административным набором данных и данными, полученными в результате эксперимента? Какие проблемы обычно встречаются в административных данных? Как экспериментальные данные позволяют справиться с этими проблемами, и какие проблемы они могут принести?

Административные наборы данных – это обычно наборы, используемые правительством или иными организациями для нужд, не связанных со статистикой.

Административные данные обычно больше, и их дешевле получить, чем экспериментальные данные. Вместе с тем, административные наборы данных часто не содержат всех данных, которые могут понадобиться, и могут храниться в неудобном формате. В них также встречаются ошибки и пропуски.

12. Вы составляете отчет по объему загруженного пользователями контента, и обнаруживаете пик загрузок в октябре – причем это пик загрузки изображений. Что могло послужить причиной этого, и как бы вы проверили свою догадку?

Есть несколько потенциальных причин пика загрузки изображений.

  1. В октябре могла появиться новая возможность, завоевавшая популярность пользователей. Например, возможность создания фотоальбомов.
  2. Возможно, до октября процесс загрузки изображений не был понятен пользователям, но именно в октябре это изменилось.
  3. В социальных сетях могло появиться вирусное движение, включающее загрузку фотографий, которое продолжалось весь октябрь.
  4. Возможно, люди публиковали свои фотографии в костюмах для Хэллоуина.

Метод проверки зависит от причины пика, но для тестирования правильности догадки используется проверка гипотез.

13. Вы летите в Казань, и хотите решить, стоит ли брать зонт. Вы звоните трем случайным казанцам и спрашиваете, идет ли дождь. Каждый из них говорит правду с вероятностью 2/3, а с вероятностью 1/3 обманывает вас. Все трое говорят, что дождь идет. Какова вероятность, что он идет на самом деле?

Поскольку последнее предложение фактически спрашивает: «какова вероятность A при условии, что верно B?», можно сразу сказать, что здесь нужна теорема Байеса. Нам потребуется информация о вероятности дождя в Казани в произвольный день, не связанный с полетом Допустим, она равна 25%.

P(A) = вероятность дождя = 25%

P(B) = вероятность, что все три казанца говорят, что идет дождь.

P(A|B) = вероятность дождя, при условии, что все трое говорят, что он идет.

P(B|A) = вероятность, что все трое говорят, что идет дождь, при условии, что он действительно идет = (2/3)3=8/27.

Шаг 1. Находим P(B)

Формулу Байеса P(A|B) = P(B|A) * P(A) / P(B) можно переписать в виде

P(B) = P(B|A) * P(A) P(B| не А) * P(не A)

P(B) = (2/3)3*0.25 (1/3)3*0.75 = 0.25*8/27 0.75*1/27.

Шаг 2. Находим P(A|B)

P(A|B) = 0.25*(8/27) / (0.25*8/27 0.75*1/27) = 8 / (8 3) = 8/11.

Таким образом, если все три казанца говорят, что идет дождь, то он действительно идет с вероятностью 8/11.

14. В первой коробке 12 черных и 12 красных карт, а во второй – 24 черных и 24 красных. Если вытянуть две случайные карты из одной коробки, для какой коробки вероятность вытянуть две карты одного цвета будет выше?

Вероятность вытянуть две карты одного цвета выше для второй коробки, содержащей по 24 карты каждого цвета.

Если мы вытянули, например, красную карту из первой коробки, там останется 11 красных карт и 12 черных, то есть вероятность вытянуть вторую красную карту будет 11 / (11 12) = 11/23.

Во второй коробке после вытягивания первой карты останется 23 карты того же цвета и 24 карты другого, то есть вероятность вытянуть вторую карту того же цвета будет 23 /(23 24) = 23/47.

Поскольку 23/47 > 11/23, вероятность вытянуть две карты одного цвета из коробки, в которой больше карт, выше.

15. Что такое подъем (lift), ключевые показатели эффективности (KPI), робастность, обучение модели, планирование эксперимента, правило 80/20?

Подъем (lift) – мера качества предсказаний модели по сравнению с моделью, выбирающей результат случайным образом. Иными словами, подъем определяет, насколько модель лучше, чем отсутствие какой-либо модели.

Ключевые показатели эффективности (KPI): измеримые метрики, показывающие, насколько хорошо компания добивается бизнес-целей. Например, это процент ошибок.

Под робастностью обычно понимают способность модели работать в сложных условиях (например, с данными, содержащими пропуски и выбросы), и оставаться эффективной.

Обучение модели – настройка внутренних параметров модели, чтобы добиться меньших ошибок на обучающем наборе данных.

Планирование эксперимента (design of experiment, DOE) – подготовка задач для описания и объяснения изменений информации, которые предположительно должны отражать поведение переменной. Фактически, эксперимент пытается предсказать результат, основываясь на изменении одного или более входных параметров – независимых переменных.

Правило 80/20 (закон Парето) гласит, что 80% эффекта получается от 20% случаев. Например, 80% продаж приходится на 20% клиентов.

16. Дайте определение понятиям «обеспечение качества» и «шесть сигм».

Обеспечение качества (Quality Assurance, QA) – действия или набор действий, направленных на поддержание желаемого уровня качества, минимизацию ошибок и дефектов.

Шесть сигм – вид методологии обеспечения качества, включающий набор техник и инструментов, улучшающих процесс. Процесс «шесть сигм» – тот, в котором 99.99966% результатов не имеют дефектов.

17. Приведите пример данных, распределение которых не Гауссово и не логнормальное.

  • Любые категориальные данные не будут иметь ни гауссова, ни логнормального распределения.
  • Экспоненциальные распределения. Например, количество времени, которое продержится автомобильный аккумулятор или время до следующего землетрясения.

18. Что такое RCA (root cause analysis)? Как отличить причину от корреляции? Приведите примеры.

Анализ причин (root cause analysis, RCA) – метод решения задач, используемый для выявления причин некоторого явления.

Корреляция измеряет уровень зависимости между двумя переменными, от -1 до 1. Причинно-следственная связь – это когда первое событие вызывает второе. Причинно-следственные связи учитывают только прямые зависимости, тогда как корреляция – и косвенные зависимости.

Провести анализ причинно-следственных связей можно с помощью проверки гипотез или A/B тестирования.

19. Приведите пример, когда медиана лучше описывает данные, чем среднее значение.

Когда в данных значительное количество выбросов в положительную или отрицательную сторону, медиана искажается не так сильно, как среднее значение.

20. Вы бросаете два шестигранных кубика. Какова вероятность, что сумма выпавших значений будет равна 4? А 8?

Выбросить 4 можно тремя комбинациями: (1 3, 2 2, 3 1). Поскольку всего комбинаций 36, P(4) = 3/36 = 1/12.

Выбросить 8 можно пятью комбинациями: (2 6, 3 5, 4 4, 5 3, 6 2). P(8) = 5/36.

21. Что такое Закон больших чисел?

Закон больших чисел – это теорема, согласно которой при увеличении количества испытаний среднее значение будет приближаться к ожидаемому.

Например, после 100 тыс. бросков правильной монеты процент выпавших гербов будет ближе к 50%, чем после 100 бросков.

22. Как рассчитать необходимый размер выборки?

Для определения желаемого размера выборки можно использовать формулу предельной ошибки (margin of error):

  • t или z – значение t/z, использованное при расчете доверительного интервала.
  • S – стандартное отклонение выборки.

23. Какие ошибки вы можете внести, когда делаете выборку?

  • Ошибка выборки: неслучайный выбор включаемых в выборку объектов.
  • Ошибка недостаточности: для анализа берется слишком мало наблюдений.
  • Ошибка выжившего: игнорирование наблюдений, не прошедших через весь процесс получения данных.

24. Как уменьшить количество ошибок выборки?

Два простых метода – это рандомизация, при которой наблюдения выбираются случайным образом, и случайная выборка, при которой каждое наблюдение имеет равный шанс попасть в выборку.

25. Что такое вмешивающиеся переменные?

Вмешивающаяся переменная – это переменная, влияющая как на зависимую переменную, так и на независимую. Она создает мнимую ассоциацию – математическую связь, в которой задействовано несколько переменных, не имеющих причинно-следственных связей друг с другом.

26. Что такое A/B тестирование?

A/B тестирование – это метод проверки гипотез по двум выборкам для одной и той же переменной, контрольной и тестовой. Широко применяется для улучшения обслуживания пользователей и в маркетинге.

27. Уровень заражений в больнице, превышающий 1 заражение на 100 человеко-дней, считается высоким. В некоторой больнице было 10 заражений за последние 1787 человеко-дней. Вычислите P-значение верного одностороннего теста, чтобы определить, высок ли уровень заражений в этой больнице.

Поскольку мы анализируем количество событий (заражений), произошедших за определенный интервал времени, нужно использовать распределение Пуассона:

Нуль-гипотеза: 1 заражение на 100 человеко-дней или меньше

Альтернативная гипотеза: больше 1 заражения на 100 человеко-дней.

k (фактическое) = 10 заражений.

Лямбда (теоретическое) = 1/100 * 1787.

P = 0.032372 или 3.2372% (можно рассчитать с помощью using.poisson() в Excel, ppois в R или scipy.stats.poisson в Python)

Поскольку значение P меньше альфы (при уровне значимости 5%), мы отвергаем нулевую гипотезу, и делаем вывод, что больница не соответствует стандарту.

28. Вы бросаете жульническую монету (вероятность герба=0.8) пять раз. Какова вероятность, что выпадет минимум три герба?

Для ответа на этот вопрос используем общую формулу биномиальной вероятности:

В нашей задаче p = 0.8, n=5, k=3, 4, 5.

P(3 или больше гербов) = P(3 герба) P(4 герба) P(5 гербов) = 0.94 или 94%.

29. Случайная величина X распределена нормально со средним значением 1020 и стандартным отклонением 50. Вычислите P(X>1200).

Используем Excel: p = 1-norm.dist(1200, 1020, 50, true). Получаем p=0.000159.

30. Пусть количество пассажиров на автобусной станции имеет распределение Пуассона со средним значением 2.5 в час. Какова вероятность, что за 4 часа появится не более трех человек?

x=3, а среднее значение за 4 часа = 2.5*4=10.

Используем Excel: p=poisson.dist(3, 10, true), и получаем p=0.010336.

31. Тест на ВИЧ имеет чувствительность 99.7% и специфичность 98.5%. Пациент из окружения с распространенностью заболевания 0.1% получил положительный результат теста. Какова точность теста (то есть, вероятность, что он ВИЧ-позитивен)?

Точность теста = PV = (0.001*0.997)/[(0.001*0.997) ((1–0.001)*(1–0.985))] = 0.0624 или 6.24%.

Более подробно об этом уравнении можно прочитать здесь.

32. Вы баллотируетесь на пост, и ваш социолог опросил 100 избирателей, 60 из которых сказали, что собираются голосовать за вас. Можете ли вы быть уверены в победе?

  • Примем для простоты, что у вас только один соперник.
  • Также примем, что желаемый доверительный интервал составляет 95%. Это даст нам z-оценку 1.96.

В нашей задаче p = 0.6, z = 1.96, n = 100, что дает доверительный интервал [50.4, 69.6].

Таким образом, при доверительном интервале 95% вы можете расслабиться, только если ничего не имеете против победы с минимальным перевесом. В противном случае придется добиться 61 голоса из 100 опрошенных, чтобы не беспокоиться.

33. Счетчик Гейгера записывает 100 радиоактивных распадов за 5 минут. Найдите приблизительный 95% интервал для количества распадов в час.

  • Поскольку это задача на распределение Пуассона, среднее = лямбда = дисперсия, что также означает, что стандартное отклонение = квадратному корню из среднего.
  • Доверительный интервал 95% соответствует z-оценке 1.96.
  • Одно стандартное отклонение = 10.

То есть, доверительный интервал равен 100 /- 19.6 = [964.8, 1435.2].

34. Количество убийств в Шотландии упало со 115 до 99. Является ли это изменение значимым?

Эта задача аналогична предыдущей – зесь тоже используется распределение Пуассона. Доверительный интервал равен 115 /- 21.45 = [93.55, 136.45]. Поскольку 99 находится в этом доверительном интервале, мы можем сделать вывод, что это изменение не является значимым.

35. Рассмотрим эпидемию инфлюэнцы для гетеросексуальных семей с двумя родителями. Предположим, что вероятность заражения хотя бы одного родителя 17%. Вероятность заражения отца 12%, а заражения обоих родителей – 6%. Какова вероятность заражения матери?

Используем общее правило сложения вероятностей:

P(мать или отец) = P(мать) P(отец) – P(мать и отец)

P(мать) = P(мать или отец) P(мать и отец) – P(отец) = 0.17 0.06 – 0.12 = 0.11

36. Предположим, что диастолическое кровяное давление мужчин от 35 до 44 распределено нормально со средним значением 80 (мм. рт. столба) и стандартным отклонением 10. Чему примерно равна вероятность того, что давление случайного мужчины меньше 70?

Поскольку 70 – это одно стандартное отклонение вниз от среднего значения, нужно взять площадь Гауссова распределения до минус одного стандартного отклонения: 2.3 13.6 = 15.9%.

37. Выборка 9 человек из интересующей нас популяции выявила средний объем мозга = 1100 куб.см. со стандартным отклоненим 30 куб.см. Каким будет 95% Т-доверительный интервал Стьюдента для среднего объема мозга в этой популяции?

Используем формулу доверительного интервала для выборки:

Учитывая уровень доверительности 95% и количество степеней свободы, равное 8, t-оценка = 2.306.

Доверительный интервал = 1100 /- 2.306*(30/3) = [1076.94, 1123.06].

38. Девять испытуемых получали диетические пилюли на протяжении 6 недель. Средняя потеря веса составила -2 кг. Каким должно быть стандартное отклонение потери веса, чтобы верхняя граница 95% Т-доверительного интервала была равна 0?

Верхняя граница = среднее t-оценка * (стандартное отклонение / квадратный корень из размера выборки).

0 = -2 2.306*(s/3)

2 = 2.306 * s / 3

s = 2.601903

Таким образом, стандартное отклонение должно быть примерно 2.60, чтобы Т-доверительный интервал заканчивался в нуле.

39. Для тестирования новой и старой систем сортировки пациентов неотложной помощи исследователи выбрали 20 ночей и случайным образом назначили новую систему сортировки на 10 из них, в остальных оставив старую. Они рассчитали среднее время ожидания (СВО) доктора для каждой ночи. Для новой системы СВО = 3 часа с отклонением 0.60, тогда как для старой было 5 часов с отклонением 0.68. Оцените 95% доверительный интервал для разницы в среднем СВО между системами. Считайте дисперсию постоянной.

Воспользуемся формулой нахождения доверительного интервала для двух независимых выборок (используем t-таблицу для n1 n2-2 степеней свободы):

Доверительный интервал – это среднее /- t-оценка * стандартную ошибку.

Среднее значение = новое среднее – старое среднее = 3-5 = -2.

t-оценка равна 2.101, учитывая 18 степеней свободы (20-2) и 95% доверительный интервал.

Стандартная ошибка = sqrt(0.62*9 0.682*9)/(10 10–2)) * sqrt(1/10 1/10) = 0.352. Доверительный интервал = [-2.75, -1.25].

40. Для дальнейшего тестирования системы сортировки пациентов администраторы выбрали 200 ночей и случайным образом назначили новую систему на 100 из них, оставив старую для 100 остальных. Они посчитали среднее время ожидания (СВО) каждой ночи – для новой системы 4 часа со стандартным отклонением 0.5, а для старой – 6 часов со стандартным отклонением 2 часа. Рассмотрите гипотезу о сокращении времени ожидания при новой системе. Что предполагает 95% независимый групповой доверительный интервал с неравными дисперсиями для этой гипотезы? (Поскольку измерений на группу так много, просто используйте Z-квантиль вместо T).

Предположим мы вычитаем в порядке «Новая система – Старая система». Используем формулу доверительных интервалов для двух независимых выборок и Z-таблицу для стандартного нормального распределения:

среднее значение = новое среднее – старое среднее = 4-6 = -2

z-оценка = 1.96 для доверительного интервала 95%

Стандартная ошибка = sqrt((0.52*99 0.22*99)/(100 100–2)) * sqrt(1/100 1/100) = 0.205061.

Нижняя граница = -2–1.96*0.205061 = -2.40192

Верхняя граница = -2 1.96*0.205061 = -1.59808

Доверительный интервал равен[-2.40192, -1.59808]

Часть 5. заключение

Пройдусь по каждому пункту.

1) Задачи на Яндекс Контесте – 9/10

Несложные, интересные задачи, но непонятен момент с проверкой некоторых задач на оптимальность кода. Действительно ли аналитик должен придумывать самый оптимальный по времени и памяти код или аналитик нужен для других целей?

2) Общение с рекрутером – 10/10

Рекрутер довольно развернуто и оперативно отвечал на все вопросы по почте, после 1го интервью сразу перешел в телеграм для удобства

3) Первое интервью – 10/10

Первое интервью мне очень понравилось. Задачи, подсказки от Сергея, лёгкое и приятное общение.

4) Второе интервью – 5/10

Было слишком много стандартных вопросов, словесная нагрузка в начале интервью от Светланы. Считаю, что можно было кратко и менее нагружено представиться и рассказать, чем занимается отдел. Непростые вопросы на аналитику, сейчас поясню. Должен ли человек, который подаёт на позицию стажёра “Аналитик данных” знать продуктовую аналитику? Наверное, да.

5) Выводы

К сожалению, я получил только фидбек, только написанный в части 4. Проанализировав 2 интервью, я сделал вывод о том, что нужно подтянуть sql. Насчёт продуктовой аналитики я не знаю, в каждой компании свои процессы и заранее вникать в особенности ее работы, наверное, тяжело и затратно по времени. Я согласен, что если ты работаешь уже внутри, то ты обязан знать все подробности, но до этого – вряд ли.

Попробую ли я ещё раз? Думаю, да. Через полгода, может раньше. Несмотря на отказ. Мне нравятся сервисы, которые делает компания и я активно ими пользуюсь. Поэтому было бы интересно поучаствовать в их улучшении.

Буду рад, если этот пост поможет кому-то подготовиться и попасть в Яндекс.

Также буду рад, если получу рекомендации/здравую критику о вышеизложенном и советы для дальнейшей подготовки.

Оцените статью
Аналитик-эксперт
Добавить комментарий

Adblock
detector