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

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

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

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

Наши каналы: https://yangx.top/proglibrary/9197
加入频道
Что такое синхронный код?

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

Исполнение синхронного кода может занять значительное время и привести к проблемам с производительностью, особенно когда код выполняет блокирующие операции, такие как чтение и запись файлов, сетевые запросы или поиск данных в базе данных.
Forwarded from DIGITALRAZOR
Что будет, если DigitalRazor объединится с Proglib Academy? Правильно! Новый розыгрыш.

Условия:

Подпишитесь на DigitalRazor;
Подпишитесь на «Библиотеку программиста»;
Нажмите кнопку «Участвовать» под этим постом.

Призы:

1-е место: 27-дюймовый монитор;
2, 3 и 4-е место: сертификат номиналом 20 000 рублей на ИТ-курсы от Proglib Academy;
5-е место: геймерская клавиатура + коврик на выбор.

Призы разыграем 1 декабря в 20:00 (МСК).

Доставка призов возможна только по городам России и Белоруссии.

Proglib Academy создаёт онлайн-курсы для программистов, помогает получить востребованные навыки и построить успешную карьеру в IT.

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

Регламент розыгрыша
☄️ Проверь себя

Хочешь узнать, насколько ты прокачан в разработке? Тест для айтишников, чтобы проверить знания. Отличный способ отвлечься и сравнить результаты с друзьями!

👉 Пройти
Можно ли добавить статическую типизацию в Python?

Mypy — это инструмент для статической типизации в Python, который добавляет дополнительный уровень проверки типов в ваш код. Это позволяет выявлять и предотвращать ошибки, связанные с типами данных, еще на этапе разработки, до запуска программы.

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

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

Такой подход способствует повышению надежности и читаемости кода. Аннотации типов делают код более понятным и служат документированием ожидаемой структуры данных, что упрощает совместную работу в команде.
This media is not supported in your browser
VIEW IN TELEGRAM
⚡️ Напоминаем: у нас можно (и нужно) купить рекламу

→ Более 60 телеграм-каналов по всем направлениям IT
→ Почти 1,2 миллиона аудитории
→ Собственное медиа и сайт с DAU 25 000 — можем усилить продвижение
→ Классные email-рассылки
→ И, конечно же, крутые контент-менеджеры, которые сделают нативную интеграцию/придумают виральный пост/реализуют любые контентные предпочтения

Для заказа пишите сюда: @proglib_adv
Как получить текущее имя пользователя в Python?

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

Метод os.getlogin() позволяет получить имя пользователя, который вошел в систему на терминале, управляющем текущим процессом.
🎉 Розыгрыш от Proglib Academy и DigitalRazor!

С 27 ноября по 27 декабря у вас есть шанс не только прокачать свои навыки, но и выиграть ПК при покупке любого курса Академии!

🎁 Призы для участников акции:

Игровой ПК DigitalRazor ProGaming
VIP-пакет курса Proglib Academy

💡 Как принять участие?
Купите любой курс Proglib Academy с 27 ноября по 27 декабря и получите шанс выиграть мощный ПК.

Приобретите технику DigitalRazor — участвуйте в розыгрыше VIP курса.

📅 Вместе с DigitalRazor мы создали спецпредложение -50% на курсы до 30 ноября, чтобы вы могли начать обучение на более выгодных условиях.

Выбрать курс
Что такое ключевое слово await?

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

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

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

Если await вызывается для корутины, выполнение текущей корутины приостанавливается до тех пор, пока не завершится вызванная корутина.
📊 Системный и бизнес-аналитик: пошаговый гайд к востребованной профессии

Пару слов о еще одном безумном разделении во вселенной IT-специальностей: системный и бизнес-аналитик. Рассказываем в нашей статье, чем занимаются представители профессии, сколько зарабатывают и как войти в эту сферу деятельности.

🔗 Ссылка

Хочешь стать бизнес-аналитиком? У нас есть отличный курс, который поможет подтянуть математику:
🔵 Математика для Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
Что делает функция functools.partial?

Функция functools.partial() в Python позволяет создавать новую функцию, в которой некоторые аргументы уже имеют заданные значения. Это удобно, так как упрощает вызовы функций с параметрами, которые используются часто.
This media is not supported in your browser
VIEW IN TELEGRAM
📱🖥️ Как использовать планшет на Android как второй монитор для ноутбука или ПК

Два простых и бесплатных способа, которые сделают из Android-планшета второй монитор ноутбука или ПК.

👉 Читать статью
👉 Зеркало
Как парсить RSS?

Feedparser — это библиотека на Python, которая упрощает процесс парсинга RSS и Atom фидов. Она предоставляет удобный интерфейс для извлечения информации из фидов, включая заголовки, описания, ссылки и даты публикации.
Быстрый deque

Deque является более предпочтительным выбором по сравнению с обычным списком, когда требуется быстрое добавление и удаление элементов с начала и конца контейнера.

Deque обеспечивает линейную сложность O(1) для операций добавления и удаления, в то время как стандартный список имеет сложность O(n) для этих же операций.

Кроме того, deque поддерживает использование стандартных функций, таких как sum, min, max и других.
Для чего нужен модуль warning?

Модуль warning используется для вывода предупреждений во время выполнения программы.

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

Основные причины для использования предупреждений:
— Уведомить о неэффективных конструкциях в коде, которые можно оптимизировать.
— Предупредить об устаревших методах или функциях, которые могут быть удалены в будущих версиях.
— Обозначить использование ненадежных внешних данных или API.
— Выявить подозрительные ситуации, которые не являются критичными ошибками, но требуют внимания.
Что представляют собой генераторы в Python, как функционирует метод send() в генераторах и каким образом его можно применять для управления их поведением?

Генераторы в Python представляют собой функции, которые используют оператор yield для возврата значений и приостановки своего выполнения. Метод send() позволяет отправлять данные обратно в генератор, которые могут быть использованы при следующем возобновлении его работы. Это делает генераторы двусторонними, так как они могут не только возвращать значения, но и принимать данные.

def interactive_generator():
value = yield «Начало» # Возвращаем начальное значение
while value:
value = yield f"Вы отправили: {value}» # Возвращаем обработанное значение
gen = interactive_generator()
print(next(gen)) # «Начало»
print(gen.send(«Привет»)) # «Вы отправили: Привет»
print(gen.send(«Python»)) # «Вы отправили: Python»
gen.close() # Завершаем генератор
Что такое args?

Args — это сокращение от слова «arguments» (аргументы). Этот термин часто применяется в контексте создания функций, которые могут принимать переменное количество аргументов.
Когда вы определяете функцию с использованием *args в списке параметров, это означает, что функция способна принимать любое количество позиционных аргументов. В этом случае args представляет собой кортеж (tuple), который включает все переданные позиционные аргументы.
Функция iter и два аргумента

Функция iter имеет еще один способ использования. Итератор можно создать, передав в iter в качестве первого аргумента обычную функцию, которая будет возвращать следующий элемент последовательности при каждом вызове, а вторым аргументом — значение, при котором итерация должна завершиться. Рассмотрим это на примере (см. изображение).

Использование lambda в данном примере необходимо, так как переданная в iter функция должна вызываться без аргументов. Сформированный таким образом итератор будет вызывать указанную функцию многократно, пока она не вернет значение, указывающее на завершение. В этот момент итератор сгенерирует исключение StopIteration, и итерация прекратится.
Что делает callable()?

Метод callable() определяет, является ли указанный объект вызываемым. Он возвращает True, если объект можно вызвать, и False в противном случае.
Важно отметить, что объект считается вызываемым, если в нем реализован метод __call__().
Как можно отобразить все функции, содержащиеся в модуле?

Для этого можно воспользоваться методом dir(). На изображении представлено решение данной задачи.