# Django Async & ASGI (Django) > ASGI vs WSGI, async views, sync_to_async, async_to_sync, sync ORM limitations, async performance, database connection pooling - 26 interview questions - Senior - [Interview Questions: Django](https://sharpskill.dev/en/technologies/django/interview-questions.md) ## 1. What is the main difference between WSGI and ASGI? **Answer** ASGI (Asynchronous Server Gateway Interface) extends WSGI by adding support for asynchronous programming and persistent connections like WebSockets. WSGI is synchronous and can only handle one request at a time per worker, while ASGI can handle multiple requests simultaneously in a single process through the asyncio event loop. ## 2. How to declare an async view in Django? **Answer** An async view in Django is declared simply by using the async keyword before def. Django automatically detects whether the view is asynchronous and runs it in the appropriate event loop. This native Python 3.5+ syntax has been fully supported since Django 3.1. ## 3. What is the role of sync_to_async in Django? **Answer** sync_to_async is an adapter provided by asgiref that allows running synchronous code within an asynchronous context. It wraps a synchronous function and executes it in a separate thread pool, preventing blocking of the event loop. This is essential for calling the Django ORM from an async view since the ORM is synchronous. ## 23 more questions available - Why can't the Django ORM be used directly in an async view? - What is the role of async_to_sync in Django? 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 & GraphQL](https://sharpskill.dev/en/technologies/django/interview-questions/django-graphql.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 - [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-async-asgi