Python Web框架、异步编程与实时通信:AI Agent面试必备技能,小白程序员收藏学习!
在 AI Agent 面试中,除了 LangChain、RAG、MCP 等相关知识点外,Python 相关基础知识也是面试官重点考察的内容。
其中,出现频率最高的几个知识点就是 FastAPI、Flask、异步编程、asyncio、协程、线程,以及 WebSocket 和 SSE。这些知识不仅会考察概念,更重要的是结合实际项目,考察面试者是否真正理解这些技术点的用法和使用场景。
这篇文章,我会结合实际开发经验,对这些问题进行系统梳理。
1、FastAPI 和 Flask 有什么区别?
FastAPI 和 Flask 都是常用的、使用 Python 开发的 Web 框架,但它们使用的场景有所不同。
Flask 是一个更轻量级的 Web 框架,生态非常成熟,适合快速迭代开发小型项目,但是它主要支持同步 API,整体并发能力不如 FastAPI。
FastAPI 是一个基于 Starlette 和 Pydantic 构建的 Web 框架,它原生支持 ASGI 和异步编程。FastAPI 还天然支持 Swagger 文档,方便 API 联调,因此,在需要高并发、开箱即用的中大型项目选择 FastAPI 更加适合。
2、FastAPI 为什么适合 Agent 项目?
一个 AI Agent 应用通常有以下特点:
- IO 密集:一次请求可能涉及多个如 LLM 调用、
RAG检索、数据库查询、外部工具调用等操作。 - 结构化输入输出:在 Agent 应用的相关请求中,通常包含
message、session_id、权限数据等信息,需要结构化数据进行校验。 - 流式输出:LLM 生成答案往往耗时较长,为了保证用户体验,需要通过流式输出来返回结果。
- 依赖管理:需要对认证数据库、
Redis、向量数据库等依赖进行依赖注入。 - API 文档:Agent 应用需要对外提供 API 文档方便前端或者其他客户端调用。
因为 FastAPI 对这些需求支持比较好,所以 FastAPI 更适合 Agent 项目。
3、Python 异步编程如何实现?
在 Python 中,异步编程主要依赖 async、await 和 asyncio 事件循环。
在 Python 中,可以使用 async 来定义异步函数:
async def get_data(url: str): await asyncio.sleep(2) # 模拟网络请求 return {"data": f"{url} 请求执行完成"}
在调用异步函数时,代码不会立即执行,而是会返回一个协程对象。并且协程需要通过事件循环调度来执行。其中 await 关键字表示协程需要等待异步操作执行完成。在等待期间,事件循环可以调度其他协程。
async def main(): result = await get_data("https://api.test.com/v1/a") print(result)asyncio.run(main())
除此之外,多个异步方法可以并发执行:
import asyncioimport datetimeasync def get_data(url: str): await asyncio.sleep(2) # 模拟网络请求 return {"data": f"{url} 请求执行完成"}async def main(): await asyncio.gather( get_data("https://api.test.com/v1/a"), get_data("https://api.test.com/v1/b"), get_data("https://api.test.com/v1/c") )print(f"开始时间:{datetime.datetime.now()}")asyncio.run(main())print(f"结束时间:{datetime.datetime.now()}")
执行结果如下,三个异步方法调用 3 次,每次耗时 2s,但是使用异步编程就可以做到 2s 全部执行完成。

执行结果
在 FastAPI 中,请求路由可以直接定义为 async def。框架内部会在 ASGI 运行环境中处理事件循环、调度请求。
4、asyncio 原理是什么?
asyncio 的核心实现机制是事件循环(Event Loop)。事件循环本质上可以理解为一个任务调度器,它在内部维护了一组协程任务,当某个任务遇到 await 需要等待 IO 时,事件循环就将这个任务挂起,切换去执行其他任务,等 IO 结束后,再恢复原来的任务执行。
asyncio 需要协程在 await 处主动让出控制权,事件循环才能调度执行其他任务,因此在异步方法中,不要直接执行阻塞操作。比如,在协程中用 time.sleep(10) 会阻塞整个事件循环,会导致其他任务也无法继续处理。所以应该使用 asyncio.sleep,或者把阻塞任务放到线程池中执行。
5、协程和线程有什么区别?
协程和线程都可以实现异步任务,但两者的调度方式、资源消耗、使用场景有所不同。
- 调度方式
线程由操作系统调度,线程的切换是抢占式的。多个线程可以分配到不同 CPU 核心执行,但 CPython 中受 GIL(Global Interpreter Lock,全局解释器锁)影响,同一时刻只能有一个线程执行 Python 字节码,因此在处理 CPU 密集型任务时,无法通过多线程达到理想的效果。
协程是由事件循环进行调度的,任务间切换是协作式的。协程只有在遇到 await 时,才主动让出控制权,继续执行其他协程。
- 资源开销
线程需要操作系统分配栈空间,创建和切换线程的成本较高。而协程更轻量,创建和切换成本较低。IO 密集型任务较多的系统,可以使用大量的协程任务。
- 适用场景
线程适合并发数量不高、使用同步库(如 requests)或不方便改造成异步的 IO 密集型等场景。由于 CPython 存在 GIL,所以线程不适合 CPU 密集型计算。
协程更适合网络请求、LLM 调用、访问数据库、访问 Redis、调用第三方 API 等 IO 密集任务。
- 编程复杂度
多线程开发需要关注锁、竞争条件、死锁等问题,使用起来比较复杂,而协程在单线程事件循环中运行,通过 await 主动让出执行权,一个线程就可以管理成百上千个并发任务。
6、WebSocket 和 SSE 区别是什么?
WebSocket 和 SSE 都可以实现服务器实时推送数据,但两者的通信模型不同。
SSE(Server-Sent Events) 本身是基于 HTTP 协议实现的,SSE 是服务器到客户端的单向推送。客户端通过一个普通 HTTP 请求建立连接,服务器可以持续返回数据,因此,非常适合 LLM 流式输出、日志推送、任务进度等场景。它实现简单,但是客户端不能主动发送数据给服务器端。
WebSocket 则是在 HTTP 握手完成后,升级为 WebSocket 协议,并建立了一个全双工的通信通道。连接建立之后,客户端和服务器端都可以随时主动发送消息,适用于在线聊天、实时游戏等需要频繁双向通信的场景。
在 AI 应用中,绝大多数场景都是将 LLM 生成的结果持续地推送给客户端,所以通常使用 SSE;如果 Agent 应用运行过程中需要客户端实时发送数据、确认操作等双向交互,则更适合使用 WebSocket。
普通人如何抓住AI大模型的风口?
领取方式在文末
2026年入行AI大模型的黄金窗口!!!
AI产业正迎来前所未有的爆发式增长。 从DeepSeek以百万年薪重金招募顶尖研究员,到百度、阿里、腾讯等头部企业加速推进AI Agent商业化布局,再到国家层面持续出台政策,大力扶持数字经济与AI人才培育体系,多重信号清晰指向一个共识:AI的“黄金十年”已全面开启
在产业浪潮的强劲推动下,AI人才争夺战日趋白热化。技术迭代与场景落地双轮驱动,催生海量高价值岗位。放眼未来,AI领域的职业发展前景广阔无垠,正涌现出大量高潜机遇,堪称一片值得深耕的**“人才蓝海”**。
脉脉数据显示📊:
2026年1-2月,AI岗位数量同比增长约12倍,增速远超新经济行业整体增幅;AI岗位在全部新经济岗位中的占比也从2025年同期的2.29%跃升至26.23%,几乎占据新经济招聘市场的四分之一。
与此同时,AI新发岗位平均月薪高达60738元,较新经济行业整体平均月薪48189元高出约26%。
这一切都说明一件事:2026年,正是入行AI大模型的黄金窗口❗️❗️

最佳学习路线
只要你真心想学习AI大模型技术,这份精心整理的学习资料我愿意无偿分享给你,但是想学技术去乱搞的人别来找我!
在当前这个人工智能高速发展的时代,AI大模型正在深刻改变各行各业。我国对高水平AI人才的需求也日益增长,真正懂技术、能落地的人才依旧紧缺。我也希望通过这份资料,能够帮助更多有志于AI领域的朋友入门并深入学习。
真诚无偿分享!!!
vx扫描下方二维码即可
加上后会一个个给大家发
【附赠一节免费的直播讲座,技术大佬带你学习大模型的相关知识、学习思路、就业前景以及怎么结合当前的工作发展方向等,欢迎大家~】

大模型全套学习资料展示
自我们与MoPaaS魔泊云合作以来,我们不断打磨课程体系与技术内容,在细节上精益求精,同时在技术层面也新增了许多前沿且实用的内容,力求为大家带来更系统、更实战、更落地的大模型学习体验。

希望这份系统、实用的大模型学习路径,能够帮助你从零入门,进阶到实战,真正掌握AI时代的核心技能!
01 教学内容

-
从零到精通完整闭环:【基础理论 →RAG开发 → Agent设计 → 模型微调与私有化部署调→热门技术】5大模块,内容比传统教材更贴近企业实战!
-
大量真实项目案例: 带你亲自上手搞数据清洗、模型调优这些硬核操作,把课本知识变成真本事!
02适学人群
应届毕业生: 无工作经验但想要系统学习AI大模型技术,期待通过实战项目掌握核心技术。
零基础转型: 非技术背景但关注AI应用场景,计划通过低代码工具实现“AI+行业”跨界。
业务赋能突破瓶颈: 传统开发者(Java/前端等)学习Transformer架构与LangChain框架,向AI全栈工程师转型。

vx扫描下方二维码即可
【附赠一节免费的直播讲座,技术大佬带你学习大模型的相关知识、学习思路、就业前景以及怎么结合当前的工作发展方向等,欢迎大家~】

本教程比较珍贵,仅限大家自行学习,不要传播!更严禁商用!
03 入门到进阶学习路线图
大模型学习路线图,整体分为5个大的阶段:

04 视频和书籍PDF合集

从0到掌握主流大模型技术视频教程(涵盖模型训练、微调、RAG、LangChain、Agent开发等实战方向)

新手必备的大模型学习PDF书单来了!全是硬核知识,帮你少走弯路(不吹牛,真有用)

05 行业报告+白皮书合集
收集70+报告与白皮书,了解行业最新动态!

06 90+份面试题/经验
AI大模型岗位面试经验总结(谁学技术不是为了赚$呢,找个好的岗位很重要)

07 deepseek部署包+技巧大全

由于篇幅有限
只展示部分资料
并且还在持续更新中…
人工智能大潮已来,不加入就可能被淘汰。如果你是技术人,尤其是互联网从业者,现在就开始学习AI大模型技术,真的是给你的人生一个重要建议!
真诚无偿分享!!!
vx扫描下方二维码即可
加上后会一个个给大家发
【附赠一节免费的直播讲座,技术大佬带你学习大模型的相关知识、学习思路、就业前景以及怎么结合当前的工作发展方向等,欢迎大家~】

更多推荐


所有评论(0)