Библиотека собеса по Python | вопросы с собеседований
Открыть в Telegram
Вопросы с собеседований по Python и ответы на них. Учиться у нас: https://clc.to/VcaMmg По рекламе: @tproger_sales_bot Для обратной связи: @proglibrary_feeedback_bot
Больше5 858
Подписчики
-424 часа
-167 дней
-4930 дней
Загружаем данные
Похожие каналы
Облако тегов
Входящие и исходящие упоминания
---
---
---
---
---
---
Привлечение подписчиков
октябрь '26окт. '26
октябрь '26
+34
в 4 каналах
сентябрь '26
+33
в 0 каналах
Get PRO
август '26
+31
в 2 каналах
Get PRO
июль '26
+52
в 2 каналах
Get PRO
июнь '26
+44
в 3 каналах
Get PRO
май '26
+61
в 3 каналах
Get PRO
апрель '26
+85
в 2 каналах
Get PRO
март '26
+113
в 0 каналах
Get PRO
февраль '26
+68
в 3 каналах
Get PRO
январь '26
+68
в 0 каналах
Get PRO
декабрь '25
+73
в 4 каналах
Get PRO
ноябрь '25
+110
в 4 каналах
Get PRO
октябрь '25
+106
в 0 каналах
Get PRO
сентябрь '25
+73
в 2 каналах
Get PRO
август '25
+90
в 4 каналах
Get PRO
июль '25
+95
в 1 каналах
Get PRO
июнь '25
+83
в 0 каналах
Get PRO
май '25
+92
в 0 каналах
Get PRO
апрель '25
+156
в 1 каналах
Get PRO
март '25
+234
в 52 каналах
Get PRO
февраль '25
+184
в 31 каналах
Get PRO
январь '25
+252
в 36 каналах
Get PRO
декабрь '24
+252
в 35 каналах
Get PRO
ноябрь '24
+368
в 37 каналах
Get PRO
октябрь '24
+331
в 35 каналах
Get PRO
сентябрь '24
+329
в 35 каналах
Get PRO
август '24
+342
в 36 каналах
Get PRO
июль '24
+340
в 35 каналах
Get PRO
июнь '24
+249
в 31 каналах
Get PRO
май '24
+258
в 35 каналах
Get PRO
апрель '24
+323
в 35 каналах
Get PRO
март '24
+382
в 30 каналах
Get PRO
февраль '24
+345
в 29 каналах
Get PRO
январь '24
+364
в 24 каналах
Get PRO
декабрь '23
+1 662
в 28 каналах
Get PRO
ноябрь '23
+1 544
в 6 каналах
| Дата | Привлечение подписчиков | Упоминания | Каналы | |
| 26 октября | 0 | |||
| 25 октября | 0 | |||
| 24 октября | +1 | |||
| 23 октября | 0 | |||
| 22 октября | +5 | |||
| 21 октября | +1 | |||
| 20 октября | +1 | |||
| 19 октября | +3 | |||
| 18 октября | +2 | |||
| 17 октября | +1 | |||
| 16 октября | +2 | |||
| 15 октября | +1 | |||
| 14 октября | +1 | |||
| 13 октября | +1 | |||
| 12 октября | +4 | |||
| 11 октября | +4 | |||
| 10 октября | +1 | |||
| 09 октября | +1 | |||
| 08 октября | 0 | |||
| 07 октября | +1 | |||
| 06 октября | +1 | |||
| 05 октября | +1 | |||
| 04 октября | 0 | |||
| 03 октября | +1 | |||
| 02 октября | +1 | |||
| 01 октября | 0 |
Посты канала
Какой класс получит classmethod при вызове через наследника?
Ответ: Класс, через который выполнен вызов. Если унаследованный classmethod вызывают через Child, его параметр cls получает Child, даже если сам метод объявлен в Base.
Например, Base содержит фабричный метод from_text, который возвращает cls(text). Вызов Child.from_text('hello') создаст объект Child, если его конструктор принимает такой аргумент.
Поэтому classmethod удобен для альтернативных конструкторов, которые должны учитывать наследование. Если вместо cls жёстко написать Base, фабрика будет создавать Base и при вызове через наследника.
У staticmethod такого неявного аргумента нет: ему автоматически не передаются ни экземпляр self, ни класс cls.
Вызов classmethod через экземпляр тоже допустим. Тогда cls будет классом этого экземпляра, а сам экземпляр в качестве первого аргумента не передаётся.
Подробнее в документации Python
🐸 Библиотека собеса по Python
| 2 | 📌 Один курс — хорошее вложение в себя. Два по той же цене — ещё лучше.
В Proglib Academy действует акция: покупаешь один курс, а второй получаешь в подарок.
Например, можно совместить два направления по работе с ИИ:
💥 ИИ для разработчиков — применение нейросетей в повседневной разработке: работа с кодом, тестирование и ревью.
💥 Разработка ИИ-агентов — архитектура агентов и создание собственных AI-решений.
📍 Разница в цене — почти 50 тысяч рублей. Можно освоить больше, не выходя за рамки запланированного бюджета.
А если тебе интереснее Python, алгоритмы, backend или DevOps — выбирай другую пару курсов из каталога.
Акция действует до 31 октября включительно ⏳
⏮️ Пора прокачать свой стек | 181 |
| 3 | Всегда ли super вызывает метод непосредственного родителя?
Ответ: Нет. super() продолжает поиск по порядку разрешения методов — MRO — фактического класса объекта.
При одиночном наследовании это часто выглядит как вызов родителя. При множественном наследовании следующим может оказаться другой класс из общей цепочки.
Например, D наследуется от B и C, а оба они — от A. Если MRO равен D, B, C, A, object, то вызов super().method() внутри B для объекта D перейдёт к C.method(), а не сразу к A.method().
Именно это позволяет выстроить кооперативную цепочку вызовов: каждый участник делает свою часть и передаёт управление дальше.
Для такой схемы классы должны согласованно использовать super и совместимые сигнатуры. Прямой вызов A.method(self) перескакивает к конкретной реализации и может нарушить ожидаемую цепочку.
Подробнее в документации Python
🐸 Библиотека собеса по Python | 191 |
| 4 | Почему присваивание в конце функции может вызвать UnboundLocalError в её начале?
Ответ: Потому что Python определяет локальные имена по всему блоку функции, а не только по уже выполненным строкам.
Если внутри функции есть присваивание имени и нет объявления global или nonlocal для него, это имя считается локальным во всём теле функции.
Например, снаружи объявлено x = 10. Внутри функции сначала выполняется print(x), а следующей строкой стоит x = 20. При вызове возникнет UnboundLocalError: print обращается к локальному x, которому ещё не присвоили значение.
Даже присваивание в ветке, которая не выполнится, может сделать имя локальным. Python не переключается на внешнюю переменную только потому, что выполнение ещё не дошло до присваивания.
Если нужно менять переменную модуля, используют global. Если переменную ближайшей подходящей внешней функции — nonlocal. Но часто понятнее передать значение аргументом и вернуть результат.
Подробнее в документации Python
🐸 Библиотека собеса по Python | 226 |
| 5 | Что теряет декоратор без functools.wraps и что wraps не исправляет?
Ответ: Без wraps у вызывающей стороны обычно остаются имя, документация и другие метаданные функции-обёртки, а не исходной функции.
functools.wraps переносит метаданные, включая __name__ и __doc__, и устанавливает __wrapped__ — ссылку на обёрнутую функцию. Это помогает документации, отладке и инструментам интроспекции.
Например, inspect.signature по умолчанию следует по __wrapped__ и может показать исходную сигнатуру, хотя сама обёртка объявлена с произвольными позиционными и именованными аргументами.
Но wraps не меняет фактическую обработку аргументов обёрткой. Если декоратор забывает передать аргумент, теряет результат или неправильно работает с async-функцией, копирование метаданных это не исправит.
На собеседовании полезно разделять сохранение информации о функции и сохранение её поведения: wraps помогает с первым, а второе зависит от реализации декоратора.
Подробнее в документации Python
🐸 Библиотека собеса по Python | 240 |
| 6 | 😎 Выбираешь один курс, второй получаешь бесплатно. Баг? Нет, акция!
До 31 октября в Proglib Academy можно выбрать два курса и заплатить только за один.
Например, можно совместить:
💥 ИИ для разработчиков — применение нейросетей в повседневной разработке: работа с кодом, тестирование и ревью.
💥 Разработка ИИ-агентов — архитектура агентов и создание собственных AI-решений.
Вместе курсы стоят 108 000 ₽, но по акции оба обойдутся в 59 000 ₽. Экономия — 49 000 ₽ 🔥
Интересуют Python и ИИ или алгоритмы и архитектура? Можно выбрать любые два курса из каталога.
Акция действует до 31 октября включительно ⏳
⏬ Собрать свой учебный билд | 242 |
| 7 | Почему список можно обойти повторно, а созданный из него итератор — нет?
Ответ: Потому что список хранит элементы, а итератор хранит состояние конкретного обхода.
При каждом вызове iter(items) для списка создаётся новый итератор. Поэтому два цикла по одному списку могут независимо пройти все его элементы.
А iter(iterator) возвращает сам итератор: новый обход не начинается. Например, после it = iter([1, 2]) первый list(it) вернёт [1, 2], а второй — []. Итератор уже исчерпан.
Это касается и объектов генераторов: повторный for не запускает тело генератора заново. Для нового прохода нужно снова вызвать функцию-генератор или заранее сохранить полученные значения.
При этом не любой итерируемый объект гарантирует повторный обход. Итератор тоже является итерируемым объектом. Поэтому обещание «принимаем Iterable» само по себе не означает «можем пройти данные два раза».
Подробнее в документации Python
🐸 Библиотека собеса по Python | 256 |
| 8 | Почему getsizeof не видит содержимое списка?
Внутри двух списков хранится очень разный объём данных. Почему сравнение их размеров даёт True? Проверено на CPython 3.12.14 и 3.13.1.
import sys
small = [[0]]
large = [[0] * 100000]
print(sys.getsizeof(small) == sys.getsizeof(large))
getsizeof учитывает память самого объекта, без памяти объектов по ссылкам. Оба наружных списка содержат по одной ссылке. Размер вложенного списка в это число не входит. Для общего объёма нужен рекурсивный обход с учётом повторных ссылок. Конкретное число байт зависит от реализации и платформы.
Документация
Библиотека собеса по Python | 374 |
| 9 | ☔️ Планы на выходные снова испортила погода? У нас есть план получше.
Выходные — хороший повод заняться тем, на что вечно не хватает времени. Например, освоить новый навык или углубиться в знакомую тему.
📍 В Proglib Academy покупаешь один курс, а второй получаешь в подарок. Платишь только за один!
Вот несколько сочетаний:
💥 Разработка ИИ-агентов + Python
💥 Machine Learning + Математика для Data Science
Можно выбрать и другие курсы — под свои интересы и цели.
⏳ Акция действует до 18 октября.
➡️ Выбрать курсы и оставить заявку | 504 |
| 10 | 👀 Как вы смотрите видео?
Разбираете урок, слушаете интервью фоном или начинаете на телефоне, а продолжаете на большом экране?
Хотим узнать, что делает просмотр удобным для вас. Вспомните последнее видео — ролик, урок, фильм или серию сериала — и расскажите о своём опыте. Если детали не запомнились, можно так и ответить.
🕰️ Опрос займёт около 3 минут.
В результатах сможете сравнить свои привычки с ответами других участников. А разработчики и инженеры видеоплатформы расскажут, что происходит по ту сторону экрана, пока вы смотрите видео.
🔗 Поделиться опытом
🐸 Библиотека программиста | 326 |
| 11 | Почему defaultdict.get не создаёт значение?
Что выведет этот код и при каком обращении появится ключ? Проверено на CPython 3.12.14 и 3.13.1.
from collections import defaultdict
counts = defaultdict(int)
print(counts.get("api"))
print(dict(counts))
print(counts["api"])
print(dict(counts))
Результат: None, затем пустой словарь, затем 0 и словарь {'api': 0}. Метод get не вызывает __missing__ и не обращается к фабрике int. Доступ через квадратные скобки вызывает __getitem__, а при отсутствии ключа — __missing__. Фабрика создаёт 0, значение записывается в словарь.
Документация
Библиотека собеса по Python | 447 |
| 12 | 👁👁 Тестовый собес на Python с разработчиком из Яндекса
[+ ответы на 50 сложных вопросов в подарок]
14 октября в 19:00 (МСК) приходи посмотреть открытое онлайн-собеседование на Python-разработчика.
Интервьюер: Хачатур Саркисян – разработчик из Яндекса, работает с высоконагруженными сервисами, Kafka и микросервисной архитектурой.
На эфире нет сценария ↓
Кандидат – случайный разработчик, который не знает вопросов заранее.
На обычном собесе ты не знаешь, что думает интервьюер, пока не придёт фидбек. На этом эфире Хачатур проговорит всё вслух:
— какие вопросы и задачи он даёт кандидатам в бигтехе;
— что в каждом ответе засчитал бы, а что нет – и почему.
А в конце ответит на твои вопросы.
Эфир проходит в рамках менторской программы от ШОРТКАТ для разработчиков, которые хотят повысить грейд, ЗП и прокачать скиллы!
Участие бесплатное 🔥
🎁 За регистрацию дарим файл с ответами на 50 сложных вопросов с Python-собеседований.
Зарегаться на эфир и забрать подарок можно в боте → @shortcut_py_bot
Реклама.
О рекламодателе. | 324 |
| 13 | Как спроектировать безопасную плагинную систему без «грязных» импортов?
Определите стабильный интерфейс (например, Protocol), открывайте плагины через importlib.metadata.entry_points() по своему namespace, проверяйте версию/метаданные и оборачивайте инициализацию в таймаут/изоляцию. Недоверенные плагины гоняйте в отдельном процессе с IPC (gRPC/stdio), ошибки — в карантин, ведите allowlist/подписи и телеметрию.
Библиотека собеса по Python | 636 |
| 14 | 😭 Как не потратить недельный лимит AI-кодинга за три дня?
Разберём на вебинаре, как тратить меньше на AI-агентов — без потери качества кода.
🔘 Поговорим о том:
— когда дорогая модель действительно нужна, а когда хватит дешёвой;
— сколько стоит один прогон и куда уходят токены;
— какие задачи можно отдавать субагентам;
— как настроить маршрутизацию моделей;
— что проверять в AI-коде перед merge.
✏️ Покажем всё на конкретных цифрах и вживую: сравним расходы до и после.
⬇️ 18 сентября, 19:00 МСК
⬇️ 1,5 часа · бесплатно
⬇️ Арсений Харланов и Олег Лайок
💬 Пишите в комментариях, где упираетесь в лимиты и на что уходят деньги. Самые залайканные вопросы разберём на вебинаре.
🔗 Зарегистрироваться на вебинар | 533 |
| 15 | У вас есть Python-сервис, который обрабатывает асинхронные запросы через asyncio. При нагрузочном тесте задержки начинают расти, хотя CPU и память почти не используются. В чём может быть причина и как её решать?
Скорее всего, внутри event loop есть блокирующие операции (синхронные вызовы к БД, файлам или тяжёлые вычисления). Их нужно вынести в отдельный процесс или поток (ProcessPoolExecutor/ThreadPoolExecutor) либо заменить на асинхронные аналоги библиотек.
Библиотека собеса по Python | 396 |
| 16 | 👅 Самое сложное — выбрать не курс, а направление
Сегодня хочется разобраться в AI-агентах. Через пару недель появляется задача, где нужны алгоритмы. Потом понимаешь, что неплохо бы освежить Python или математику для Data Science.
🔜 Именно поэтому подписка на обучение многим оказывается удобнее отдельных курсов. Можно спокойно переключаться между темами, когда меняются задачи, а не покупать новую программу каждый раз.
В подписку Proglib Academy входят все основные направления — AI, ML, Python, алгоритмы, математика для DS и другие курсы, а ещё закрытый видеохаб с вебинарами практиков.
Начать можно с пробного месяца. Если решите остаться, его стоимость зачтётся при оформлении подписки 😎
🔗 Узнать подробнее
🏃♀️ Proglib Academy | 263 |
| 17 | Покупать новый курс каждый раз, когда меняется рабочая задача, — довольно странная механика. Нашли альтернативу 👇 | 349 |
| 18 | Как спроектировать CLI-утилиту с подкомандами, автокомплитом и хорошей тестируемостью?
Постройте команды как чистые функции и свяжите их через Typer/Click; типизируйте параметры (Typer читает type hints), включите генерацию completion-скриптов, не делайте тяжёлую работу на уровне импорта. Пакуйте через pyproject.toml и console_scripts, логируйте в stderr. Тестируйте CliRunner/subprocess с фикстурами и золотыми эталонами вывода.
Библиотека собеса по Python | 524 |
| 19 | 🎯 У разработчика, DevOps-инженера и техлида разные причины задуматься о системной работе с AI-агентами
Но цель одна: перейти от случайных удачных запусков к управляемому процессу на реальном проекте — с понятными правилами, ревью, контролем расходов и безопасности ✔️
На курсе «ИИ для разработчиков» участники выстраивают такой процесс на практике: подключают инструменты, задают границы для агента и учатся понимать, где ему можно доверять работу, а где требуется проверка.
⚡️ Предзапись на осенний поток уже открыта
🏃♀️ Proglib Academy | 370 |
| 20 | Разработчику нужен стабильный результат, DevOps — контроль инфраструктуры, техлиду — правила для всей команды. Собрали это в одном посте 👇 | 391 |
