Библиотека собеса по Python | вопросы с собеседований
6.05K subscribers
658 photos
13 videos
481 links
Вопросы с собеседований по Python и ответы на них.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/6587aafa

Для обратной связи: @proglibrary_feeedback_bot
Download Telegram
Осталось 48 часов!

Обратный отсчёт пошёл: только до воскресенья 23:59 можно купить курс «AI-агенты для DS-специалистов» и начать учиться уже с 15 сентября.

⚡️ Это ваши +3 недели форы, чтобы спокойно разобраться в самых сложных темах и прийти к первому занятию 7 октября уже подготовленным.

👉 Забрать место
🥱1
🤓 «Сначала выучу Python идеально, а потом пойду в ML»

Звучит логично, но на практике — ловушка.
Python огромный: фреймворки, библиотеки, нюансы синтаксиса. Учить «всё сразу» можно бесконечно.

В итоге — месяцы зубрёжки, а до ML руки так и не доходят.

На старте достаточно баз: типы данных, циклы, функции, работа с библиотеками. Всё остальное лучше подтягивать в процессе решения ML-задач.

⚠️ До 1 сентября курсы можно забрать по старым ценам. Это последние выходные, когда:
ML идёт за 34 000 вместо 44 000 ₽ + Python в подарок,
два в одном: оплатите курс по математике и получите второй доступ в подарок,
— и главное: можно купить все курсы до подорожания.

👉 ML для старта в Data Science

А для будущих Data Scientist’ов у нас ещё:
Базовые модели ML и приложения
Математика для Data Science
AI-агенты для DS-специалистов (2-й поток скоро)
👍1
🤖 Что делать, если нужно сериализовать данные, которые не поддерживаются стандартным модулем json?

Если нужно сериализовать объекты, которые по умолчанию не поддерживаются модулем json, то есть несколько вариантов:

— Реализовать методы getattr и setattr в классе объекта, чтобы преобразовать его в словарь, который уже можно сериализовать в JSON.

— Использовать декоратор dataclass из модуля dataclasses для автоматической генерации методов сериализации.

— Создать собственный класс-наследник json.JSONEncoder и переопределить метод default(), чтобы указать как сериализовать нестандартные объекты.

— Использовать библиотеку marshmallow для создания схем сериализации/десериализации сложных объектов в JSON.

— Преобразовать объекты в dict или list вручную перед сериализацией с помощью методов объекта или отражения (reflection).

— Использовать другой формат сериализации, например YAML или MessagePack, который может поддерживать произвольные типы.


Библиотека собеса по Python
👍3
В высоконагруженном Python-сервисе время отклика начинает расти при увеличении числа потоков, хотя CPU используется не полностью. В чём может быть причина и как это исправить?

Причина в GIL: в Python одновременно выполняется только один поток байткода, поэтому многопоточность не даёт прироста для CPU-bound задач. Решение — использовать multiprocessing/ProcessPoolExecutor или вынести вычисления в C-расширения/NumPy.

Библиотека собеса по Python
👍41
ПОСЛЕДНИЙ ДЕНЬ
КУРСЫ ПОДОРОЖАЮТ ЗАВТРА‼️

ML за 34к вместо 44к + Python в подарок
Математика → второй доступ в подарок
— Ранний доступ к AI-агентам с 15 сентября
— И МОЖНО УСПЕТЬ КУПИТЬ ВСЁ ДО ПОДОРОЖАНИЯ

👉 Proglib Academy
🤔2
В Python-сервисе под нагрузкой заметно растёт время отклика. Профилирование показывает, что большая часть времени тратится на сериализацию и десериализацию JSON. Как вы будете искать и устранять проблему?

Сначала проверю профилером “горячие места” сериализации (cProfile, line_profiler). Для оптимизации можно заменить стандартный модуль json на более быстрые реализации (ujson, orjson), использовать pydantic/датаклассы с валидацией только там, где это нужно, или кэшировать результаты сериализации для часто используемых структур.

Библиотека собеса по Python
👍3
Что такое Django Rest Framework (DRF)?

Django Rest Framework — это фреймворк с открытым исходным кодом, основанный на Django, который позволяет быстро создавать RESTful API.

Кстати, у нас есть курс по машинному обучению для старта в Data Science:
https://proglib.academy/machine-learning

Библиотека собеса по Python
👍1
Переворачиваем календарь — а там скидки, которые уже закончились.

Но мы их вернули на последний день 🤔

До 00:00 третьего сентября (цены как до 1 сентября):

▪️ Математика для Data Science — 35.199 ₽ вместо 44.900 ₽
▪️ Алгоритмы и структуры данных — 31.669 ₽ вместо 39.900 ₽
▪️ Основы IT — 14.994 ₽ вместо 19.900 ₽
▪️ Архитектуры и шаблоны — 24.890 ₽ вместо 32.900 ₽
▪️ Python — 24.990 ₽ вместо 32.900 ₽
▪️ ML для Data Science — 34.000 ₽ вместо 44. 000 ₽
▪️ AI-агенты — 49.000 ₽ вместо 59.000 ₽

👉 Хватаем скидки из прошлого

P.S. Машину времени одолжили у дяди Миши
👍1
В продакшн Django-приложении пользователи жалуются на «N+1 проблему» при выборках связанных объектов. Как вы будете диагностировать и устранять её?

Проверю SQL-запросы через django-debug-toolbar или логирование ORM. Если вижу множественные запросы для связанных моделей — перепишу код с использованием select_related (для ForeignKey/OneToOne) или prefetch_related (для ManyToMany/Reverse FK). При необходимости — вынесу тяжёлые выборки в кастомные SQL-запросы или оптимизирую структуру модели.

Библиотека собеса по Python
👍2
😎 Сколько баллов набрали вы?

Голосуйте, какой у вас уровень разработчика:

😁 — 5-12 баллов (стажер)
👍 — 13-25 баллов (джуниор)
⚡️ — 26-40 баллов (джуниор+)
👏 — 41-60 баллов (миддл)
🔥 — 61-80 баллов (миддл+)
🎉 — 81-100 баллов (сеньор)
🤩 — 100+ баллов (тимлид)

Но вот в чем прикол — опытный разработчик набирает баллы не случайными косяками, а осознанными решениями.

👉 Научим, как быстро прокачаться от стажера до сеньора
👍1
В высоконагруженном Python-сервисе вы замечаете, что CPU загружен слабо, но задержки обработки запросов постоянно растут. При анализе видно, что большая часть времени тратится на сетевые операции. Что может быть причиной и как это исправить?

Причина в том, что сервис выполняет блокирующие I/O-операции в потоках или синхронно. Для исправления нужно перейти на асинхронную модель (asyncio, uvloop), использовать асинхронные драйверы для работы с БД/HTTP и вынести тяжёлые операции в отдельный пул процессов или потоков.

Библиотека собеса по Python
👍2
🎮 КВЕСТОВАЯ ЛИНИЯ: «Путь Data Scientist'а»

⮕ Твой стартовый набор искателя данных:
Python — твое легендарное оружие (урон по багам +∞)
Математика — твой базовый интеллект (влияет на понимание алгоритмов)
Машинное обучение — твое дерево навыков (открывает новые способности)


⚡️ АКТИВЕН ВРЕМЕННЫЙ БАФФ: «Щедрость наставника»

Эффект: –30% к цене полного набора ДСника
Было: 121.800 ₽ → Стало: 84.900 ₽

☞ Что ждет тебя в этом квесте

— Получение артефактов: портфолио проектов и сертификаты— Прокачка от новичка до Senior Data Scientist— Босс-файты с реальными задачами из индустрии— Доступ к гильдии единомышленников


📎 Забрать бафф
Рассрочки: 3 мес | 6 мес | 12 мес
😢2
Что такое рефлексия?

Рефлексия — это возможность программы изучать и модифицировать свою структуру и поведение во время выполнения.

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

Основные возможности рефлексии в Python:
— Создание новых классов и объектов программно во время выполнения
— Изменение структуры класса в рантайме путем добавления/удаления атрибутов и методов
— Вызов методов по их именам, переданным в виде строк
— Создание прокси-объектов для перехвата вызовов функций и методов


Библиотека собеса по Python
👍5
⚡️ Будь как этот гений с картинки — предлагай свои условия работодателю, а не наоборот!

Кто нужен?

Senior ML-Engineer с опытом работы более 6 месяцев в FAANG компаниях. Требование: разработать кросс-платформенное приложение-трекер зарплат с AI-распознаванием вакансий по резюме.


Но если вы пока джун — я бы предложил:

- Full-time контракт: 180к/мес после курса + опцион на карьеру в топ-компаниях

- Либо фикс за проект: стань ML-инженером за 39к вместо 44к с промокодом LASTCALL

🔗 Старт 9 сентября
👍1
В продакшн-сервисе на Python вы замечаете постепенный рост потребления памяти (memory leak). Как будете искать и устранять проблему?

Соберу метрики памяти и сниму heap dump с помощью tracemalloc, objgraph или memory_profiler. Проверю, нет ли висящих ссылок (глобальные коллекции, кэш, циклические ссылки). Если виноваты сторонние библиотеки — обновлю или изолирую. Для оптимизации — внедрю лимиты, пулы объектов, кеш с TTL и мониторинг утечек в CI/CD.

Библиотека собеса по Python
👍5
Иногда реально ощущение, что нас держат в Матрице.

Большинство сидит, читает статьи про ML, смотрит ролики «как это работает» — и всё.

Сегодня последний день промокода Lastcall (−5000 ₽).
Уже завтра стартует первый вебинар по Машинному обучению — полный набор для выхода из Матрицы.

Кто готов вырваться из симуляции и ворваться в сезон найма?

👾 — я уже в команде Нео
👍 — хочу красную таблетку
🤔 — пока думаю, но интересно

👉 Забронируй место сейчас
Для чего используются метаклассы?

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

Основные случаи использования метаклассов:
— Реализация паттернов проектирования, таких как Singleton, Factory Method и другие.
— Проверка типов. Метакласс может валидировать атрибуты класса, параметры методов, выполнять инъекцию зависимостей.
— Регистрация классов. С помощью метакласса можно автоматически регистрировать создаваемые классы, например, в глобальном реестре.
— Создание протоколов и интерфейсов, похожих на языки, подобные Protocol Buffers.
— Логирование и трассировка. Метакласс позволяет следить за созданием класса и вызовами его методов.
— Расширение класса дополнительным функционалом. Добавление методов к классу через метакласс.


Библиотека собеса по Python
👍1
Чем отличаются mutable и immutable типы данных в Python и почему это важно понимать при работе с функциями и коллекциями?

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

Mutable (списки, словари, множества) — можно изменять "на месте".

Важно: передача в функции идёт по ссылке, и изменения в mutable-объекте сохраняются, что может привести к неожиданным побочным эффектам.


Библиотека собеса по Python
👍2