Что такое рефлексия?
Рефлексия — это возможность программы изучать и модифицировать свою структуру и поведение во время выполнения.
В отличие от интроспекции, которая позволяет получать информацию об объектах, рефлексия дает возможность изменять саму программу.
Основные возможности рефлексии в Python:
— Создание новых классов и объектов программно во время выполнения
— Изменение структуры класса в рантайме путем добавления/удаления атрибутов и методов
— Вызов методов по их именам, переданным в виде строк
— Создание прокси-объектов для перехвата вызовов функций и методов
Библиотека собеса по Python
В отличие от интроспекции, которая позволяет получать информацию об объектах, рефлексия дает возможность изменять саму программу.
Основные возможности рефлексии в Python:
— Создание новых классов и объектов программно во время выполнения
— Изменение структуры класса в рантайме путем добавления/удаления атрибутов и методов
— Вызов методов по их именам, переданным в виде строк
— Создание прокси-объектов для перехвата вызовов функций и методов
Библиотека собеса по Python
👍5
⚡️ Будь как этот гений с картинки — предлагай свои условия работодателю, а не наоборот!
Кто нужен?
Но если вы пока джун — я бы предложил:
- Full-time контракт: 180к/мес после курса + опцион на карьеру в топ-компаниях
- Либо фикс за проект: стань ML-инженером за 39к вместо 44к с промокодом LASTCALL
🔗 Старт 9 сентября
Кто нужен?
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
Библиотека собеса по Python
👍6
Иногда реально ощущение, что нас держат в Матрице.
Большинство сидит, читает статьи про ML, смотрит ролики «как это работает» — и всё.
❗ Сегодня последний день промокода Lastcall (−5000 ₽).
Уже завтра стартует первый вебинар по Машинному обучению — полный набор для выхода из Матрицы.
Кто готов вырваться из симуляции и ворваться в сезон найма?
👾 — я уже в команде Нео
👍 — хочу красную таблетку
🤔 — пока думаю, но интересно
👉 Забронируй место сейчас
Большинство сидит, читает статьи про ML, смотрит ролики «как это работает» — и всё.
❗ Сегодня последний день промокода Lastcall (−5000 ₽).
Уже завтра стартует первый вебинар по Машинному обучению — полный набор для выхода из Матрицы.
Кто готов вырваться из симуляции и ворваться в сезон найма?
👾 — я уже в команде Нео
👍 — хочу красную таблетку
🤔 — пока думаю, но интересно
👉 Забронируй место сейчас
🤔1
Для чего используются метаклассы?
Метаклассы используются для создания классов и позволяют изменять поведение класса, модифицировать процесс его создания.
Основные случаи использования метаклассов:
— Реализация паттернов проектирования, таких как Singleton, Factory Method и другие.
— Проверка типов. Метакласс может валидировать атрибуты класса, параметры методов, выполнять инъекцию зависимостей.
— Регистрация классов. С помощью метакласса можно автоматически регистрировать создаваемые классы, например, в глобальном реестре.
— Создание протоколов и интерфейсов, похожих на языки, подобные Protocol Buffers.
— Логирование и трассировка. Метакласс позволяет следить за созданием класса и вызовами его методов.
— Расширение класса дополнительным функционалом. Добавление методов к классу через метакласс.
Библиотека собеса по Python
Основные случаи использования метаклассов:
— Реализация паттернов проектирования, таких как Singleton, Factory Method и другие.
— Проверка типов. Метакласс может валидировать атрибуты класса, параметры методов, выполнять инъекцию зависимостей.
— Регистрация классов. С помощью метакласса можно автоматически регистрировать создаваемые классы, например, в глобальном реестре.
— Создание протоколов и интерфейсов, похожих на языки, подобные Protocol Buffers.
— Логирование и трассировка. Метакласс позволяет следить за созданием класса и вызовами его методов.
— Расширение класса дополнительным функционалом. Добавление методов к классу через метакласс.
Библиотека собеса по Python
👍2
Чем отличаются mutable и immutable типы данных в Python и почему это важно понимать при работе с функциями и коллекциями?
Immutable (строки, числа, кортежи) — нельзя изменить после создания, операции создают новый объект.
Mutable (списки, словари, множества) — можно изменять "на месте".
Важно: передача в функции идёт по ссылке, и изменения в mutable-объекте сохраняются, что может привести к неожиданным побочным эффектам.
Библиотека собеса по Python
Mutable (списки, словари, множества) — можно изменять "на месте".
Важно: передача в функции идёт по ссылке, и изменения в mutable-объекте сохраняются, что может привести к неожиданным побочным эффектам.
Библиотека собеса по Python
👍3
Что такое генераторы в Python и в каких случаях их стоит использовать вместо списков?
Генераторы — это объекты, которые «лениво» отдают значения по одному через yield или генераторные выражения. Они экономят память и ускоряют обработку больших данных, так как не хранят всю коллекцию целиком. Используются, когда нужно итерироваться по большим наборам данных или потокам, где не требуется хранить всё в памяти.
Библиотека собеса по Python
Библиотека собеса по Python
👍6❤1
Ваш Python-сервис использует asyncio и под нагрузкой работает стабильно, но при длительном тесте вы замечаете утечку памяти. Garbage Collector не освобождает объекты, хотя ссылки на них вроде бы удалены. Как будете искать и устранять проблему?
Проверю циклические ссылки и висящие таски, которые не завершаются. Использую tracemalloc, objgraph, gc.get_objects() для анализа живых объектов. Часто причиной бывает забытый asyncio.Task без await или глобальные кэши. Решение — правильно завершать корутины, использовать weakref, ограничивать размер кэшей (например, LRUCache) и при необходимости контролировать GC-паузы.
Библиотека собеса по Python
Библиотека собеса по Python
❤🔥2👍2
🔥 Последняя неделя перед стартом курса по AI-агентам
Старт курса уже 15го числа! Если вы планировали вписаться — сейчас ПОСЛЕДНИЙ шанс забронировать место
На курсе:
— разложим LLM по косточкам: токенизация, SFT, PEFT, инференс
— соберём RAG и научимся оценивать его адекватно
— построим настоящую мультиагентную систему — архитектуру, которая умеет расти
— разберём CoPilot, сломаем через prompt injection (спасибо Максу)
— и наконец, посмотрим, как это работает в MCP и реальных кейсах
📍 Это 5 живых вебинаров + раздатка + домашки + чат с преподавателями
И главное — возможность реально разобраться, как проектировать системы на LLM, а не просто «поиграться с API»
Промокод на 5.000₽: LASTCALL
👉 Курс здесь
Старт курса уже 15го числа! Если вы планировали вписаться — сейчас ПОСЛЕДНИЙ шанс забронировать место
На курсе:
— разложим LLM по косточкам: токенизация, SFT, PEFT, инференс
— соберём RAG и научимся оценивать его адекватно
— построим настоящую мультиагентную систему — архитектуру, которая умеет расти
— разберём CoPilot, сломаем через prompt injection (спасибо Максу)
— и наконец, посмотрим, как это работает в MCP и реальных кейсах
📍 Это 5 живых вебинаров + раздатка + домашки + чат с преподавателями
И главное — возможность реально разобраться, как проектировать системы на LLM, а не просто «поиграться с API»
Промокод на 5.000₽: LASTCALL
👉 Курс здесь
Async-сервис читает сообщения из Kafka и для каждого делает asyncio.create_task(process(msg)). Под пиковыми нагрузками растут задержки и RSS памяти, при этом CPU невысокий. В чём причина и как это исправить?
“Fire-and-forget” порождает неограниченное число задач, накапливается бэклог и объекты удерживаются в памяти до завершения тасков. Введите backpressure: ограничьте параллелизм через Semaphore/bounded Queue, батчируйте и await’ьте завершение (например, через пул воркеров или лимитированный gather), используйте pause/resume у Kafka-клиента, таймауты/отмену подвисших задач и корректные finally для освобождения ресурсов.
Библиотека собеса по Python
Библиотека собеса по Python
👍2
Что такое функциональное программирование?
Функциональное программирование — это парадигма программирования, в которой основными строительными блоками являются функции.
В функциональном программировании функции рассматриваются как математические функции — они принимают входные данные и возвращают результат.
Основные принципы функционального программирования:
— Чистота функций: функции не должны иметь побочных эффектов и зависеть только от своих аргументов.
— Иммутабельность: данные в функциональном программировании неизменяемы.
— Рекурсия вместо циклов: в функциональном программировании циклы заменены на рекурсивные вызовы функций.
— Высшего порядка функции: функции могут принимать на вход и возвращать другие функции.
— Ленивые вычисления: вычисления откладываются до тех пор, пока результат не потребуется.
Библиотека собеса по Python
В функциональном программировании функции рассматриваются как математические функции — они принимают входные данные и возвращают результат.
Основные принципы функционального программирования:
— Чистота функций: функции не должны иметь побочных эффектов и зависеть только от своих аргументов.
— Иммутабельность: данные в функциональном программировании неизменяемы.
— Рекурсия вместо циклов: в функциональном программировании циклы заменены на рекурсивные вызовы функций.
— Высшего порядка функции: функции могут принимать на вход и возвращать другие функции.
— Ленивые вычисления: вычисления откладываются до тех пор, пока результат не потребуется.
Библиотека собеса по Python
👍4❤1
Библиотека собеса по Python
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
В чём различие между __getattribute__ и __getattr__, и когда вызывается каждый?
Короткий ответ: __getattribute__ вызывается при каждом обращении к атрибуту; __getattr__ — только если атрибут не найден обычным способом. Внутри __getattribute__ нужно делегировать в super().__getattribute__, иначе будет бесконечная рекурсия.
Библиотека собеса по Python
Библиотека собеса по Python
👍1
VK проводит Weekend Offer для бэкенд-разработчиков и ML-инженеров. Это отличная возможность получить офер за 2 дня и не проходить много этапов.
Ищут бэкендеров со знанием Java, Go, Python или C++.
И MLщиков, с навыками в Classic ML, RecSys, NLP/LLM, CV, Speech.
Важный момент: ищут коллег с опытом коммерческой разработки от трех лет.
Совпадает? Тогда у вас есть все шансы получить приглашение на работу за 2 дня: технические собеседования 4 октября, а финалы, знакомство с командами и офер 5 октября.
Отправляйте заявку до 2 октября и станьте частью VK! Подробнее — на сайте.
Ищут бэкендеров со знанием Java, Go, Python или C++.
И MLщиков, с навыками в Classic ML, RecSys, NLP/LLM, CV, Speech.
Важный момент: ищут коллег с опытом коммерческой разработки от трех лет.
Совпадает? Тогда у вас есть все шансы получить приглашение на работу за 2 дня: технические собеседования 4 октября, а финалы, знакомство с командами и офер 5 октября.
Отправляйте заявку до 2 октября и станьте частью VK! Подробнее — на сайте.
👍1
FastAPI + SQLAlchemy 2.0 (async). Под нагрузкой растёт latency, пул соединений к БД забит, запросы «висят». Как диагностировать и починить без тупого увеличения пула?
Включить метрики/логирование пула (в т.ч. pool_size, overflow, время ожидания), найти долгие запросы (slow query log/EXPLAIN) и утечки сессий. Гарантировать жизненный цикл через контекст: async with AsyncSession() as s: .../sessionmaker, закрывать курсоры. Настроить pool_pre_ping/pool_recycle, таймауты (connect/statement). Ввести backpressure: лимитировать параллелизм (Semaphore/очередь), кратковременно ретраить. Оптимизировать SQL/индексы; при необходимости — кэш/батчи/денормализация.
Библиотека собеса по Python
Библиотека собеса по Python