21 и больше: Самые популярные вопросы на собеседовании для Python разработчика
1. Чем отличается is от == в Python?
Ответ:
== проверяет равенство значений, а is проверяет, ссылаются ли переменные на один и тот же объект в памяти. Пример:
2. В чем разница между deepcopy и copy?
Ответ:
copy создаёт поверхностную копию объекта, в то время как deepcopy рекурсивно копирует все вложенные объекты. Пример:
3. Объясните разницу между *args и **kwargs.
Ответ:
*args передаёт позиционные аргументы в функцию как кортеж, а **kwargs передаёт именованные аргументы как словарь. Пример:
4. Что такое None в Python?
Ответ:
None - это специальный объект, который представляет отсутствие значения. Пример:
5. Как работает try/except и зачем он нужен?
Ответ:
try/except используется для обработки исключений и предотвращения аварийного завершения программы. Пример:
6. Чем отличается staticmethod от classmethod?
Ответ:
staticmethod не принимает ссылку на экземпляр или класс и работает как обычная функция в классе. classmethod принимает ссылку на класс как первый аргумент. Пример:
7. Что такое list comprehension?
Ответ:
List comprehension - это компактный способ создания списков. Пример:
8. Как использовать lambda функции?
Ответ:
lambda - это анонимные функции, которые могут содержать только одно выражение. Пример:
9. Что делает функция map()?
Ответ:
map() применяет функцию ко всем элементам итерируемого объекта. Пример:
10. Как работает filter()?
Ответ:
filter() возвращает элементы, которые удовлетворяют условию, заданному в функции. Пример:
11. Объясните генераторы и yield.
Ответ:
Генераторы - это функции, которые возвращают итератор, используя yield для сохранения состояния между вызовами. Пример:
12. Что такое декораторы в Python?
Ответ:
Декораторы - это функции, которые принимают другую функцию и добавляют к ней поведение. Пример:
13. Как работает with?
Ответ:
with используется для работы с менеджерами контекста и автоматического освобождения ресурсов. Пример:
14. Чем отличается range от xrange?
Ответ:
range возвращает список (в Python 3 - итератор), xrange существует только в Python 2 и возвращает генератор.
15. Что такое __init__?
Ответ:
__init__ - это конструктор класса, вызываемый при создании экземпляра. Пример:
16. Как проверить тип переменной?
Ответ:
Используйте type() или isinstance(). Пример:
17. Что такое self?
Ответ:
self - это ссылка на текущий экземпляр класса.
18. Как работает zip()?
Ответ:
zip() объединяет несколько итерируемых объектов в кортежи. Пример:
19. Как поменять местами значения двух переменных?
Ответ:
20. Что такое pass?
Ответ:
pass - это заглушка для пустого блока кода.
21. Как использовать enumerate()?
Ответ:
enumerate() добавляет индексы к итерируемым объектам. Пример: