Специализация
Python Backend Developer
Java Backend Developer
Node.js Backend Developer
Golang Backend Developer
React Frontend Developer
Выберите навыки
FastAPI
Git
CI/CD
Python
Docker
Сложность
1-3
4-6
7-8
9-10
Рейтинг вопросов
1
2
3
4
5
Подпишись на Python Developer в телеграм
Что лучше выбрать — Django или FastAPI? В чём преимущества каждого?
Django — полнофункциональный « batteries‑included » фреймворк с ORM, админкой и готовой экосистемой, подходит для крупных проектов с классической архитектурой. FastAPI — современный асинхронный фреймворк на базе Starlette и Pydantic, обеспечивает высокую производительность и автоматическую валидацию/документацию через типы Python.
Работал ли с Terraform и Ansible?
Terraform используется для декларативного описания инфраструктуры и её развертывания, Ansible — для автоматизации настройки и деплоя приложений. Опыт с этими инструментами позволяет управлять инфраструктурой и конфигурацией в CI/CD и production.
Какие инструменты DRF и Django будешь использовать для реализации бизнес-логики сохранения заказа?
Для реализации бизнес-логики сохранения заказа обычно используют: сериализаторы DRF с методами create/update, транзакции из django.db.transaction, валидаторы сериализаторов, и, возможно, сигналы (signals) Django для пост-обработки.
Как спроектировать спецификацию для фронтенда для рабочего места менеджера обработки заказов (back office) с CRUD?
Спецификация должна содержать описание API (эндпоинтов CRUD), структуры данных (моделей), схемы запросов/ответов, авторизации, валидации, бизнес-правил, а также требования к интерфейсу и поведению.
Как по шагам произвести рефакторинг — поменять название поля в таблице базы данных?
1. Изменить имя поля в модели Django.
2. Создать миграцию с помощью makemigrations.
3. Проверить миграцию.
4. Применить миграцию migrate.
5. Обновить код, где используется старое имя поля.
6. Протестировать.
В чём разница между select_related и prefetch_related?
Какие плюсы и минусы у django tokens для авторизации?
Как оптимизировать запрос для отчета по наличию книг в магазинах (N+1 problem)?
Как связать модели "Магазин" и "Книга" (если книга есть в нескольких магазинах)?
Сколько запросов к БД выполнится с PrefetchRelated в Django?
Рейтинг:
2
Сложность:
6
select_related использует SQL JOIN для выборки связанных объектов одного уровня (ForeignKey, OneToOne), а prefetch_related делает отдельный запрос и объединяет объекты в Python, подходит для отношений ManyToMany и обратных ForeignKey.
Рейтинг:
2
Сложность:
6
Плюсы: простота реализации, хорошо подходит для REST API, не требует сессий. Минусы: токен постоянен до отзыва, сложнее реализовать управление сроком жизни и безопасность по сравнению с JWT.
Рейтинг:
2
Сложность:
6
Проблема N+1 возникает, когда для каждого объекта в списке (N) делается отдельный запрос (+1 начальный). В Django её решают с помощью select_related (для ForeignKey) или prefetch_related (для ManyToMany). Это объединяет запросы, уменьшая их количество с N+1 до 1-2.
Рейтинг:
2
Сложность:
6
Если книга может быть в нескольких магазинах, а магазин содержит много книг — это связь «многие ко многим» (ManyToMany). В Django её реализуют через ManyToManyField. При этом создаётся промежуточная таблица, которая хранит пары «магазин-книга».
Рейтинг:
2
Сложность:
5
С prefetch_related Django делает ровно 2 запроса:
Получить основные объекты (например, все магазины).
Получить все связанные объекты (например, все книги этих магазинов).
Дальше ORM связывает их в памяти. Без prefetch_related было бы N+1 запросов.
Рейтинг:
2
Сложность:
6
Рейтинг:
2
Сложность:
6
Рейтинг:
2
Сложность:
6
Рейтинг:
2
Сложность:
7
Рейтинг:
2
Сложность:
6