es
Feedback
Python | Вопросы собесов

Python | Вопросы собесов

Ir al canal en Telegram

📈 Análisis del canal de Telegram Python | Вопросы собесов

El canal Python | Вопросы собесов (@python_easy_ru) en el segmento lingüístico de Ruso es un actor destacado. Actualmente la comunidad reúne a 13 105 suscriptores, ocupando la posición 9 737 en la categoría Tecnologías y Aplicaciones y el puesto 50 735 en la región Rusia.

📊 Métricas de audiencia y dinámica

Desde su creación el невідомо, el proyecto ha mostrado un crecimiento acelerado, reuniendo a 13 105 suscriptores.

Según los últimos datos del 08 junio, 2026, el canal mantiene una actividad estable. En los últimos 30 días la variación de miembros fue de -51, y en las últimas 24 horas de 1, conservando un alto alcance.

  • Estado de verificación: No verificado
  • Tasa de interacción (ER): El promedio de interacción de la audiencia es 8.36%. Durante las primeras 24 horas tras publicar, el contenido suele obtener 5.74% de reacciones respecto al total de suscriptores.
  • Alcance de las publicaciones: Cada publicación recibe en promedio 1 096 visualizaciones. En el primer día suele acumular 752 visualizaciones.
  • Reacciones e interacción: La audiencia responde de forma activa: el promedio de reacciones por publicación es 4.
  • Intereses temáticos: El contenido se centra en temas clave como ставь, модуль, строка, docker, alice.

📝 Descripción y política de contenido

El autor describe el recurso como un espacio para expresar opiniones subjetivas:
Cайт: easyoffer.ru Реклама: @easyoffer_adv ВП: @easyoffer_vp Тесты t.me/+20tRfhrwPpM4NDQy Задачи t.me/+nsl4meWmhfQwNDVi Вакансии t.me/+cXGKkrOY2-w3ZTky

Gracias a la alta frecuencia de actualizaciones (últimos datos recibidos el 09 junio, 2026), el canal mantiene la vigencia y un amplio alcance. La analítica demuestra que la audiencia interactúa activamente con el contenido, lo que lo convierte en un punto de referencia dentro de la categoría Tecnologías y Aplicaciones.

13 105
Suscriptores
+124 horas
-97 días
-5130 días
Archivo de publicaciones
🤔 Для чего нужен счетчик ссылок Python? В Python счетчик ссылок (reference count) используется для управления памятью. Он показывает, сколько раз объект используется в программе. Когда счетчик ссылок падает до нуля, Python автоматически удаляет объект, освобождая память. 🚩Как работает счетчик ссылок? Python использует автоматическое управление памятью, основанное на подсчёте ссылок. Когда создаётся объект, Python хранит специальное число — количество ссылок на этот объект. Это число увеличивается, когда мы создаём новую ссылку на объект, и уменьшается, когда удаляем или перезаписываем переменную.
import sys

a = [1, 2, 3]  # Создаём список
print(sys.getrefcount(a))  # Выведет 2 (одна ссылка 'a' + вызов getrefcount)

b = a  # Новая ссылка на тот же объект
print(sys.getrefcount(a))  # Теперь 3 (a, b и сам getrefcount)

del a  # Удаляем одну ссылку
print(sys.getrefcount(b))  # Теперь 2

del b  # Удаляем последнюю ссылку, объект будет удалён из памяти
🚩Почему это важно? 🟠Эффективное управление памятью Python сам удаляет ненужные объекты, не давая памяти переполняться. 🟠Понимание утечек памяти Если объект имеет циклические ссылки (например, список ссылается сам на себя), Python не может освободить его сразу, поэтому дополнительно используется сборщик мусора (Garbage Collector, GC).
import gc

class Node:
    def __init__(self):
        self.ref = self  # Циклическая ссылка!

n = Node()
del n  # Обычный подсчёт ссылок не сработает, объект останется в памяти
gc.collect()  # Явный вызов сборщика мусора удалит его
Ставь 👍 и забирай 📚 Базу знаний

🤔 Как найти баланс между соблюдением KISS и DRY? Баланс достигается через минимизацию сложности (KISS), но не за счёт повторяющегося кода (DRY). Это требует анализа контекста и компромиссов. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 Два способа создания класса В Python можно создать класс двумя основными способами: Через class (обычный способ) Через type() (динамическое создание класса) 🚩Обычное создание класса через `class` Это стандартный способ, который мы используем чаще всего.
class Person:
    def __init__(self, name):
        self.name = name

    def say_hello(self):
        return f"Привет, я {self.name}!"

p = Person("Алиса")
print(p.say_hello())  # Привет, я Алиса!
🚩Динамическое создание класса через `type()` Функция type() позволяет создать класс "на лету".
Person = type("Person", (object,), {
    "__init__": lambda self, name: setattr(self, "name", name),
    "say_hello": lambda self: f"Привет, я {self.name}!"
})

p = Person("Боб")
print(p.say_hello())  # Привет, я Боб!
Ставь 👍 и забирай 📚 Базу знаний

Сервисы Яндекс 360 для бизнеса — всего 1 ₽ за сотрудника Защита данных и быстрая миграция без пауз для бизнеса. Попробуйте за 1 ₽ в первый месяц Узнать больше #реклама 16+ 360.yandex.ru О рекламодателе

🤔 Как понять, когда нужно избавляться от дублирования? Избавляться от дублирования стоит, если оно приводит к сложностям в поддержке, увеличению ошибок или нарушению принципа DRY. Однако если это уменьшает ясность, дублирование допустимо. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 Основы математики в Machine Learning / Deep Learning 🗓 6 марта приглашаем вас на прямой эфир, где мы подробно разберем ря
🤔 Основы математики в Machine Learning / Deep Learning 🗓 6 марта приглашаем вас на прямой эфир, где мы подробно разберем ряд Тейлора, собственные векторы и другие ключевые понятия в ML. (ссылка) 🌟 Спикер: *Мария Горденко* – Старший преподаватель ФКН НИУ ВШЭ, НИТУ МИСИС, аспирант департамента анализа данных и искусственного интеллекта ФКН НИУ ВШЭ, а также преподаватель на курсе Алгоритмы и структуры данных в proglib academy. Место работы: Инженер-программист, ведущий эксперт НИУ ВШЭ, цифровой ассистент и цифровой консультант НИУ ВШЭ. 😮 На вебинаре вы узнаете: 🔵 Теорию вероятностей: обсудим случайные величины, вероятность, математическое ожидание и дисперсию. 🔵 Линейную алгебру: изучим векторы, матрицы, собственные векторы и собственные значения. 🔵 Математический анализ: разберем производные и разложение функций в ряд Тейлора. 🔵 Практику: применим полученные знания на реальных кейсах из области Machine Learning и Deep Learning. 🎯 Почему это важно? Понимание математических основ помогает глубже разобраться в работающих под капотом алгоритмах ML/DL и эффективно применять их на практике. 👉 Присоединяйтесь к нам и совершенствуйте свои навыки в машинном обучении! 📌 Регистрация по ссылке: https://proglib.io/w/e5d0e53b

🤔 Как разбить список? Разбить список (list) можно разными способами в зависимости от задачи: На части фиксированной длины На N частей По условию 🚩Разбить список на части фиксированного размера Если нужно разделить список на подсписки длиной n, можно использовать list comprehension
def split_list(lst, size):
    return [lst[i:i + size] for i in range(0, len(lst), size)]

data = [1, 2, 3, 4, 5, 6, 7, 8, 9]
print(split_list(data, 3))  
Вывод
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
🚩Разбить список на N частей (равных или почти равных) Если нужно разделить список на N частей, можно использовать numpy или itertools
import numpy as np

def split_into_n_parts(lst, n):
    return np.array_split(lst, n)

data = [1, 2, 3, 4, 5, 6, 7, 8, 9]
print(split_into_n_parts(data, 4))  
Вывод
[array([1, 2, 3]), array([4, 5]), array([6, 7]), array([8, 9])]
🚩Разбить список по условию Если нужно разделить список по какому-то критерию, например, на чётные и нечётные числа
data = [1, 2, 3, 4, 5, 6, 7, 8, 9]

even = [x for x in data if x % 2 == 0]
odd = [x for x in data if x % 2 != 0]

print(even, odd)
Вывод
[2, 4, 6, 8] [1, 3, 5, 7, 9]
Ставь 👍 и забирай 📚 Базу знаний

🤔 Всегда ли нужно избавляться от дублирования кода? Нет, иногда дублирование кода оправдано для улучшения читабельности или упрощения тестирования. Важно учитывать контекст и баланс между повторным использованием и избыточностью. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 Что такое блокировки (локи) в БД? Блокировка (lock) — это механизм, который предотвращает одновременный доступ к данным разными транзакциями, чтобы избежать конфликтов, повреждения данных или "гонки" процессов. Представь, что два человека редактируют один и тот же документ. Если они начнут менять его одновременно, файл может испортиться. Блокировки в БД работают так же — если один процесс изменяет данные, другой должен подождать, пока первый закончит. 🚩Почему нужны блокировки? 🟠Гарантия целостности данных предотвращает одновременные изменения одних и тех же строк. 🟠Избегание гонки данных (race condition) когда два запроса пытаются изменить одно и то же значение. 🟠Изоляция транзакций разные операции не мешают друг другу. 🚩Виды блокировок в БД 🟠По уровню охвата данных Строчная (Row Lock) – блокирует только одну строку таблицы. Табличная (Table Lock) – блокирует всю таблицу целиком. Блокировка всей базы (Database Lock) – редко используется, но блокирует всю БД.
BEGIN;
SELECT * FROM users WHERE id = 1 FOR UPDATE; -- Блокирует строку, пока транзакция не завершится
🟠По типу блокировки Эксклюзивная (Exclusive, X-Lock) – блокирует запись для всех (никакие другие операции её не изменят). Разделяемая (Shared, S-Lock) – блокирует только на запись (чтение возможно).
BEGIN;
UPDATE users SET balance = balance - 100 WHERE id = 1;
-- Пока транзакция не завершится, другая транзакция не сможет изменить balance пользователя 1.
🟠Явные и неявные блокировки Явные (ручные) – задаются программистом (SELECT ... FOR UPDATE). Неявные (автоматические) – создаются СУБД при INSERT, UPDATE, DELETE. 🚩Проблемы с блокировками 🟠Deadlock (взаимная блокировка) Если два запроса ждут друг друга, система "зависает". Решение: правильный порядок выполнения транзакций. 🟠Долгие блокировки Если транзакция не закрывается (COMMIT/ROLLBACK), другие запросы ждут бесконечно. Решение: короткие транзакции, автоматическое завершение. 🟠Снижение производительности Чем больше блокировок, тем медленнее работа БД. Ставь 👍 и забирай 📚 Базу знаний

🤔 Что нужно знать бэкенд-разработчику? Бэкенд-разработчик должен разбираться в API, базах данных, серверных фреймворках, структурах данных, алгоритмах, принципах безопасности и DevOps-инструментах. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

⚡ Новые каналы с вакансиями и стажировками для джунов В этих каналах публикуются все свежие вакансии и стажировки 🔺 ВАКАНСИИ
Новые каналы с вакансиями и стажировками для джунов В этих каналах публикуются все свежие вакансии и стажировки 🔺 ВАКАНСИИ
Горячие вакансии с привлекательными офферами для джуниор разработчиков, аналитиков, дизайнеров и QA-специалистов.
👉 ПОДПИСАТЬСЯ 🔺СТАЖИРОВКИ
Стажировки для начинающих специалистов в IT независимо от возраста!
👉 ПОДПИСАТЬСЯ 🔺Junojobs
Вакансии и стажировки для junior-разработчиков на удалёнке.
👉 ПОДПИСАТЬСЯ 🔺БИГТЕХ
Junior вакансии и стажировки в крупнейших IT-компаниях мира: NVidia, Apple, T-банк, Яндекс, Google и т. д.
👉 ПОДПИСАТЬСЯ 🔺Макс из < codereview />
Эксперименты про трудоустройство в IT, советы для быстрого поиска работы и офферы для джунов.
👉 ПОДПИСАТЬСЯ

🤔 Что такое GET? GET — это HTTP-метод, который используется для запроса данных с сервера. Когда ты открываешь веб-сайт или вводишь URL в браузере — это GET-запрос. Браузер запрашивает страницу у сервера, и сервер возвращает данные. 🚩Как работает GET-запрос? 1⃣Клиент (браузер, программа) отправляет GET-запрос на сервер. 2⃣Сервер обрабатывает запрос и возвращает ответ (HTML-страницу, JSON-данные, картинку и т. д.). 3⃣Данные отображаются пользователю. 🚩Пример GET-запроса Когда ты заходишь на https://example.com/users, браузер отправляет:
GET /users HTTP/1.1
Host: example.com
Ответ сервера
[
    {"id": 1, "name": "Alice"},
    {"id": 2, "name": "Bob"}
]
🚩Особенности GET-запроса 🟠Читаемый URL параметры передаются в строке запроса (например, ?id=123). 🟠Безопасен GET не изменяет данные на сервере. 🟠Можно кэшировать браузеры и серверы могут сохранять результаты GET-запросов. 🟠Ограниченная длина URL слишком длинные запросы могут не работать. 🟠Не подходит для конфиденциальных данных передача пароля в URL (?password=123) небезопасна. 🚩GET-запрос с параметрами Если нужно передать параметры, они добавляются в URL:
GET /search?q=python&page=2
В Python можно отправить GET-запрос с помощью библиотеки requests
import requests

response = requests.get("https://api.example.com/users", params={"id": 123})
print(response.json())  # Получаем ответ в JSON
Ставь 👍 и забирай 📚 Базу знаний

🔍 Как повысить грейд и зарплату х2❔ Узнай, каких навыков тебе не хватает для этого и построй самый короткий путь к цели вмес
🔍 Как повысить грейд и зарплату х2❔ Узнай, каких навыков тебе не хватает для этого и построй самый короткий путь к цели вместе с менторами ШОРТКАТ. Такой же короткий, как этот пост. Переходи в бота и записывайся на бесплатную диагностику 📂 @shortcut_py_bot Реклама. ООО "ШОРТКАТ", ИНН: 9731139396, erid: 2VtzqxgQN2r

🤔 Как определить скорость работы программы? Для оценки скорости используют профилирование, тестирование производительности и измерение времени выполнения критических участков кода. Инструменты, такие как timeit в Python или APM, помогают анализировать производительность Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 Как бы реализовал метод new через singleton? Чтобы реализовать метод __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. Ставь 👍 и забирай 📚 Базу знаний

🤔 Какие критерии кода в процедурном стиле можно назвать хорошими, а какие плохими? Хороший код должен быть простым, читаемым, повторно используемым и легко поддерживаемым. Плохой код часто содержит дублирование, сложные конструкции и отсутствие структуры. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

Repost from easyoffer
💡 В EasyOffer 2.0 появится фильтрация вопросов по грейдам и типам интервью! 📊 Например, вот вероятности ТОП-30 вопросов, которые задают на HR-скрининге Python-разработчику уровня Middle/Senior. Данные основаны на 53 реальных интервью. 97% Какие у тебя зарплатные ожидания 73% Какие у тебя есть вопросы 44% Какие критерии при выборе будущей работы 41% Расскажи о себе 38% Почему ищешь работу 35% Расскажи про свой опыт 35% Расскажи про проект на предыдущей работе 32% Почему уволился с предыдущей работы 29% Где территориально сейчас живешь/находишься 23% Есть ли другие предложения по работе 17% Есть ли военный билет 17% Почему хочешь сменить работу 17% Как проводишь свободное время 17% Расскажи про задачи на предыдущей работе 17% Сколько коммерческого опыта работы с Python 17% С какими БД работал 14% Находишься ли в активном поиске работы 14% С каким стеком работаешь 14% Почему решил откликнуться на нашу вакансию 14% Какой текущий статус поиска работы 11% Почему решил стать программистом 11% С какими фреймворками работал 11% Какую зарплату получал на предыдущей работе 11% Работаешь ли в настоящий момент 11% На какой грейд себя оцениваешь 11% Как быстро можешь приступить к работе после получения офера 11% Расскажи про свои pet-проекты 8% Какие знаешь типы данных в Python 8% Что такое декоратор в Python 8% Что ищешь на новой работе 🚀 Скоро стартует краудфандинговая кампания, которая поможет ускорить разработку EasyOffer 2.0. Первые спонсоры получат уникальные лимитированные награды! 📢 Если вам это интересно, подписывайтесь на канал 👉 этот телеграм канал

🤔 Как можно скачать конкретную версию библиотеки через pip? В 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
Ставь 👍 и забирай 📚 Базу знаний

Вебинар про UserGate SIEM ⚡ Отечественные компании каждый день сталкиваются с различными рисками и угрозами, часть из которых помогает закрыть отказоустойчивость. 📊Спикеры: - Дмитрий Чеботарев, менеджер по развитию UserGate SIEM; - Дмитрий Богданов, ведущий инженер UserGate. ✅ Расскажут об отказоустойчивости и кластеризации и о том, для чего они нужны; ✅ Покажут кейсы использования. Зарегистрироваться #реклама 16+ webinar.usergate.com О рекламодателе

🤔 В чем разница между хешированием и шифрованием? Это необратимое преобразование данных для их идентификации, тогда как шифрование предполагает обратимое преобразование для защиты данных. Хеширование используется для проверки целостности, а шифрование — для конфиденциальности. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний