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

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

Open in Telegram

Вопросы с собеседований по Python и ответы на них. Как запустить своего ии-агента: https://clc.to/tvpmDQ По рекламе: @proglib_adv Учиться у нас: https://proglib.io/w/6587aafa Для обратной связи: @proglibrary_feeedback_bot

Show more
5 995
Subscribers
+224 hours
-47 days
-1730 days
Posts Archive
Что такое фабричный метод? Фабричный метод (Factory Method) — это паттерн проектирования, который позволяет создавать объекты
Что такое фабричный метод? Фабричный метод (Factory Method) — это паттерн проектирования, который позволяет создавать объекты определенного типа через интерфейс или базовый класс, но делегирует фактическое создание конкретных объектов подклассам. Это способ позволяет легко добавлять новые типы объектов без изменения существующего кода. Пример на картинке показывает основы паттерна «Фабричный метод» в Python. В реальных ситуациях можно создавать более сложные иерархии продуктов и создателей, чтобы обеспечить более гибкую и расширяемую структуру кода.

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

Нужно ли писать собственные регулярные выражения для валидации почты и URL? Модуль validators даёт возможность использовать у
Нужно ли писать собственные регулярные выражения для валидации почты и URL? Модуль validators даёт возможность использовать уже готовые валидаторы для самых распространенных задач. Документация доступна здесь.

Что делает метод Counter.elements()? Возвращает итератор по элементам, в котором каждый элемент повторяется столько раз, во с
Что делает метод Counter.elements()? Возвращает итератор по элементам, в котором каждый элемент повторяется столько раз, во сколько установлено его значение. Элементы возвращаются в порядке их появления. Если количество элементов меньше единицы, то метод Counter.elements() просто проигнорирует его.

Задача У вас есть девять цифр: 1, 2, …, 9. Именно в таком порядке. Вы можете вставлять между ними знаки «+», «-» или ничего.
Задача У вас есть девять цифр: 1, 2, …, 9. Именно в таком порядке. Вы можете вставлять между ними знаки «+», «-» или ничего. У вас будут получаться выражения вида 123+45-6+7+89. Найдите все из них, которые равны 100. Тут три функции: all_combinations — итератор, который выдает все числа для операций (в терминах задачи: вставляет пустые места); all_signs — выдаёт все возможные сочетания знаков + и - заданной длинны (для единообразия, это тоже итератор с рекурсией); perform_operations — выполняет операции. Тут, конечно, просится решение, избавленное от if-ов и кодирования операций с помощью символов. Но это решение будет более громоздким, о нём можно рассказать, но и писать, и читать его дольше.

Что такое Docstring? Docstring (дословно «строка документации») — это строка, которая используется для документирования модул
Что такое Docstring? Docstring (дословно «строка документации») — это строка, которая используется для документирования модулей, функций, классов и методов в вашем коде. Она представляет собой строковый литерал, который следует сразу после определения элемента кода и предназначен для объяснения, как работает этот элемент, какие аргументы он принимает, какие значения возвращает и другие важные детали. Обычно docstring располагается в самом верхнем уровне определения элемента кода и заключается в тройные кавычки (одинарные или двойные). #для_продвинутых

Что такое файлы .pth? Файлы с расширением .pth — это файлы, которые могут быть использованы для добавления директорий в путь
Что такое файлы .pth? Файлы с расширением .pth — это файлы, которые могут быть использованы для добавления директорий в путь поиска модулей Python. Директивы .pth выполняются при запуске интерпретатора Python и добавляют определенные каталоги в переменную sys.path. Это удобно, когда нужно импортировать модули из нестандартных директорий без необходимости переноса файлов в директории по умолчанию. #вопросы_с_собеседований

Какие нюансы есть в использовании чисел как ключей? Числовые ключи в словарях подчиняются правилам сравнения чисел. Таким обр
Какие нюансы есть в использовании чисел как ключей? Числовые ключи в словарях подчиняются правилам сравнения чисел. Таким образом, int(1) и float(1.0) считаются одинаковым ключом. Однако из-за того, что значения типа float сохраняются приближенно, не рекомендуется использовать их в качестве ключей.

Напишите программу на Python для локального сохранения изображения из Интернета, URL-адрес которого известен Ответ на картинк
Напишите программу на Python для локального сохранения изображения из Интернета, URL-адрес которого известен Ответ на картинке.

Что такое MRO? MRO (Method Resolution Order) — это механизм, используемый для определения порядка разрешения методов при насл
Что такое MRO? MRO (Method Resolution Order) — это механизм, используемый для определения порядка разрешения методов при наследовании классов и множественном наследовании. MRO определяет, какие методы будут вызываться в случае, когда у наследующего класса есть методы с одинаковыми именами, унаследованными от разных базовых классов. MRO в Python определяется с помощью алгоритма C3 Linearization (C3 линеаризации). Этот алгоритм гарантирует, что порядок разрешения методов будет согласован и предсказуем вне зависимости от порядка наследования. Он предотвращает проблемы, связанные с амбигуитетами и неоднозначностями в множественном наследовании.

Что будет в результате выполнения данного кода? Ответ: Результатом выполнения данного кода будет [6, 6, 6, 6], а не [0, 2, 4,
Что будет в результате выполнения данного кода? Ответ: Результатом выполнения данного кода будет [6, 6, 6, 6], а не [0, 2, 4, 6]. Это объясняется тем, что замыкания в Python работают по принципу позднего связывания. Это означает, что значения переменных, используемых в замыканиях, ищутся во время вызова внутренней функции. Поэтому, когда вызывается любая из функций, возвращаемых multipliers(), значение i ищется исключительно в области видимости этой функции в данный момент. А значение i, вне зависимости от того, какая из функций вызывается, после завершения цикла for всегда равно 3. Таким образом, каждая возвращаемая функция умножает значение, которое ей передано, на 3, а поскольку в приведенном выше коде передается значение 2 , все они возвращают значение 6 (то есть 3 x 2). #вопросы_с_собеседований

Что делает метод ljust()? Делает длину строки не меньшей width, по необходимости заполняя последние символы символом fillchar
Что делает метод ljust()? Делает длину строки не меньшей width, по необходимости заполняя последние символы символом fillchar.

Что делает whylogs? whylogs — это библиотека для профилирования и анализа данных в Python. Она предоставляет средства для сбо
Что делает whylogs? whylogs — это библиотека для профилирования и анализа данных в Python. Она предоставляет средства для сбора статистики о данных, визуализации этой статистики и создания профилей данных для мониторинга и анализа.

Как преобразовать PNG в PDF? Для начала установим библиотеку img2pdf — pip install img2pdf. img2pdf — это пакет Python с откр
Как преобразовать PNG в PDF? Для начала установим библиотеку img2pdf — pip install img2pdf. img2pdf — это пакет Python с открытым исходным кодом для преобразования изображений в формат pdf. Подробнее ознакомиться с библиотекой img2pdf можно здесь.

Как можно объявить несколько присваиваний в одном выражении? Оба варианта на картинке. В первой строке мы присваиваем перемен
Как можно объявить несколько присваиваний в одном выражении? Оба варианта на картинке. В первой строке мы присваиваем переменным a, b, c соответственно значения 3, 4, 5, а во второй строке все переменные получают значение 3.

Как создать случайную строку в Python? Чтобы сгенерировать случайную строку в Python, используйте модуль строки и метод rando
Как создать случайную строку в Python? Чтобы сгенерировать случайную строку в Python, используйте модуль строки и метод random.choices(). Строковый модуль в Python содержит различные строковые константы, включая символы ASCII для всех случаев. Он также включает отдельные константы для прописных и строчных букв, цифр и специальных символов. Модуль random в Python выполняет случайные генерации.

Что такое introspection? Introspection — это способность программы анализировать свой собственный код во время выполнения. В
+1
Что такое introspection? Introspection — это способность программы анализировать свой собственный код во время выполнения. В Python это достигается с помощью функций, которые позволяют получить информацию о классах, функциях, переменных и модулях. Одним из примеров использования introspection является динамическое создание объектов в Python. Например, если у вас есть класс, но вы не знаете имя этого класса во время написания кода, вы можете использовать функцию getattr() для получения класса по его имени во время выполнения программы. Другой пример использования introspection — это определение типа объекта в Python. Для этого можно использовать функцию type().

Что такое фабрика декораторов? Это функция, которая возвращает декоратор. Такой декоратор редко помещают в отдельную переменн
Что такое фабрика декораторов? Это функция, которая возвращает декоратор. Такой декоратор редко помещают в отдельную переменную. Вместо этого декорируют результатом вызова фабрики декораторов. Например, вам нужен декоратор для проверки прав. Логика проверки одинакова, но прав может быть много. Чтобы не плодить копипасту, стоит написать фабрику декораторов.

Объясните, как в Python осуществляется управление памятью. В Python объекты и структуры данных data structures находятся в закрытой динамически выделяемой области private heap, которая управляется менеджером памяти Python. Он делегирует часть работы программам распределения ресурсов allocators, закрепленным за конкретными объектами, и одновременно с этим следит, чтобы они не выходили за пределы динамически выделяемой области. По факту данной областью управляет интерпретатор interpreter. Пользователь никак не контролирует данный процесс, даже когда манипулирует ссылками объектов на блоки памяти внутри динаической области. Менеджер памяти Python распределяет пространство динамической области среди объектов и другие внутренние буферы по требованию.

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