# Django & GraphQL (Django) > GraphQL with Django, Strawberry/Graphene, schema, queries, mutations, subscriptions, authentication, DataLoader, N+1 problem - 24 interview questions - Senior - [Interview Questions: Django](https://sharpskill.dev/en/technologies/django/interview-questions.md) ## 1. What is GraphQL and what is its main difference from REST? **Answer** GraphQL is a query language for APIs developed by Facebook. Unlike REST which exposes multiple endpoints returning fixed data structures, GraphQL uses a single endpoint allowing the client to specify exactly the data it needs. This solves the over-fetching (receiving too much data) and under-fetching (having to make multiple requests) problems common with REST. ## 2. What are the two main GraphQL libraries available for Django? **Answer** Strawberry and Graphene-Django are the two main GraphQL libraries for Django. Graphene-Django is more mature and widely adopted, using a class-based syntax. Strawberry is more modern, uses native Python type hints and offers better integration with typing tools. Strawberry is recommended for new projects due to its more pythonic syntax and native async support. ## 3. How to define a simple GraphQL type with Strawberry to represent a Django User model? **Answer** With Strawberry, the @strawberry.type decorator is used on a dataclass class to define a GraphQL type. Fields are declared with standard Python type hints (str, int, etc.). This approach leverages Python's native typing system, making code more readable and enabling better integration with IDEs and type checking tools like mypy. ## 21 more questions available - What is a resolver in GraphQL and what is its role? - What is the difference between a Query and a Mutation in GraphQL? Sign up for free: https://sharpskill.dev/en/login ## Other Django interview topics - [Python Basics](https://sharpskill.dev/en/technologies/django/interview-questions/python-basics.md): 25 questions, Junior - [Python OOP](https://sharpskill.dev/en/technologies/django/interview-questions/python-oop.md): 20 questions, Junior - [Django Fundamentals](https://sharpskill.dev/en/technologies/django/interview-questions/django-fundamentals.md): 20 questions, Junior - [Django Models - Basics](https://sharpskill.dev/en/technologies/django/interview-questions/django-models-basics.md): 22 questions, Junior - [Django Views](https://sharpskill.dev/en/technologies/django/interview-questions/django-views.md): 20 questions, Junior - [Django Templates](https://sharpskill.dev/en/technologies/django/interview-questions/django-templates.md): 18 questions, Junior - [Django Forms](https://sharpskill.dev/en/technologies/django/interview-questions/django-forms.md): 22 questions, Mid-Level - [Advanced QuerySets](https://sharpskill.dev/en/technologies/django/interview-questions/django-querysets.md): 25 questions, Mid-Level - [Django Authentication](https://sharpskill.dev/en/technologies/django/interview-questions/django-authentication.md): 22 questions, Mid-Level - [Django Middleware](https://sharpskill.dev/en/technologies/django/interview-questions/django-middleware.md): 18 questions, Mid-Level - [Django Admin](https://sharpskill.dev/en/technologies/django/interview-questions/django-admin.md): 20 questions, Mid-Level - [Django REST Framework](https://sharpskill.dev/en/technologies/django/interview-questions/django-rest-framework.md): 30 questions, Mid-Level - [Django Signals](https://sharpskill.dev/en/technologies/django/interview-questions/django-signals.md): 18 questions, Mid-Level - [File Upload](https://sharpskill.dev/en/technologies/django/interview-questions/django-file-upload.md): 20 questions, Mid-Level - [Django Caching](https://sharpskill.dev/en/technologies/django/interview-questions/django-caching.md): 20 questions, Mid-Level - [Django Sessions](https://sharpskill.dev/en/technologies/django/interview-questions/django-sessions.md): 18 questions, Mid-Level - [Django Email](https://sharpskill.dev/en/technologies/django/interview-questions/django-email.md): 18 questions, Mid-Level - [Django Testing](https://sharpskill.dev/en/technologies/django/interview-questions/django-testing.md): 22 questions, Mid-Level - [Django Security](https://sharpskill.dev/en/technologies/django/interview-questions/django-security.md): 22 questions, Mid-Level - [Django Deployment](https://sharpskill.dev/en/technologies/django/interview-questions/django-deployment.md): 24 questions, Mid-Level - [Advanced Django ORM](https://sharpskill.dev/en/technologies/django/interview-questions/django-orm-advanced.md): 28 questions, Senior - [Django Performance](https://sharpskill.dev/en/technologies/django/interview-questions/django-performance.md): 24 questions, Senior - [Django & Celery](https://sharpskill.dev/en/technologies/django/interview-questions/django-celery.md): 22 questions, Senior - [Django Channels](https://sharpskill.dev/en/technologies/django/interview-questions/django-channels.md): 24 questions, Senior - [Django & Docker](https://sharpskill.dev/en/technologies/django/interview-questions/django-docker.md): 20 questions, Senior - [Django in Microservices Ecosystem](https://sharpskill.dev/en/technologies/django/interview-questions/django-microservices.md): 24 questions, Senior - [Custom Django Commands](https://sharpskill.dev/en/technologies/django/interview-questions/django-custom-commands.md): 18 questions, Senior - [Django Internationalization](https://sharpskill.dev/en/technologies/django/interview-questions/django-internationalization.md): 20 questions, Senior - [Django Design Patterns](https://sharpskill.dev/en/technologies/django/interview-questions/django-design-patterns.md): 24 questions, Senior - [Django Async & ASGI](https://sharpskill.dev/en/technologies/django/interview-questions/django-async-asgi.md): 26 questions, Senior - [Settings & Production Configuration](https://sharpskill.dev/en/technologies/django/interview-questions/django-settings-configuration.md): 22 questions, Senior - [Observability & Monitoring](https://sharpskill.dev/en/technologies/django/interview-questions/django-observability.md): 24 questions, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/en/technologies/django/interview-questions/django-graphql