Библиотека собеса по Python | вопросы с собеседований
6.12K subscribers
597 photos
9 videos
287 links
Вопросы с собеседований по Python и ответы на них.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/6587aafa

Работать у нас: https://job.proglib.io/

Наши каналы: https://yangx.top/proglibrary/9197
加入频道
✍🏻 Что такое wheel и eggs в Python? Какая между ними разница?

✍🏻 Python wheel
— это стандартный формат установки дистрибутивов Python, который содержит все файлы и метаданные, необходимые для установки. Файл WHL также содержит информацию о версиях и платформах Python, поддерживаемых этим файлом. Расширение файла wheel — .whl

✍🏻 Python egg — это сжатый архив ZIP, содержащий исходные файлы приложения Python вместе с метаинформацией о дистрибутиве. Расширение файла egg — .egg

Основная разница заключается в том, что wheel предоставляет более простой и надежный способ установки пакетов. В отличие от eggs, он не требует установки дополнительных зависимостей и обеспечивает более быстрое время установки. Кроме того, wheel поддерживает все платформы, на которых может работать Python.


Библиотека собеса по Python
✍🏻 Как установить индекс в pandas dataFrame?

Мы можем установить индекс для фрейма данных Pandas с помощью метода set_index(), который используется для установки списка, серии или фрейма данных в качестве индекса датафрейма.
DataFrame.set_index('Column_Name')


Библиотека собеса по Python
✍🏻 Что такое shallow copy и как используется?

Shallow copy
это создание нового объекта путем копирования ссылки на вложенный объект, вместо создания полной копии вложенного объекта.

Если мы копируем список, который содержит другие списки, при shallow copy будут скопированы только внешние списки.

Если изменить внутренний список в копии, то это отразится и на оригинале.

Основное отличие от deep copy в том, что при полном копировании создаются копии всех вложенных объектов до самого нижнего уровня.


Библиотека собеса по Python
Что такое ключевое слово await?

Этот оператор можно применять исключительно внутри асинхронной функции, определенной с помощью async def. await позволяет избежать блокировки основного потока программы во время ожидания результатов асинхронных функций.

С помощью await можно использовать асинхронный код в синхронном стиле, выполняя операции последовательно. При вызове await управление передается обратно в событийный цикл, и выполнение текущей функции приостанавливается до завершения выражения await.

Чаще всего await применяется при вызове асинхронных функций и методов для ожидания их результатов. Также он может использоваться с объектами asyncio.Future и asyncio.Task, чтобы дождаться их завершения.

Если await вызывается для корутины, выполнение текущей корутины приостанавливается до тех пор, пока не завершится вызванная корутина.


Библиотека собеса по Python
🆒 Собираем идеальный GUI на Python: 8 библиотек 2025 года

➡️ Tkinter — просто и по делу
➡️ PyQt — строго и функционально
➡️ Kivy — на мобилку и не только

Мы собрали лучшие библиотеки для создания графических интерфейсов на Python в 2025 — от классики до свежих решений.

🐸 Хотите красивый и удобный UI? Начните с этого списка: https://proglib.io/sh/8Z6Yl7fMgS

Библиотека питониста
Please open Telegram to view this post
VIEW IN TELEGRAM
✍🏻 Как и для чего используется %s?

%s
— это Спецификатор формата и он используется для форматирования строк.
Он позволяет вставлять значения других типов (числа, объекты и т. д.) в строковые выражения, автоматически преобразуя их к строковому представлению.

%s заменяется на строковое представление переданного значения в процессе форматирования. Это удобный способ интерполяции строк.
Помимо простой интерполяции, %s полезен для оформления вывода данных в консоль, логгирования, составления SQL-запросов с подстановкой значений и других задач работы со строками.


Библиотека собеса по Python
Как понять хешируемый ли объект?


1️⃣ Объект должен иметь метод `__hash__()`, который возвращает целое число — это и есть хеш объекта.

2️⃣ Хеш-значение не должно меняться в течение жизни объекта. Это важно, чтобы объект можно было использовать как ключ в словарях или элемент в множествах.

3️⃣Объект должен поддерживать сравнение через `__eq__()`. Если два объекта равны (по ==), они обязаны иметь одинаковый хеш.

Простое правило:
— Неизменяемые объекты в Python (например, int, float, str, tuple, frozenset) — хешируемы.
— Изменяемые объекты (например,
list, dict, set) — не хешируемы.

Библиотека собеса по Python
Please open Telegram to view this post
VIEW IN TELEGRAM
📚 13 ресурсов, чтобы выучить математику с нуля — подборка, которую просили

Хочешь прокачаться в математике для Data Science, ML или просто чтобы понимать, что происходит в формулах. Лови список лучших источников, которые собрали на Proglib.

➡️ Что внутри:
• Книги: от Пойи и Перельмана до Хофштадтера
• Советы: как учить, с чего начать, как не сдаться
• Математика для Data Science: разбор тем и формул
• Ссылки на форумы и задачи
• Как не бояться, если всё кажется сложным
• Что читать, если ты гуманитарий и страдал от школьной алгебры

✍️ Простой язык, много примеров и ноль академического занудства.

🔵 Для полного понимания Архитектуры, забирайте наш курс → «Архитектуры и шаблоны проектирования»

👉 Читай статью тут
Please open Telegram to view this post
VIEW IN TELEGRAM
Что такое сопрограмма (coroutine) в Python?

Сопрограмма (coroutine) — это расширенная подпрограмма, которая может приостанавливать выполнение и позже продолжать с того же места, а также поддерживает несколько точек входа.

🚩 В Python сопрограммы реализуются с помощью генераторов и, начиная с Python 3.5, через ключевые слова `async` и `await`.

🔎 Благодаря сопрограммам мы можем:
— писать асинхронный код без коллбеков
— выполнять неблокирующие операции в одном потоке
— использовать кооперативную многозадачность

🔎Сопрограммы позволяют писать асинхронный код так же просто, как и обычный синхронный, что делает его намного удобнее и понятнее.

Библиотека собеса по Python
Please open Telegram to view this post
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
🙈 Что скрывает дисперсия: разгадка секрета точных ML-моделей

Представьте, что вы строите модель, которая прекрасно работает на тренировочных данных, но стоит подать ей новые примеры... и всё рушится. Знакомо? За этим почти всегда скрывается неправильное обращение с дисперсией.

🧐 Но что, если есть простая формула, способная:

• Мгновенно определить, насколько «разбросаны» ваши данные

• Значительно улучшить точность ваших ML-моделей

• Помочь обнаружить аномалии, которые вы раньше не замечали

В нашем вебинаре мы раскрываем все секреты дисперсии — без сложных терминов и занудных объяснений. Вы узнаете, почему дисперсия — как соль: без нее все пресно, а с переизбытком — несъедобно.

Хотите узнать, как находить идеальный баланс в своих моделях, причем тут Random Forest и много другого о Data Science?

➡️Тогда смотрите бесплатный вебинар от Proglib: https://proglib.io/w/1ae24822
Please open Telegram to view this post
VIEW IN TELEGRAM
💻 Что такое миксины?

Миксин — это паттерн проектирования в объектно-ориентированном программировании, при котором в цепочку наследования добавляется вспомогательный класс с небольшой изолированной функциональностью.

Миксины не предназначены для самостоятельного использования — они добавляют дополнительные методы или свойства другим классам через множественное наследование. Их цель — повторное использование кода без создания иерархий, перегруженных логикой.

Пример миксина:
class NowMixin:
def now(self):
return datetime.datetime.utcnow()


Теперь любой класс, унаследованный от NowMixin, будет обладать методом now():
class Logger(NowMixin):
pass

logger = Logger()
print(logger.now())


🚩 Особенности:
— В названиях миксинов часто добавляют суффикс Mixin, чтобы обозначить их вспомогательную природу
— Миксин — это технически обычный класс, но используемый как «добавка» к основному поведению
— Позволяет избежать дублирования кода и сделать архитектуру гибче

Библиотека собеса по Python
Please open Telegram to view this post
VIEW IN TELEGRAM
🖼 ТОП-5 структур данных для обработки изображений

Хотите разобраться, как обрабатывать изображения в компьютерном зрении или графике?

Всё начинается с правильных структур данных. Они помогают хранить и анализировать пиксели, их связи и расположение.

👉 В этой статье — подборка топ решений и советы, как их использовать.

Библиотека питониста
Please open Telegram to view this post
VIEW IN TELEGRAM
🔎 Как Python ищет модули при импорте?

Когда в коде используется import, Python ищет модуль в директориях, указанных в списке sys.path. Этот список — обычный список Python, содержащий пути к папкам, где интерпретатор будет искать модули.

🔎 По умолчанию sys.path включает:
1. Директорию, из которой запущен скрипт
2. Пути из переменной окружения PYTHONPATH (если она установлена)
3. Стандартные директории установки Python
4. Иногда — архивы .zip, если они находятся в пути

Python идёт по списку сверху вниз и использует первый найденный модуль с совпадающим именем.

🔎 Дополнительно:
sys.path можно изменять вручную в коде
— Для локальной приоритизации модулей — кладите их рядом со скриптом
— Виртуальные окружения добавляют свои пути автоматически

Библиотека собеса по Python
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 Нужно посчитать 100 уравнений. Стоит ли использовать треды?

Нет, треды в этой задаче не подойдут, так как нет ввода-вывода.

Использование потоков приведет к лишним затратам времени на переключение контекста. Для сложных математических вычислений лучше использовать многопроцессорность, либо использовать фреймворк для распределённых задач, например, Celery, или подключать вычисления через C-библиотеки для повышения производительности.

Библиотека собеса по Python
Please open Telegram to view this post
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
🙂 Раскрываем секрет собственных векторов: математическое оружие на собеседовании

Что объединяет успешный собес и продвинутый анализ данных? Оба требуют способности выделять главное из информационного шума!

В мире данных этот суперскилл называется методом главных компонент (PCA) — это как рентген для ваших данных, который мгновенно показывает всю суть, отбрасывая неважные детали.

Например, мы проанализировали 453 акции компаний из списка S&P 500 и выяснили, что всего одна главная компонента объясняет 38% всей динамики рынка. Как такое возможно?

😘 Расскажем на воркшопе «Математика машинного обучения на практике» 21 апреля!

Вы будете работать с реальными данными, научитесь выявлять скрытые закономерности и применять эти инсайты в своих проектах.

Стоимость: 3990 ₽

Не беспокойтесь, если теоретическая база пока хромает — вы можете заранее посмотреть запись нашего вебинара по основам по ссылке ниже.

➡️ Забронировать место на воркшопе: https://proglib.io/w/f0157e5f
Please open Telegram to view this post
VIEW IN TELEGRAM
💭 Что такое интроспекция в Python?

Интроспекция — это способность программы изучать объекты во время выполнения: узнавать их тип, структуру, атрибуты, методы и даже иерархию наследования.

🧩 Это мощный инструмент, встроенный в Python (а также доступный в других языках, например Java, PHP, Ruby). Он позволяет, например:

— Проверить тип объекта с помощью type()
— Проверить, к какому классу принадлежит объект — isinstance(obj, Class)
— Получить список доступных атрибутов и методов — dir(obj)
— Изучить содержимое объекта — через __dict__

Пример:
class Foo:
def __init__(self, val):
self.x = val
def bar(self):
return self.x

obj = Foo(5)
print(dir(obj))


Результат:
['__class__', '__dict__', ..., 'bar', 'x']


Это удобно для отладки, разработки, рефлексии, создания универсальных функций, которые могут работать с разными типами данных.

Библиотека собеса по Python
Please open Telegram to view this post
VIEW IN TELEGRAM
🌐 Что такое Middleware в Django?

Middleware — это специальный компонент, который обрабатывает входящие запросы и/или исходящие ответы в веб-приложении. Он используется для выполнения общих задач до или после того, как запрос попадёт в обработчик (view).

Например, можно:
Добавить заголовки в ответ
Проверить авторизацию
Логировать обращения
Обработать ошибки

🚩Как устроен Middleware на уровне кода

Обычно middleware реализует два метода:
process_request(request) — вызывается до view-функции
process_response(request, response) — вызывается после выполнения view

Каждый метод должен вернуть объект запроса/ответа для продолжения цепочки обработки, либо вызвать исключение, чтобы прервать выполнение.

🚩 Как подключить middleware

В Django — через настройку MIDDLEWARE:
MIDDLEWARE = [
'myproject.middleware.CustomMiddleware',
...
]


Библиотека собеса по Python
Please open Telegram to view this post
VIEW IN TELEGRAM
От многомерности к сути: чему нас учит PCA

На собеседовании важно уметь выделить главное — свои сильные стороны, мышление и ценности. Это помогает справляться со стрессом, неожиданными вопросами и субъективной оценкой.

В машинном обучении есть похожий подход — PCA (метод главных компонент). Он сокращает размерность данных, устраняя шум и второстепенные детали, и помогает сфокусироваться на самом важном.

В новой статье мы разберём:
• Как работает PCA
• Зачем он нужен
• Как применять его на практике — например, для анализа доходностей акций S&P 500

🐸 Подробнее: https://proglib.io/sh/uXsDlt75MY

Библиотека питониста
Please open Telegram to view this post
VIEW IN TELEGRAM
🔗 Что такое code coupling (связанность модулей) и почему это важно?

Связанность модулей (или coupling) — это термин, который описывает степень зависимости между различными частями программной системы. Чем меньше зависимость между модулями, тем легче поддерживать, тестировать и расширять систему.

➡️ Почему это важно

1️⃣ Низкая связность (Low Coupling):
— Модули взаимодействуют через четкие интерфейсы, минимизируя зависимости
— Изменения в одном модуле не требуют изменений в других
— Это облегчает поддержку и развитие системы

2️⃣ Высокая связность (High Coupling):
— Модули сильно зависят друг от друга
— Изменения в одном модуле потребуют изменений в других
— Такая система сложна в поддержке и тестировании

➡️ Пример из жизни

Представьте, что у вас есть два класса. Если один класс напрямую зависит от внутренней реализации другого — это высокая связность. Если же классы взаимодействуют только через четко определенные интерфейсы — это низкая связность.

➡️ Стремитесь к слабой связности, чтобы ваши системы были более устойчивыми, масштабируемыми и удобными в поддержке.

Библиотека собеса по Python
Please open Telegram to view this post
VIEW IN TELEGRAM
🚀 Приручи алгоритмы: из формул в код за один воркшоп

Готовы превратить сложную теорию машинного обучения в практические навыки? Тогда приходите на наш воркшоп, который пройдет 21 апреля.

Что вас ждет на воркшопе:
🟢 Работа с реальными данными — никаких учебных датасетов, только то, что встречается в настоящих проектах.

🟢Снижение размерности с PCA — научитесь выделять главное из информационного шума.

🟢Случайный лес vs градиентный бустинг — разберемся, в чём ключевое различие и когда какой алгоритм эффективнее.

🟢Мастерство гиперпараметров — освоите тонкую настройку моделей для максимальной точности.

На нашем воркшопе вы не просто слушаете — вы делаете сами! Вы будете писать код на Python, применять популярные библиотеки и сразу видеть результат своей работы.

А самое ценное: каждый участник получит персональный code review от Марии Горденко — инженера-программиста, старшего преподавателя НИУ ВШЭ, руководителя магистратуры от ГК Самолет и Альфа-Банка.

Когда: 21 апреля
💸Стоимость: всего 3990₽

Только сегодня, до конца дня: 10 мест по промокоду kulich → 2 990 ₽.

➡️ Записаться на воркшоп: https://proglib.io/w/f0157e5f
Что такое жадные алгоритмы и в каких случаях они применяются?

Жадные алгоритмы — это приближённые алгоритмы, которые на каждом шаге выбирают локально наилучшее решение в надежде, что оно приведёт к глобально оптимальному результату.

Когда используются:
👉 Когда точное решение задачи требует слишком много времени
👉 Когда высокая точность не критична
👉 Когда нужно простое и быстрое решение

Преимущества:
👉 Простая логика
👉 Быстрая реализация
👉 Высокая скорость работы
👉 Часто дают достаточно близкий к оптимальному результат

Недостатки:
👉 Не всегда гарантируют глобальный оптимум
👉 Подход работает не для всех задач (зависит от свойства задачи — например, задачи с оптимальным подструктурированием)

Примеры:
📍 Алгоритм Крускала и Прима (минимальное остовное дерево)
📍 Алгоритм Дейкстры (поиск кратчайшего пути)
📍 Сдача минимальным количеством монет

Библиотека собеса по Python
Please open Telegram to view this post
VIEW IN TELEGRAM