- Почему ты решил стать аналитиком данных, чем тебя привлекает профессия?
- Есть ли опыт командной разработки? Как у вас происходил процесс взаимодействия с другими аналитиками?
- Как ты относишься к написанию кода: делаешь так, чтоб просто работало, или пишешь обдуманно?
- Какие инструменты используешь?
- Сталкивался ли с ревью кода? Как проходило ревью? По какому принципу бы сам проводил ревью?
- С какими менеджерами задач работал?
- Приходилось ли тебе работать в команде? Как у вас была устроена работа с Git?
- Что такое доверительный интервал?
- Что такое P-value?
- Что такое Парадокс Симпсона?
- Как устроены словари?
- Что такое хеш-функция?
- Что такое декораторы?
- Какими библиотеками в работе ты пользовался?
- Работал ли с pandas? Какие методы и основные функции использовал?
- Работал ли с
matplotlib
? Какие методы и основные функции использовал? - Какая разница между кортежем и списком в Python? Между множеством и списком?
- Практическая задачка: создай
dataframe
из списка, из массива. - Что такое функция
map()
и как ее применять? А для чего используетсяreduce()
?
- В чем разница между
WHERE
иHAVING
в SQL? - В чем разница между
UNION
иUNION ALL
? - Какие есть способы обнаружения и удаления дубликатов? Назови три различных подхода.
- Какие join-ы чаще всего используешь? Расскажи подробнее про каждый.
- Предположим у нас есть какой-то продукт, например, светофор. Какую бы метрику качества его работы ты бы предложил?
- Задачка по теории вероятности: предположим 10% писем, которые приходят к нам - это спам. Пользователь получил 100 писем, какая вероятность того, что хотя бы 5 емейлов это спам?
- Задачка: найди самую большую зарплату в отделе, найди вторую самую высокую зарплату? Можно ли решить задачу другим способом?
- Какие есть способы обнаружения и удаления дубликатов? Назови три различных подхода.
- Задачка по теории вероятности: Представьте пустынную дорогу, за 30 минут вероятность, что проедет хотя бы 1 машина - 95%. Какова вероятность, что хотя бы 1 машина проедет за 10 минут?
- Задачка по прогнозированию: Нашим приложением пользуются и с мобильного приложения и через сайт. За прошлый месяц конверсия в покупку упала относительного предыдущего месяца. Но по отдельности конверсия за веб-приложение и мобильное увеличилась. Как такое может быть?
- Задачка по прогнозированию: предположим, что мы решили внедрить платный продукт. Случайно выбрали пользователей для теста. Новым продуктом воспользовались 1000 человек. Каким способом можно спрогнозировать на 95% доверительном интервале медианный/средний чек?
- Вопрос про изменение среднего чека. Допустим есть интернет-магазин с двумя товарами. Мы решили повысить цены сразу на два товара. Покупок в месяц меньше не стало при этом. Верно ли, что средний чек такого магазина вырастет?
- Маркетинговая задача. Перед нами стоит задача снижения стоимости привлечения клиентов. Есть показатель CTR - как люди кликают на объявление в Интернете. Взяли один баннер, но с разными цветами. Выяснили, что конверсия зеленого в два раза больше, чем у красного. Вопрос - верно ли наше предположение, что если мы начнем больше бюджета заливать в зеленый баннер, то стоимость привлечения клиентов снизится?
- При анализе данных интернет-магазина мы заметили, что пользователи, которые привязывают к профилю социальной сети, у них намного выше средний чек, чем у тех, кто не привязывает. У нас появилась идея стимулировать всех пользователей привязывать социальные сети. Насколько это правильная/неправильная инициатива по твоему мнению и почему?
- В каких случаях используем медиану, а в каких среднее значение?
- Для чего проводят А/А тесты?
- Что такое p-value?
- Какие статистические критерии знаешь?
- Есть магазин и в нем только 4 категории товаров. В каждой из них вырос средний чек, что произошло с общим средним чеком?
- На нашем сайте была кнопка зеленого цвета, и было 10 посетителей и 3 из них оставили заявку. Потом кнопка стала красной, на сайт зашли 10 посетителей и 4 из них оставили заявку. Какие выводы мы можем сделать? Как нам провести A/B-тестирование? Как для этого использовать стат.критерии? Как определить количество наблюдений? Как мы можем поделить аудиторию? В каких случаем используем деление по клиенту? Как расчитать длительность эксперимента?
- Нам нужно разработать метрики общеобразовательной школы. Чего мы можем это нам нужно? Как будем оценивать успеваемость? Как избежать завышения оценок? Как посчитать рейтинг школ? Как измерить оснащенность школ? Что еще можно придумать?
- Как сделать рейтинг по ВУЗам? Как можем собирать данные? Подойдет ли балл ЕГЭ?
- Напиши функцию, которая считает сумму всех цифр этого числа. ? Как можно ее оптимизировать по памяти? Какая сложность кода по памяти и временной сложности в конечном варианте?
Пример функции для оптимизации
def find_sum(num):
return sum(int(digit) for digit in str(abs(num)))
Пример оптимизации
def find_sum(num):
num = abs(num)
sum = 0
while num > 0:
sum += num % 10
num = num // 10
return sum
- Есть таблица лога транзакций в MySQL:
CREATE TABLE transaction_log (
account_id BIGINT,
dt DATE,
transaction_amt DOUBLE,
CONSTRAINT transaction_id PRIMARY KEY (account_id, dt)
);
INSERT INTO transaction_log (account_id, dt, transaction_amt) VALUES
(1001, '2023-01-01', 150.75),
(1001, '2023-01-02', -50.00),
(1002, '2023-01-01', 200.00),
(1002, '2023-01-03', 75.50),
(1003, '2023-01-02', -20.00),
(1003, '2023-01-04', 300.00),
(1004, '2023-01-01', 500.00),
(1004, '2023-01-05', -100.00),
(1005, '2023-01-02', 250.00),
(1005, '2023-01-06', 100.00);
Считаем, что для каждого счета может быть только одна транзакция в каждую дату. Нужно посчитать нарастающий итог для каждого account_id
на каждую дату и вывести сумму транзакций по данному счёту до данной даты включительно.
Ответ
SELECT account_id, dt, sum(transaction_amt) OVER (PARTITION BY account_id
ORDER BY dt) AS sum_amt
FROM transaction_log;
-
Продукт образовательный онлайн-сервис, где ученики могут решать задачи бесконечное количество раз. Напиши запрос, который выведет по каждой задаче решаемость с первой попытки?
-
таблица Students
- id (int)
- date_created (timestamp)
- grade (int) класс ученика от 1 до 11
- rating (int) рейтинг успеваемости от 0 до 100
-
таблица решений задач Attempts
- id (int)
- date_created (timestamp)
- student_id (int) идентификатор студента
- problem_id (int) идентификатор задачи
- is_mistake (bool) nar ошибочное решение или верное
-
-
Есть датафрейм с колонками Order_dttm (дата-время), city, order_id. Сделай из этого таблицу с помощью библиотек Python:
- Строки - города
- Столбцы - месяца
- Значения - доля заказов по месяцу внутри города (сумма значений о строкам = 1, каждый месяц это дата)