Python / Uvicorn Fundamentals Interview Questions
What is ASGI and how does it differ from WSGI?
WSGI (Web Server Gateway Interface) is the original Python standard for web servers and applications. It is synchronous - each request is handled sequentially, blocking while waiting for I/O. This makes it unsuitable for WebSockets, server-sent events, or highly concurrent async applications.
ASGI (Asynchronous Server Gateway Interface) is the modern successor - an async-native interface that supports concurrent connections, WebSockets, HTTP/2, and long-lived connections via Python's asyncio.
| Feature | WSGI | ASGI |
|---|---|---|
| Execution model | Synchronous (blocking) | Asynchronous (non-blocking) |
| WebSocket support | No | Yes |
| Long-lived connections | No | Yes |
| Python async/await | Not natively | First-class support |
| HTTP/2 | Not natively | Yes (via compatible servers) |
| Example servers | Gunicorn, uWSGI | Uvicorn, Daphne, Hypercorn |
| Example frameworks | Django, Flask | FastAPI, Starlette, Django (3.1+) |
An ASGI application is an async callable that accepts three arguments: scope (connection metadata), receive (async function to receive messages), and send (async function to send messages). This simple interface enables the server to remain decoupled from the application framework.
Invest now in Acorns!!! 🚀
Join Acorns and get your $5 bonus!
Acorns is a micro-investing app that automatically invests your "spare change" from daily purchases into diversified, expert-built portfolios of ETFs. It is designed for beginners, allowing you to start investing with as little as $5. The service automates saving and investing. Disclosure: I may receive a referral bonus.
Invest now!!! Get Free equity stock (US, UK only)!
Use Robinhood app to invest in stocks. It is safe and secure. Use the Referral link to claim your free stock when you sign up!.
The Robinhood app makes it easy to trade stocks, crypto and more.
Webull! Receive free stock by signing up using the link: Webull signup.
More Related questions...
