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

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

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

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

Наши каналы: https://yangx.top/proglibrary/9197
加入频道
Что такое __slots__ в Python, как они функционируют и когда их стоит применять?

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

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

Сортировка вставками, подобно сортировке выборкой, делит список на две части: отсортированную и неотсортированную. Алгоритм проходит по неотсортированному сегменту и вставляет текущий элемент в нужное место в отсортированной части.

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

Продолжая с остальными элементами из несортированного сегмента, мы сдвигаем более крупные элементы в отсортированной части списка, пока не встретим элемент, меньший чем x, или не дойдем до конца списка. В первом случае x помещается на правильную позицию.

Среднее время выполнения сортировки вставками составляет O(n²), где n — это количество элементов в списке.
🗺️ Как стать ИИ-разработчиком в 2025 году: дорожная карта и ресурсы

В 2025 году профессия ИИ-разработчика остается одной из самых востребованных и перспективных.

👀 Как начать свой путь в этой увлекательной, но сложной области?

Мы собрали подробную дорожную карту и полезные ресурсы, которые помогут вам шаг за шагом освоить ключевые навыки и технологии.
Что делает функция id?

Функция id() предназначена для получения уникального идентификатора объекта. Этот идентификатор представляет собой целое число, которое является уникальным для каждого объекта в течение выполнения программы. Функция id() принимает один аргумент — объект, и возвращает его идентификатор.

Важно помнить, что идентификатор объекта может измениться в процессе выполнения программы, если объект перемещается в памяти. Поэтому id() полезна для проверки того, ссылаются ли две переменные на один и тот же объект, но не рекомендуется использовать её для других целей, таких как сравнение объектов на идентичность.
Что делает функция shuffle из модуля random?

Функция shuffle() из модуля random перемешивает изменяемую последовательность прямо на месте. Она не возвращает никакого значения, а изменяет сам объект последовательности.
Какие отличия между модулем, пакетом и библиотекой?

Модуль — это отдельный файл на Python, который можно импортировать в скрипты или другие модули. В нем содержатся функции, классы и глобальные переменные.

Пакет — это коллекция модулей, объединенных в одной папке для обеспечения единой функциональности. Пакеты импортируются так же, как и модули. Обычно они содержат файл __init__.py, который сообщает интерпретатору Python, что папка является пакетом.

Библиотека — это совокупность пакетов.
📢 Ты уже пробовал пройти AI-собеседование? Если нет, вот ещё одно напоминание от нас 🤗

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

Просто загрузи своё резюме
Пройди интервью с нейро-рекрутером от Сбера (всего 15 минут!)
Получай лучшие предложения без бесконечных звонков и ожидания откликов

💡 Алгоритмы анализируют твой опыт и подбирают вакансии, которые подходят на 98% — так что ты точно не потратишь время зря.

Работа мечты может быть на расстоянии одного клика. Попробуешь? 😉

🔗 https://clc.to/GkOTTA
Что такое MQ?

MQ (Message Queue), или очередь сообщений, представляет собой паттерн асинхронного обмена сообщениями, который обеспечивает взаимодействие между распределенными компонентами приложения.

Ключевые преимущества использования MQ:
Асинхронность: отправитель и получатель могут работать независимо друг от друга.
Отказоустойчивость: сообщения сохраняются даже в случае сбоев.
Масштабируемость: позволяет легко добавлять новых производителей и потребителей сообщений.
Сглаживание пиковой нагрузки: очередь служит буфером для сообщений.

MQ активно применяется для интеграции распределенных систем и построения микросервисных архитектур. Среди популярных реализаций MQ можно выделить RabbitMQ, Kafka и ActiveMQ.
Что такое сериализация?

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

Ключевые преимущества сериализации:
— Сохранение и восстановление объектов между сеансами программы.
— Передача объектов по сети между различными приложениями и устройствами.
— Преобразование объектов в платформенно-независимый формат для хранения.
Swipe right or swipe left

Что делать, если твои мэтчи в жизни не такие точные, как твой код?

Спокойно, 14 февраля мы разберём, как ML анализирует speed dating и предсказывает match.

📌 Мы возьмем реальные данные со speed dating.

📌 Обучим модель, которая скажет: match или swipe left.

📌 Разберём, какие признаки реально важны (спойлер: работа в IT — не прям гарантия успеха (наши маркетологи подтверждают 😥).

💡 Приходи, если хочешь прокачать свой Python, ML и, возможно, станешь идеальной парой, как самый стильные форсы.

👉 Записаться

14.02 в 19:00 по МСК
🔥 Какие навыки нужны Data Scientist'у и как их освоить

Чтобы стать успешным Data Scientist и уверенно чувствовать себя на рынке труда, важно владеть широким спектром навыков.

➡️ Что внутри статьи:

▪️ Книги, курсы и статьи, чтобы прокачать каждый навык.

▪️ Бесплатные материалы для быстрого старта.

▪️ Задачи для практики.

🔗 Читать статью

🔵 А чтобы подготовиться к собесам для Data Science, забирайте наш курс «Алгоритмы и структуры данных»
Please open Telegram to view this post
VIEW IN TELEGRAM
Какая разница между @foobar и @foobar()?

@foobar и @foobar() представляют собой различные подходы к использованию декораторов.

@foobar используется для применения декоратора без аргументов, тогда как @foobar() позволяет применять декоратор с аргументами. Это означает, что @foobar() вызывает декоратор foobar с заданными аргументами, а затем полученная декорированная функция применяется к целевой функции.
🐳 DeepSeek-R1 — очередной значительный шаг в развитии ИИ. Для сообщества ML-разработчиков и исследователей этот релиз важен по двум причинам:

👉 Это модель с открытыми весами, имеющая уменьшенные, дистиллированные версии.
👉 Она использует и анализирует метод обучения, который позволяет воспроизвести модель рассуждений, подобную OpenAI o1.

Разберемся, как происходило обучение DeepSeek-R1: https://proglib.io/sh/SwVUWXrFN3
🤖 Что означают параметры _value и __value?

_value: одиночное подчеркивание в начале имени указывает на то, что этот параметр не предназначен для использования за пределами функции. Это всего лишь соглашение, а не ограничение языка.

__value: двойное подчеркивание в начале имени обозначает, что это имя зарезервировано Python для специальных целей, таких как init для конструктора класса. Такие параметры могут выполнять дополнительные функции.
Что такое ключевое слово await?

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

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

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

Если await вызывается для корутины, выполнение текущей корутины приостанавливается до тех пор, пока не завершится вызванная корутина.
Как проверить файл .py на синтаксические ошибки без его выполнения?

Для проверки файла .py на синтаксические ошибки без его запуска можно воспользоваться утилитой py_compile.

Можно использовать командную строку или терминал, чтобы проверить файл .py на наличие синтаксических ошибок, не выполняя его. Для этого применяется флаг -m с модулем py_compile.

Откройте командную строку или терминал и перейдите в папку, где находится ваш файл .py. Имя файла, который вы хотите проверить, обозначено как yourfile.py:

python -m py_compile yourfile.py
🤖 Каким образом вы бы могли вывести на экран все функции в модуле?

Для перечисления функций в модуле используется метод dir(). На картинке представлено решение вопроса.
📈 BI на максималках: 4 варианта ускорения реализации комплексных решений

Четыре проверенных способа сократить время реализации BI-проектов без потери функциональности. Реальный опыт backend-разработчика, который поможет вам избежать типичных ошибок при внедрении Business Intelligence.

Подробнее в нашей статье: https://proglib.io/sh/YuEShfjNiD
💬 Как преобразовать два списка в словарь?

Допустим, у нас есть два списка: один с именами студентов, а другой с их оценками. Как можно превратить эти списки в словарь?

Для этого можно использовать функцию zip().