🔗 Коротко о задачах по Python на собеседования

Задачи делятся по направлению: — алгоритмы, библиотеки для data (Pandas/Numpy), быстрые вопросы по языку, SQL/базы, системный дизайн, тестирование

Важно не только дать правильный ответ, но и объяснить идею, оценить сложность, покрыть краевые случаи и — если уместно — предложить оптимизации

🎲 Алгоритмы

Что проверяют? Знание базовых структур, умение мыслить о сложности, оптимизировать решение

Частые примеры: - RLE-сжатие строки: “aaabbbc” -> “3a3b1c” - Двоичный (binary) поиск, найти левую/правую границу, работать с монотонными функциями - Сортировки и их свойства (stability, in-place, сложность) - Поиск подстрок, KMP, двухуказательный подход, скользящее окно - Задачи на графы (BFS/DFS), кратчайший путь (Dijkstra), связные компоненты

🐼 Pandas / Numpy

Что проверяют? Знакомство с ключевыми операциями, умение эффективно работать с таблицами/векторами

Примеры вопросов: - Как объединить таблицы? (merge/join, how=‘left’/‘inner’) - Аналог CASE WHEN: np.where, pd.cut, .apply (если нужно), map - Группировки и агрегации: groupby + agg, transform - Векторизация вместо apply для ускорения - Приведение типов: astype, to_datetime - Как заменить пустые значения в столбце? (fillna) Полезно знать сложность операций и память, уметь профилировать (memory_usage, .info())

💡 OOP и проектирование кода

Что проверяют? Умение моделировать предметную область, шаблоны проектирования

Примеры: - Спроектировать класс-кеш с LRU - Объяснить SOLID-подходы на примере - Важно показать понятие инкапсуляции, интерфейсов и тестируемости

⚙️ Тестирование и отладка

Что проверяют? Умение писать unit-тесты, думать о граничных случаях

Примеры: - Написать тесты для функции сортировки/валидации - Найти баг в коротком фрагменте кода (debugging) - Полезно: упоминать edge-cases, и писать assert/pytest примеры

🧨 Вот пример задачи, которую могут дать на собесе дата аналитика:

Дан DataFrame orders с колонками: user_id, order_date (datetime), amount (float) Напишите код, который:

1) Добавит колонку cohort_month — месяц первой покупки пользователя (strftime(‘%Y-%m’)). 2) Посчитает для каждого пользователя retention: % пользователей из когорты, совершивших покупку в N-м месяце после первой. 3) Выведет таблицу retention matrix (строки — когорты, столбцы — месяцы после, значения — %).

Ставьте лайк, если понравился пост :)

🔗 Коротко о задачах по Python на собеседования | Сетка — социальная сеть от hh.ru 🔗 Коротко о задачах по Python на собеседования | Сетка — социальная сеть от hh.ru