ch
Feedback

不要被骗子欺骗!Telemetrio 会找到并标记这些频道 👉 如果想查看标记,请订阅

Библиотека собеса по Python | вопросы с собеседований

Библиотека собеса по Python | вопросы с собеседований

前往频道在 Telegram

Вопросы с собеседований по Python и ответы на них. Учиться у нас: https://clc.to/VcaMmg По рекламе: @tproger_sales_bot Для обратной связи: @proglibrary_feeedback_bot

显示更多
5 858
订阅者
-424 小时
-167 天
-4930 天
吸引订阅者
10月 '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 действует акция: покупаешь один кур
📌 Один курс — хорошее вложение в себя. Два по той же цене — ещё лучше. В 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 можно выбрать два курса
😎 Выбираешь один курс, второй получаешь бесплатно. Баг? Нет, акция! До 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 с разработчиком из Яндекса [+ ответы на 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-кодинга за три дня? Разберём на вебинаре, как тратить меньше на AI-агентов — без потери качества кода. 🔘 Поговорим о том: — когда дорогая модель действительно нужна, а когда хватит дешёвой; — сколько стоит один прогон и куда уходят токены; — какие задачи можно отдавать субагентам; — как настроить маршрутизацию моделей; — что проверять в AI-коде перед merge. ✏️ Покажем всё на конкретных цифрах и вживую: сравним расходы до и после. ⬇️ 18 сентября, 19:00 МСК ⬇️ 1,5 часа · бесплатно ⬇️ Арсений Харланов и Олег Лайок 💬 Пишите в комментариях, где упираетесь в лимиты и на что уходят деньги. Самые залайканные вопросы разберём на вебинаре. 🔗 Зарегистрироваться на вебинар⁠
533
15
У вас есть Python-сервис, который обрабатывает асинхронные запросы через asyncio. При нагрузочном тесте задержки начинают расти, хотя CPU и память почти не используются. В чём может быть причина и как её решать? Скорее всего, внутри event loop есть блокирующие операции (синхронные вызовы к БД, файлам или тяжёлые вычисления). Их нужно вынести в отдельный процесс или поток (ProcessPoolExecutor/ThreadPoolExecutor) либо заменить на асинхронные аналоги библиотек. Библиотека собеса по Python
396
16
👅 Самое сложное — выбрать не курс, а направление Сегодня хочется разобраться в AI-агентах. Через пару недель появляется зада
👅 Самое сложное — выбрать не курс, а направление Сегодня хочется разобраться в 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-агентами Но цель одна: перейти
🎯 У разработчика, DevOps-инженера и техлида разные причины задуматься о системной работе с AI-агентами Но цель одна: перейти от случайных удачных запусков к управляемому процессу на реальном проекте — с понятными правилами, ревью, контролем расходов и безопасности ✔️ На курсе «ИИ для разработчиков» участники выстраивают такой процесс на практике: подключают инструменты, задают границы для агента и учатся понимать, где ему можно доверять работу, а где требуется проверка. ⚡️ Предзапись на осенний поток уже открыта 🏃‍♀️ Proglib Academy
370
20
Разработчику нужен стабильный результат, DevOps — контроль инфраструктуры, техлиду — правила для всей команды. Собрали это в одном посте 👇
391