Python | Вопросы собесов
Сайт: https://easyoffer.ru/ Все каналы: t.me/+xGeAw6ckJ4liYzQy Контакт для рекламы: @sendme_ads
Show more📈 Analytical overview of Telegram channel Python | Вопросы собесов
Channel Python | Вопросы собесов (@python_easy_ru) in the Russian language segment is an active participant. Currently, the community unites 12 637 subscribers, ranking 9 922 in the Technologies & Applications category and 51 155 in the Russia region.
📊 Audience metrics and dynamics
Since its creation on невідомо, the project has demonstrated rapid growth, gathering an audience of 12 637 subscribers.
According to the latest data from 13 October, 2026, the channel demonstrates stable activity. Although there has been a change in the number of participants by -115 over the last 30 days and by -6 over the last 24 hours, overall reach remains high.
- Verification status: Not verified
- Engagement rate (ER): The average audience engagement rate is 6.04%. Within the first 24 hours after publication, content typically collects 4.18% reactions from the total number of subscribers.
- Post reach: On average, each post receives 763 views. Within the first day, a publication typically gains 528 views.
- Reactions and interaction: The audience actively supports content: the average number of reactions per post is 2.
- Thematic interests: Content is focused on key topics such as ставь, модуль, строка, docker, alice.
📝 Description and content policy
The author describes the resource as a platform for expressing subjective opinions:
“Сайт: https://easyoffer.ru/
Все каналы: t.me/+xGeAw6ckJ4liYzQy
Контакт для рекламы: @sendme_ads”
Thanks to the high frequency of updates (latest data received on 14 October, 2026), the channel maintains relevance and a high level of publication reach. Analytics show that the audience actively interacts with content, making it an important point of influence in the Technologies & Applications category.
__new__ для создания класса по шаблону Singleton, нужно следовать принципам, которые обеспечивают создание только одного экземпляра класса. Метод new отвечает за создание нового экземпляра класса, и его можно использовать для контроля этого процесса. Ниже приведен пример реализации Singleton с использованием метода new.
class Singleton:
_instance = None
def __new__(cls, *args, **kwargs):
if cls._instance is None:
cls._instance = super(Singleton, cls).__new__(cls, args, kwargs)
return cls._instance
def __init__(self, value):
if not hasattr(self, 'initialized'):
self.value = value
self.initialized = True
# Проверка работы Singleton
singleton1 = Singleton(10)
singleton2 = Singleton(20)
print(singleton1 is singleton2) # Выведет: True
print(singleton1.value) # Выведет: 10
print(singleton2.value) # Выведет: 10
🚩Объяснение кода
Атрибут _instance
cls._instance используется для хранения единственного экземпляра класса.
Метод
e):
🚩Метод init
Метод init выполняет инициализацию экземпляра.
Чтобы избежать повторной инициализации, проверяется наличие атрибута initialized. Если он не существует, происходит инициализация атрибутов и устанавливается initialized = True.
Ставь 👍 и забирай 📚 Базу знанийpip можно скачать определённую версию библиотеки с помощью оператора ==
pip install имя_библиотеки==версия
🚩Примеры
Установка конкретной версии
pip install numpy==1.21.0
Обновление до последней версии в пределах конкретного диапазона
pip install requests>=2.25,<3.0
Проверка доступных версий перед установкой
pip install имя_библиотеки==
Например
pip install pandas==
Установка из файла requirements.txt
Если нужно установить несколько библиотек с конкретными версиями, можно создать requirements.txt
numpy==1.21.0 requests>=2.25,<3.0 pandas==1.3.0И выполнить команду
pip install -r requirements.txt
Ставь 👍 и забирай 📚 Базу знанийasync, await).
🚩Потоки (Threading)
Потоки позволяют выполнять несколько частей кода (потоков) параллельно в пределах одного процесса. Используются для выполнения многозадачных операций, которые могут быть распределены между несколькими ядрами процессора. Потоки могут выполняться параллельно, но могут также конкурировать за общие ресурсы, что может привести к проблемам синхронизации и безопасности. В некоторых языках, таких как Python, использование потоков ограничено из-за GIL (Global Interpreter Lock), что может снижать эффективность при использовании множества потоков для CPU-интенсивных задач.
🚩Мультипроцессинг (Multiprocessing)
Мультипроцессинг также позволяет выполнять несколько частей кода параллельно, но каждая часть выполняется в отдельном процессе. Каждый процесс имеет свое собственное пространство памяти, что делает мультипроцессинг более подходящим для многозадачных вычислений на многоядерных системах. Процессы обычно имеют больший накладные расходы по сравнению с потоками, поскольку каждый из них требует своих собственных ресурсов памяти и управления. Мультипроцессинг избегает проблемы GIL, что делает его более эффективным для CPU-интенсивных задач в Python и других языках.
Ставь 👍 и забирай 📚 Базу знанийPOST /users { "name": "Alice" }
🚩Идемпотентность в базах данных
В SQL запросы SELECT и DELETE часто идемпотентны, а INSERT — нет.
DELETE FROM users WHERE id = 5;
Этот запрос идемпотентен — удаление пользователя с ID = 5 несколько раз не изменит систему (если он уже удалён).
INSERT INTO users (name) VALUES ('Alice');
Ставь 👍 и забирай 📚 Базу знанийimport datetime
# Меняем поведение метода now()
def fake_now():
return datetime.datetime(2000, 1, 1)
datetime.datetime.now = fake_now # Monkey Patch
print(datetime.datetime.now()) # Выведет 2000-01-01 00:00:00
🚩Может вызвать неожиданные ошибки после обновления библиотек
Если библиотека обновится, и её внутренняя логика изменится, Monkey Patch может перестать работать или, что ещё хуже, привести к багам.
Ты сделал Monkey Patch метода json.dumps, а потом библиотека json обновилась и поменяла его сигнатуру. Теперь твой патч сломается или будет работать некорректно.
🚩Трудно отлаживать и поддерживать
Monkey Patching меняет поведение кода в скрытом режиме, поэтому сложно понять, почему что-то работает не так. Если баг возник из-за патча, отладка может занять часы или даже дни.
Ты исправил баг с str.split(), заменив его через Monkey Patch, но через 6 месяцев разработчик обновил код, забыл про патч, и всё сломалось.
🚩Может затронуть весь код проекта (глобальное изменение)
Monkey Patching меняет поведение для всей программы, а не только в одном модуле или файле. Это делает код хрупким и непредсказуемым.
Если ты изменишь метод dict.get(), он будет вести себя по-другому во всех модулях программы. Это может привести к критическим ошибкам.
original_get = dict.get
def patched_get(self, key, default=None):
print(f"Запрашивается ключ: {key}")
return original_get(self, key, default)
dict.get = patched_get # Monkey Patch
d = {"a": 10}
print(d.get("a")) # Работает, но теперь с побочным эффектом
🚩Нет гарантии, что это сработает во всех окружениях
Monkey Patch может работать на одной версии Python или библиотеки, но сломаться на другой. В продакшене, где есть разные серверы и окружения, это может вызвать непредсказуемые ошибки.
Ставь 👍 и забирай 📚 Базу знанийdocker rm), все данные, хранящиеся внутри него, исчезнут навсегда.
docker run --name mydb -e MYSQL_ROOT_PASSWORD=secret -d mysql
docker stop mydb
docker rm mydb # Удаляем контейнер – все данные пропали!
🚩Проблемы с обновлением и масштабированием
Если база данных хранится внутри контейнера, обновить версию MySQL/PostgreSQL будет сложно. При пересоздании контейнера все данные потеряются, и их придется восстанавливать из резервной копии.
🚩Низкая производительность I/O
Хранение данных внутри контейнера может снизить скорость работы базы, потому что Docker использует копию на запись (Copy-on-Write, CoW).
Решение — использовать прямые тома (volumes) или монтировать каталог хоста.
docker run --name mydb -v /data/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=secret -d mysql
🚩Проблемы с резервным копированием
Если база находится внутри контейнера, то сделать бэкап или восстановить данные сложно.
Лучшее решение: использовать volumes + делать бэкапы через mysqldump или pg_dump.
docker exec mydb mysqldump -u root -psecret mydatabase > backup.sql
Ставь 👍 и забирай 📚 Базу знаний