Список часто встречающихся и наиболее интересных вопросов на интервью для Python разработчика
- Что такое генератор?
- Чем отличается
list
отtuple
? - Чем отличается
set
отdict
? - Что такое list comprehension?
- Есть ли ООП в Python?
- Какие коллекции из стандартной библиотеки вы знаете?
- Что такое декоратор? Как он работает? Зачем он нужен?
- Напишите декоратор, считающий время выполнения функции и выводящий это в стандартный поток вывода
- Что такое контекстный менеджер? Как он работает? Зачем он нужен?
- Напишите контекстный менеджер, считающий время выполнения контекста(блока) и выводящий это в стандартный поток вывода
- Что такое статическая и динамическая типизация? Что значит понятие "duck typing"?
- Что такое изменяемые и неизменяемые объекты? Приведите примеры изменяемого и неизменяемого объекта.
- Что такое передача данных в функцию по ссылке и по значению? Как это происходит в Python?
- Чем генератор отличается от итератора?
- Какие методы есть у объекта генератора?
- Как хранятся в памяти
list
/tuple
/dict
/set
? - Что такое GIL?
- Зачем нужен GIL? И зачем его добавили в язык?
- Как во множественном наследовании отрабатывается поиск атрибута?
- Что такое
__slots__
? - Какие объекты могут выступать в роли ключа для
dict
? - Что вернет
sys.getsizeof(42)
? - Есть ли интерфейсы (ООП) в Python?
- Что такое
super()
в Python? - Что такое мета-классы? Зачем они нужны?
- Чем
@staticmethod
отличается от@classmethod
? - Что такое
__new__
? Чем он отличается от__init__
? - Что такое "CPython"?
- Какие линтеры для языка Python вы знаете? Зачем они нужны?
- Зачем нужна библиотека
threading
? Чем она отличается от библиотекиmultiprocessing
? - Как написать свой итератор в Python? Какие методы необходимо реализовать?
- Зачем нужен файл
__init__.py
? - Есть ли абстрактные классы в Python?
- Что такое аннотирование типов в Python? Зачем это нужно?
- Что такое
@dataclass
? - Что такое "virtual env"?
- Какие системы управления зависимостями в Python вы знаете?
- Что такое асинхронное программирование? Чем оно отличается от многопоточного?
- Что делает ключевое слово
await
в Python? - Что такое
.whl
файл? - Что такое PyPI?
- Что такое pyenv? Как установить разные версии Python на компьютер?
- Что такое Python "bindings"?
- Что такое ковариантные / контр-вариантные / инвариантные типы?
- Что такое дескриптор? Какой протокол дескриптора? Какие методы?
- Что такое
@property
? - Что такое stub файл в Python?
- Как Python выделяет память под объекты в вашей программе?
- Как устроен GC в Python? Что такое "reference counting"?
- Как запустить код на Java/C/C++/Go из Python?
- В каком году появился Python?