Привет. Меня зовут ПрограМишка, и это курс, после которого ты идёшь на Python-собеседование не с ощущением "авось повезёт", а с чётким пониманием, что тебя могут спросить и почему спрашивают именно это.
Сразу по-честному: это не курс "выучи 100 вопросов с ответами". Такие шпаргалки не работают, потому что на собеседовании тебя редко просят дать определение. Тебя просят написать код, объяснить, почему он именно такой, и разобрать, что будет, если условия немного поменять. Поэтому в каждом уроке сначала будет: зачем это вообще существует и на какую жизненную ситуацию это похоже. Потом: как это работает внутри Python. И только потом: рабочий код, который ты можешь запустить у себя и убедиться, что он делает ровно то, что написано.
Курс разбит на 11 модулей, 72 урока. Идут от простого к сложному, и внутри каждого модуля тоже от простого к сложному, так что можно проходить по порядку, не перепрыгивая.
| Модуль | Тема | Про что | Уроков |
|---|---|---|---|
| 1 | Функции высшего порядка и декораторы | От замыканий до метаклассов | 16 |
| 2 | Итераторы и генераторы | Ленивые вычисления, yield, itertools | 8 |
| 3 | ООП изнутри Python | MRO, дескрипторы, GIL, память, slots | 10 |
| 4 | Типизация | type hints, Generics, Protocol, mypy | 4 |
| 5 | Модели конкурентности | asyncio, threading, multiprocessing | 6 |
| 6 | Блокировки и синхронизация | Lock, RWLock, распределённые блокировки | 6 |
| 7 | Обработка данных, очереди, надёжность | Backpressure, Bulkhead, очереди, гарантии доставки | 8 |
| 8 | Архитектурные принципы | DI, SRP, graceful shutdown | 4 |
| 9 | Тестирование | pytest, фикстуры, моки | 8 |
| 10 | Финал | Карта понятий и чек-лист по грейдам | 1 |
Модуль 1 (декораторы) - самый большой и самый детальный. Это не случайно: декораторы спрашивают почти на каждом Python-собеседовании уровня middle и выше, и это тема, где легче всего поплыть, если не разбирался в ней глубоко, а просто запомнил синтаксис @something. Мы пройдём её так, что ты будешь понимать декоратор на всех уровнях: от бытовой аналогии до метаклассов.
В каждом уроке ты найдёшь:
42, значит он выводит 42, а не "должен выводить" по идее.Под заголовком каждого урока указана сложность (базовый / средний / продвинутый) и грейд, для которого урок актуальнее всего. Ниже - частота вопроса на собеседованиях и список компаний, где эта тема встречается на практике. Это не гарантия, что тебя спросят именно так, а ориентир: сколько внимания стоит уделить теме и на каком уровне детализации.
Если тебе нужно расставить приоритеты и времени в обрез, вот с чего начинать в зависимости от грейда, на который претендуешь:
Дальше - к первому модулю. Начнём с того, что функция в Python это не просто "кусок кода с именем", а полноценный объект. Именно из этого простого факта вырастает всё остальное: и декораторы, и функции высшего порядка, и половина архитектурных паттернов, которые тебя будут просить объяснить.