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

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

@py_interview_lib

Вопросы с собеседований по Python и ответы на них.

Учиться у нас: https://clc.to/VcaMmg

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

Для обратной связи: @proglibrary_feeedback_bot
Subscribers
5.89K
Photos
748
Videos
17
Links
842

Showing posts older than #41 · Back to latest

Older Posts 19 shown
Post #40 1.09K
Что такое _slots_?

__slots__ — это особый атрибут класса, который позволяет определить ограниченное множество атрибутов (полей) для экземпляров данного класса. Использование __slots__ может существенно снизить расход памяти для объектов класса и ускорить доступ к атрибутам, но оно также вносит некоторые ограничения и ограничения.

Обычно вы можете добавлять атрибуты к объектам класса динамически, потому что они хранятся в словаре. Однако это может вызвать избыточные затраты на память и небольшое замедление доступа к атрибутам из-за поиска по словарю. Атрибуты, определенные через __slots__, фактически резервируют место в памяти напрямую в экземпляре класса, что уменьшает объем памяти, требуемый для хранения объектов.
  • 👍 4
Post #39 1.18K
Нужно ли писать собственные регулярные выражения для валидации почты и URL?

Модуль validators даёт возможность использовать уже готовые валидаторы для самых распространенных задач. Документация доступна здесь.
  • 🔥 3
  • ❤ 1
Post #38 1.22K
Что делает метод Counter.elements()?

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

Элементы возвращаются в порядке их появления. Если количество элементов меньше единицы, то метод Counter.elements() просто проигнорирует его.
  • 👍 8
  • ❤ 1
Post #37 1.15K
Задача

У вас есть девять цифр: 1, 2, …, 9. Именно в таком порядке. Вы можете вставлять между ними знаки «+», «-» или ничего. У вас будут получаться выражения вида 123+45-6+7+89. Найдите все из них, которые равны 100.

Тут три функции: all_combinations — итератор, который выдает все числа для операций (в терминах задачи: вставляет пустые места); all_signs — выдаёт все возможные сочетания знаков + и - заданной длинны (для единообразия, это тоже итератор с рекурсией); perform_operations — выполняет операции.

Тут, конечно, просится решение, избавленное от if-ов и кодирования операций с помощью символов. Но это решение будет более громоздким, о нём можно рассказать, но и писать, и читать его дольше.
  • 👍 2
  • ❤ 1
Post #36 1.13K
Что такое Docstring?

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

Обычно docstring располагается в самом верхнем уровне определения элемента кода и заключается в тройные кавычки (одинарные или двойные).

#для_продвинутых
  • 👍 10
  • ❤ 1
Post #35 1.11K
Что такое файлы .pth?

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

Это удобно, когда нужно импортировать модули из нестандартных директорий без необходимости переноса файлов в директории по умолчанию.
#вопросы_с_собеседований
  • 🔥 2
Post #34 1.16K
Какие нюансы есть в использовании чисел как ключей?

Числовые ключи в словарях подчиняются правилам сравнения чисел. Таким образом, int(1) и float(1.0) считаются одинаковым ключом. Однако из-за того, что значения типа float сохраняются приближенно, не рекомендуется использовать их в качестве ключей.
  • 👍 3
  • ❤ 1
Post #33 1.25K
Напишите программу на Python для локального сохранения изображения из Интернета, URL-адрес которого известен

Ответ на картинке.
  • 👍 2
Post #32 1.36K
Что такое MRO?

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

MRO в Python определяется с помощью алгоритма C3 Linearization (C3 линеаризации). Этот алгоритм гарантирует, что порядок разрешения методов будет согласован и предсказуем вне зависимости от порядка наследования. Он предотвращает проблемы, связанные с амбигуитетами и неоднозначностями в множественном наследовании.
  • 👍 2
Post #31 1.24K
Что будет в результате выполнения данного кода?

Ответ:
Результатом выполнения данного кода будет [6, 6, 6, 6], а не [0, 2, 4, 6].

Это объясняется тем, что замыкания в Python работают по принципу позднего связывания. Это означает, что значения переменных, используемых в замыканиях, ищутся во время вызова внутренней функции. Поэтому, когда вызывается любая из функций, возвращаемых multipliers(), значение i ищется исключительно в области видимости этой функции в данный момент. А значение i, вне зависимости от того, какая из функций вызывается, после завершения цикла for всегда равно 3. Таким образом, каждая возвращаемая функция умножает значение, которое ей передано, на 3, а поскольку в приведенном выше коде передается значение 2 , все они возвращают значение 6 (то есть 3 x 2).
#вопросы_с_собеседований
  • 👍 6
  • 🤔 3
Post #30 1.17K
Что делает метод ljust()?

Делает длину строки не меньшей width, по необходимости заполняя последние символы символом fillchar.
  • 👍 8
Post #29 1.32K
Что делает whylogs?

whylogs — это библиотека для профилирования и анализа данных в Python. Она предоставляет средства для сбора статистики о данных, визуализации этой статистики и создания профилей данных для мониторинга и анализа.
  • 👍 3
Post #28 1.46K
Как преобразовать PNG в PDF?

Для начала установим библиотеку img2pdf — pip install img2pdf.

img2pdf — это пакет Python с открытым исходным кодом для преобразования изображений в формат pdf.

Подробнее ознакомиться с библиотекой img2pdf можно здесь.
  • 👍 2
Post #27 1.27K
Как можно объявить несколько присваиваний в одном выражении?

Оба варианта на картинке. В первой строке мы присваиваем переменным a, b, c соответственно значения 3, 4, 5, а во второй строке все переменные получают значение 3.
  • 👍 11
Post #26 1.29K
Как создать случайную строку в Python?

Чтобы сгенерировать случайную строку в Python, используйте модуль строки и метод random.choices().

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

Модуль random в Python выполняет случайные генерации.
  • 👍 3
  • ❤ 2
Post #24 1.25K
Что такое introspection?

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

Одним из примеров использования introspection является динамическое создание объектов в Python. Например, если у вас есть класс, но вы не знаете имя этого класса во время написания кода, вы можете использовать функцию getattr() для получения класса по его имени во время выполнения программы.

Другой пример использования introspection — это определение типа объекта в Python. Для этого можно использовать функцию type().
  • 👍 1
Post #23 1.28K
Что такое фабрика декораторов?

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

Например, вам нужен декоратор для проверки прав. Логика проверки одинакова, но прав может быть много. Чтобы не плодить копипасту, стоит написать фабрику декораторов.
Post #22 1.32K
Объясните, как в Python осуществляется управление памятью.

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

По факту данной областью управляет интерпретатор interpreter. Пользователь никак не контролирует данный процесс, даже когда манипулирует ссылками объектов на блоки памяти внутри динаической области. Менеджер памяти Python распределяет пространство динамической области среди объектов и другие внутренние буферы по требованию.
  • 👍 7
  • ❤ 2
Post #21 1.43K
Написать код, который будет рассчитывать угол между часовой и минутной стрелкой в заданное время.

Данная задача покажет логическое мышление кандидата, и как быстро он сможет придумать решение. Пример решения представлен на изображении.
  • 🔥 4
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →