
Полный план обучения FastAPI: от нуля до первой работы
Почему FastAPI — хороший старт
FastAPI стал стандартом для новых Python-проектов. Он быстрее Django REST Framework, документация генерируется автоматически, типизация встроена с первого дня. Компании вроде Яндекс, Авито, многочисленные стартапы активно переходят на него.
На hh.ru запросы "FastAPI" растут каждый квартал. Junior-вакансий с FastAPI больше, чем с Flask — потому что FastAPI проще поддерживать.
Этот план рассчитан на 3–4 месяца при 2 часах в день.
Месяц 1: Фундамент Python
Прежде чем трогать FastAPI, нужен уверенный Python. Без этого фундамента ты будешь застревать на каждом шаге.
Что освоить:
Типы данных и коллекции
list,dict,set,tuple— когда что использовать- Генераторы списков и словарей
collections.Counter,collections.defaultdict
Функции
*args,**kwargs- Декораторы (научишься писать сам, а не только использовать)
- Замыкания
ООП
- Классы, наследование, полиморфизм
@property,@classmethod,@staticmethod- Дандер-методы (
__str__,__repr__,__eq__)
Асинхронность — это критично для FastAPI
Результат месяца: можешь написать асинхронный скрипт, уверенно работаешь с типами и декораторами.
Месяц 2: FastAPI + PostgreSQL
Неделя 1–2: Основы FastAPI
Установка и первый эндпоинт:
Что нужно понять:
- Path parameters и query parameters
- Pydantic модели для валидации данных
- Response models
- Status codes
- Dependency injection (это ключевая концепция FastAPI)
Неделя 3–4: PostgreSQL + SQLAlchemy
Модель:
Репозиторий:
Результат месяца: CRUD API на FastAPI с PostgreSQL.
Месяц 3: Авторизация, Redis, Docker
JWT авторизация
Redis для кеширования
Docker
Без Docker не берут даже на джуна:
Результат месяца: полноценный API с авторизацией, кешированием, запускается в Docker.
Месяц 4: Тесты, структура проекта, портфолио
Структура проекта (доменная)
Тесты с pytest
Финальный проект для портфолио
Напиши один из вариантов:
- API для задачника (задачи, исполнители, статусы, дедлайны)
- Блог с авторизацией (посты, комментарии, теги, поиск)
- Сервис коротких ссылок (генерация, статистика переходов)
Каждый должен содержать: авторизацию JWT, PostgreSQL + миграции Alembic, тесты, Docker, документация в README.
Что спрашивают на собеседованиях
Обязательно знать:
- Чем
async defотличается отdefв FastAPI — и почему это важно для производительности - Что такое Dependency Injection в FastAPI — покажи пример с
Depends() - Как работает Pydantic validation —
BaseModel,field_validator,model_validator - Зачем
response_model— скрываем поля, которые нельзя отдавать клиенту - Migrations:
alembic init,alembic revision --autogenerate,alembic upgrade head
Часто задают вопросы:
- Как сделать фоновую задачу в FastAPI? (
BackgroundTasks) - Как добавить middleware? (CORS, логирование)
- Как обрабатывать ошибки? (
@app.exception_handler)
Где практиковаться
После прохождения теории — критично практиковаться на реальных вопросах. На Tech Path Finder есть курс по Python с разделами про асинхронность, ООП и паттерны — те самые темы, где джуны срезаются чаще всего.
Пройди квизы, посмотри свои слабые места в аналитике прогресса и сфокусируйся на них — это эффективнее, чем читать всё подряд ещё раз.