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

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

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

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

Наши каналы: https://yangx.top/proglibrary/9197
加入频道
Что такое ключевое слово 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(). На изображении представлено решение данной задачи.
📈 Четыре примера работы аналитиков: кейсы IT-компаний

Читайте нашу статью. В ней: аналитики крупных компаний рассказали Proglib о самых интересных кейсах, над которыми им приходилось работать.

🔗 Ссылка
Please open Telegram to view this post
VIEW IN TELEGRAM
Подготовься к собеседованию на позицию Data Scientist!

Профессия Data Scientist становится все более востребованной, и компании ищут специалистов, способных превращать данные в ценные инсайты. Но как успешно пройти техническое собеседование?

Мы собрали 10 типичных задач, которые могут встретиться на собеседовании, и эффективные подходы к их решению:

1. Внешнее и тензорное произведение

2. One-hot кодировка

3. Мониторинг осадков

4. Симуляция бросков кубиков в «Монополии»

5. Бурение скважин для добычи золота

6. Вычисление свертки

7. Бэктестинг торговой стратегии

8. Прогноз оттока клиентов с помощью логистической регрессии

9. Обнаружение спама с использованием дерева решений

10. Предсказание цен на квартиры с помощью линейной регрессии

Чтобы начать решать задачи, достаточно ответить на четыре простых вопроса по этой ссылке и получить доступ к вводным занятиям курса Математика для Data Science и 10 задачам.
Что представляют собой генераторы в Python, как функционирует метод send() в этих генераторах и каким образом его можно применять для управления их поведением?

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

Мы сделали подробный обзор современных генераторов кода — от GitHub Copilot до малоизвестных, но мощных альтернатив.

👉 Читать по этой ссылке