Django

Django & GraphQL

GraphQL з Django, Strawberry/Graphene, schema, queries, mutations, subscriptions, автентифікація, DataLoader, проблема N+1

24 питань зі співбесід·
Senior
1

Що таке GraphQL і яка його головна відмінність від REST?

Відповідь

GraphQL — це мова запитів для API, розроблена Facebook. На відміну від REST, який надає кілька endpoint із фіксованими структурами даних, GraphQL використовує єдиний endpoint, що дозволяє клієнту вказувати саме ті дані, які йому потрібні. Це вирішує проблеми over-fetching (отримання надмірної кількості даних) та under-fetching (необхідність робити кілька запитів), поширені в REST.

2

Які дві основні бібліотеки GraphQL доступні для Django?

Відповідь

Strawberry та Graphene-Django — це дві основні бібліотеки GraphQL для Django. Graphene-Django зріліша й широко поширена, використовує синтаксис на основі класів. Strawberry сучасніша, використовує нативні Python type hints і пропонує кращу інтеграцію з інструментами типізації. Strawberry рекомендується для нових проєктів завдяки більш pythonic синтаксису та нативній підтримці async.

3

Як визначити простий тип GraphQL за допомогою Strawberry для представлення моделі User у Django?

Відповідь

У Strawberry декоратор @strawberry.type застосовується до класу dataclass для визначення типу GraphQL. Поля оголошуються за допомогою стандартних Python type hints (str, int тощо). Цей підхід використовує нативну систему типізації Python, роблячи код читабельнішим і забезпечуючи кращу інтеграцію з IDE та інструментами перевірки типів, такими як mypy.

4

Що таке resolver у GraphQL і яка його роль?

5

Яка різниця між Query та Mutation у GraphQL?

+21 питань зі співбесід

Інші теми співбесід Django

Основи Python

Junior
25 запитань

Об'єктно-орієнтований Python

Junior
20 запитань

Основи Django

Junior
20 запитань

Models Django - Основи

Junior
22 запитань

Django Views

Junior
20 запитань

Шаблони Django

Junior
18 запитань

Форми Django

Mid-Level
22 запитань

Розширені QuerySets

Mid-Level
25 запитань

Автентифікація Django

Mid-Level
22 запитань

Django Middleware

Mid-Level
18 запитань

Django Admin

Mid-Level
20 запитань

Django REST Framework

Mid-Level
30 запитань

Сигнали Django

Mid-Level
18 запитань

Завантаження файлів

Mid-Level
20 запитань

Кешування в Django

Mid-Level
20 запитань

Сесії Django

Mid-Level
18 запитань

Email у Django

Mid-Level
18 запитань

Тестування Django

Mid-Level
22 запитань

Безпека Django

Mid-Level
22 запитань

Розгортання Django

Mid-Level
24 запитань

Просунутий Django ORM

Senior
28 запитань

Продуктивність Django

Senior
24 запитань

Django & Celery

Senior
22 запитань

Django Channels

Senior
24 запитань

Django & Docker

Senior
20 запитань

Django в екосистемі мікросервісів

Senior
24 запитань

Користувацькі команди Django

Senior
18 запитань

Інтернаціоналізація Django

Senior
20 запитань

Патерни проєктування Django

Senior
24 запитань

Django Async та ASGI

Senior
26 запитань

Settings та конфігурація для production

Senior
22 запитань

Спостережуваність і моніторинг

Senior
24 запитань

Опануй Django для наступної співбесіди

Отримай доступ до всіх питань, flashcards, технічних тестів, вправ code review та симуляторів співбесід.

Почни безкоштовно