Обзор собеседования (Ч. 1)

IT и разработка 25.12.2025 · 👁 550 просмотров
Обзор собеседования (Ч. 1) Компания : USETECH (аутстафф) Вилка : +-250к net Должность : Дата аналитик Формат : Удаленный Этапы собеседования : HR – Тех. собес 1 (внутренний) – Тех. собес 2 (у заказчика) – Offer Грейд : Middle / Middle + Дата собеседования : декабрь 2025 Давно не было обзоров и вот опять! Тех. собес был оч длинный - около 1.5-2х часов Cначала сама галера собесит, дальше уже напрямую заказчик. Как сказала HR, иногда могут сразу напрямую к заказчику направить на собес (минуя внутренний тех. этап). Из явных плюсов - удобно для второй работы, тк могут оформлять по ИП/ГПХ. Сам обзор разобью на 2 части - материала много и он показался интересным. В данной части разберем техничку SQL + Python, а в след. блоке обсудим теор/практические вопросы, которые поднимались на собесе. Технический блок: SQL + Python 1 Выручка по месяцам Посчитать месячную выручку по таблице orders. Решение: SELECT DATE_TRUNC('month', order_date) AS month_id, SUM(amount) AS rev FROM orders GROUP BY 1; 2 Клиенты с повторными заказами Найти клиентов, у которых больше одного заказа. Решение: SELECT customer_id FROM orders GROUP BY 1 HAVING COUNT(*) > 1; 3 Порядковый номер заказа клиента Пронумеровать заказы каждого клиента по дате. Решение: SELECT customer_id, order_id, ROW_NUMBER() OVER ( PARTITION BY customer_id ORDER BY order_date ) AS rn FROM orders; 4 Доля сотрудников с зарплатой выше порога Посчитать долю сотрудников с зарплатой выше 50 000. employee_salaries (employee_id, salary) Решение: SELECT COUNT(*) FILTER (WHERE salary > 50000) * 1.0 / COUNT(*) AS share FROM employee_salaries; ps проверяют знание FILTER и понимание целочисленного деления (в SQL int / int дает 0 без приведения к float, те если не умножим числитель/знаменатель на 1.0/ не переведем его в float - в выводе будет 0) 5 Корреляция зарплаты и перформанса Оценить корреляцию между зарплатой и performance score. employee_salaries (employee_id, salary, performance_score) Решение: SELECT CORR(salary, performance_score) AS corr FROM employee_salaries; ps база по статистике + допом был вопрос почему корреляция не равна причинности (показывает наличие связи, но не объясняет (не)влияния друг на друга) 6 Средняя зарплата и разброс по департаментам Посчитать среднюю зарплату и стандартное отклонение по департаментам. employee_salaries (employee_id, department_id, salary) Решение: SELECT department_id, AVG(salary) AS avg_sal, STDDEV(salary) AS std_sal FROM employee_salaries GROUP BY 1; ps базовая статистика в SQL Python 7 Агрегация по категориям Посчитать суммарные net sales по категориям. df (category, net_sales) Решение: result = df.groupby("category", as_index=False).agg( total_net=("net_sales", "sum")) ps база по работе с пандас 8 Флаг «выше среднего» Создать бинарный флаг: продажи выше среднего. df (sales) Решение: avg_sales = df["sales"].mean() df["flag"] = (df["sales"] > avg_sales).astype(int) 9 MinMaxScaler Нормализовать продажи через MinMaxScaler df (sales) (Написать самому, без import'a) Решение: df["sales_norm"] = ( (df["sales"] - df["sales"].min()) / (df["sales"].max() - df["sales"].min()) ) ps это один из подходов к нормализации данных - приведение признаков к единому масштабу [0;1], чтобы признаки были сопоставимы между собой (часто требуется для обучения моделей). Альтернатива - стандартизация, данные приводятся к среднему 0 (от значения отнимается среднее) и стандартному отклонению 1 (делится на стандартное отклонение) 10 NaN / None / NA *️⃣ None - объект Python (NoneType), обозначает отсутствие значения, используется без дополнительных библиотек *️⃣ NaN - специальное числовое значение типа float («не число»), применяется для пропусков в числовых данных (math / numpy / pandas) *️⃣ NA - тип pandas NA, используется в pandas как универсальное обозначение пропусков и совместим с NaN В целом, задачки не сложные, по теор. блоку спрос был посерьезнее, но это уже во 2 части А ты бы решил все задачки? 👇 @data_driven_bogdan
Откликнуться в Telegram →

⚠️ Никогда не платите «за оформление» или «гарантию трудоустройства» — это признак мошенников. Работа ТРУ не несёт ответственности за содержание вакансии.

🇮🇱 Не нашли подходящую зарплату? В Израиле платят от $3000 Без языка и опыта · жильё и легализация под ключ · официально Смотреть вакансии →