# Django Async & ASGI (Django) > ASGI vs WSGI, async views, sync_to_async, async_to_sync, hạn chế của ORM đồng bộ, hiệu năng async, database connection pooling - 26 câu hỏi phỏng vấn - Senior - [Câu hỏi phỏng vấn: Django](https://sharpskill.dev/vi/technologies/django/cau-hoi-phong-van.md) ## 1. Sự khác biệt chính giữa WSGI và ASGI là gì? **Câu trả lời** ASGI (Asynchronous Server Gateway Interface) mở rộng WSGI bằng cách bổ sung hỗ trợ cho lập trình bất đồng bộ và các kết nối duy trì như WebSockets. WSGI là đồng bộ và chỉ có thể xử lý một yêu cầu tại một thời điểm cho mỗi worker, trong khi ASGI có thể xử lý nhiều yêu cầu cùng lúc trong một tiến trình duy nhất nhờ event loop của asyncio. ## 2. Làm thế nào để khai báo một async view trong Django? **Câu trả lời** Một async view trong Django được khai báo đơn giản bằng cách dùng từ khóa async trước def. Django tự động phát hiện liệu view có bất đồng bộ hay không và chạy nó trong event loop phù hợp. Cú pháp native của Python 3.5+ này được hỗ trợ đầy đủ kể từ Django 3.1. ## 3. Vai trò của sync_to_async trong Django là gì? **Câu trả lời** sync_to_async là một adapter do asgiref cung cấp, cho phép chạy mã đồng bộ trong ngữ cảnh bất đồng bộ. Nó bọc một hàm đồng bộ và thực thi trong một thread pool riêng, qua đó tránh làm nghẽn event loop. Điều này là thiết yếu để gọi ORM của Django từ một async view vì ORM là đồng bộ. ## Còn 23 câu hỏi nữa - Tại sao không thể dùng ORM của Django trực tiếp trong một async view? - Vai trò của async_to_sync trong Django là gì? Đăng ký miễn phí: https://sharpskill.dev/vi/login ## Các chủ đề phỏng vấn Django khác - [Kiến thức cơ bản về Python](https://sharpskill.dev/vi/technologies/django/cau-hoi-phong-van/python-basics.md): 25 câu hỏi, Junior - [Python hướng đối tượng](https://sharpskill.dev/vi/technologies/django/cau-hoi-phong-van/python-oop.md): 20 câu hỏi, Junior - [Kiến thức cơ bản về Django](https://sharpskill.dev/vi/technologies/django/cau-hoi-phong-van/django-fundamentals.md): 20 câu hỏi, Junior - [Models Django - Cơ bản](https://sharpskill.dev/vi/technologies/django/cau-hoi-phong-van/django-models-basics.md): 22 câu hỏi, Junior - [Django Views](https://sharpskill.dev/vi/technologies/django/cau-hoi-phong-van/django-views.md): 20 câu hỏi, Junior - [Template Django](https://sharpskill.dev/vi/technologies/django/cau-hoi-phong-van/django-templates.md): 18 câu hỏi, Junior - [Django Forms](https://sharpskill.dev/vi/technologies/django/cau-hoi-phong-van/django-forms.md): 22 câu hỏi, Mid-Level - [QuerySets nâng cao](https://sharpskill.dev/vi/technologies/django/cau-hoi-phong-van/django-querysets.md): 25 câu hỏi, Mid-Level - [Xác thực Django](https://sharpskill.dev/vi/technologies/django/cau-hoi-phong-van/django-authentication.md): 22 câu hỏi, Mid-Level - [Middleware Django](https://sharpskill.dev/vi/technologies/django/cau-hoi-phong-van/django-middleware.md): 18 câu hỏi, Mid-Level - [Django Admin](https://sharpskill.dev/vi/technologies/django/cau-hoi-phong-van/django-admin.md): 20 câu hỏi, Mid-Level - [Django REST Framework](https://sharpskill.dev/vi/technologies/django/cau-hoi-phong-van/django-rest-framework.md): 30 câu hỏi, Mid-Level - [Signal trong Django](https://sharpskill.dev/vi/technologies/django/cau-hoi-phong-van/django-signals.md): 18 câu hỏi, Mid-Level - [Tải tệp lên](https://sharpskill.dev/vi/technologies/django/cau-hoi-phong-van/django-file-upload.md): 20 câu hỏi, Mid-Level - [Caching trong Django](https://sharpskill.dev/vi/technologies/django/cau-hoi-phong-van/django-caching.md): 20 câu hỏi, Mid-Level - [Session Django](https://sharpskill.dev/vi/technologies/django/cau-hoi-phong-van/django-sessions.md): 18 câu hỏi, Mid-Level - [Email trong Django](https://sharpskill.dev/vi/technologies/django/cau-hoi-phong-van/django-email.md): 18 câu hỏi, Mid-Level - [Kiểm thử Django](https://sharpskill.dev/vi/technologies/django/cau-hoi-phong-van/django-testing.md): 22 câu hỏi, Mid-Level - [Bảo mật Django](https://sharpskill.dev/vi/technologies/django/cau-hoi-phong-van/django-security.md): 22 câu hỏi, Mid-Level - [Triển khai Django](https://sharpskill.dev/vi/technologies/django/cau-hoi-phong-van/django-deployment.md): 24 câu hỏi, Mid-Level - [Django ORM nâng cao](https://sharpskill.dev/vi/technologies/django/cau-hoi-phong-van/django-orm-advanced.md): 28 câu hỏi, Senior - [Hiệu năng Django](https://sharpskill.dev/vi/technologies/django/cau-hoi-phong-van/django-performance.md): 24 câu hỏi, Senior - [Django & Celery](https://sharpskill.dev/vi/technologies/django/cau-hoi-phong-van/django-celery.md): 22 câu hỏi, Senior - [Django Channels](https://sharpskill.dev/vi/technologies/django/cau-hoi-phong-van/django-channels.md): 24 câu hỏi, Senior - [Django & GraphQL](https://sharpskill.dev/vi/technologies/django/cau-hoi-phong-van/django-graphql.md): 24 câu hỏi, Senior - [Django & Docker](https://sharpskill.dev/vi/technologies/django/cau-hoi-phong-van/django-docker.md): 20 câu hỏi, Senior - [Django trong hệ sinh thái Microservices](https://sharpskill.dev/vi/technologies/django/cau-hoi-phong-van/django-microservices.md): 24 câu hỏi, Senior - [Lệnh Django tùy chỉnh](https://sharpskill.dev/vi/technologies/django/cau-hoi-phong-van/django-custom-commands.md): 18 câu hỏi, Senior - [Quốc tế hóa trong Django](https://sharpskill.dev/vi/technologies/django/cau-hoi-phong-van/django-internationalization.md): 20 câu hỏi, Senior - [Design Patterns trong Django](https://sharpskill.dev/vi/technologies/django/cau-hoi-phong-van/django-design-patterns.md): 24 câu hỏi, Senior - [Settings & Cấu hình Production](https://sharpskill.dev/vi/technologies/django/cau-hoi-phong-van/django-settings-configuration.md): 22 câu hỏi, Senior - [Observability & Monitoring](https://sharpskill.dev/vi/technologies/django/cau-hoi-phong-van/django-observability.md): 24 câu hỏi, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/vi/technologies/django/cau-hoi-phong-van/django-async-asgi