Теория
1. Расскажите о структуре данных словаря в Python. Как работает алгоритм под капотом, с какой скоростью, какие требования к ключам, и какие проблемы могут возникнуть (например, коллизии)?
2. Как реализовать класс-итератор в Python? Какие дандер-методы нужно определить, чтобы он перебирал последовательность, и что происходит, когда элементы заканчиваются?
3. Чем отличается генератор от итератора? Для каких задач лучше использовать генераторы?
4. Как работает механизм сборки мусора в Python? Как он обрабатывает циклические ссылки, и что такое поколения в этом контексте?
5. Какие основные элементы модуля asyncio вы использовали? Как взаимодействуют задачи, корутины и цикл событий (Event…