Базовые вопросы для Python Developer, список будет пополняться или редактироваться в процессе. Welcome to PR!
- Стандартные типы данных, изменяемость и неизменяемость
str.split()и другие методы строк- Разница между
tupleиlist - List comprehension, Generator comprehension
- Методы
any,all,max,minetc. - Множества (
set), чем схожи с диктом, что может быть членом множества? - Как работает
dict(обход коллизий в хэш таблице), что может быть ключом словаря? - Стандартные библиотеки (
sys,os,re,datetime) - variable swap
x, y = y, xи почему это так работет в Python - Удалить повторяющиеся элементы в листе(через
set, например) - PEP8, линтеры
- Менеджеры контекста, представление об их реализации внутри языка.
__enter__,__exit__, асинхронные менеджеры контекста. Обработка ошибок(параметры__exit__) - Итераторы и генераторы(базовое представление о работе под капотом) -
__iter__,next(),yieldetc. - Декораторы, почему в Python возможна их реализация. Умение писать простые декораторы и понимать принцип их работы.
- lambda functions
- Разница между методом класса и статическим методом, как реализовать второй(
classmethodvsstaticmethod) - Тесты(pytest, unittest etc.)
- Шаблоны проектирования (Singleton, Decorator, etc)
- Магические методы(
__new__,__init__,__call__,__hash__,__eq__,__bool__etc) - Разница между
__new__и__init__ asyncandawait(python 3.5+), event loop, coroutines etcdataclasses- MRO, Плюсы и минусы множественного наследования (это зло), как проверить порядок наследования на объекте класса(метод
mro()или__mro__) __slots__- Дескриптор протокола (
__get__,__set__,@property,@property.setter, etc) - multiprocessing vs threading, usecases
GIL, problems, reasonsMetaclasses- Функция
type(), применение её как метакласса. - Дополнительные структуры данных из
collections(Counterи прочее) - Garbage Collection(GC), cyclic references, reference counting
- How Python manage memory(pool, block, arena)