正在打开页面…

面试题:后端

后端工程师岗位相关的接口设计、服务端基础、并发、存储和稳定性面试准备。

Python 解释器、线程和进程分别怎样影响服务端并发?

Python 服务的并发能力取决于解释器构建、GIL、I/O 模型和进程部署;默认带 GIL 的 CPython 线程适合等待型任务,多进程或释放 GIL 的原生扩展更适合利用多核。

Python后端中频题

Python asyncio 事件循环和协程如何工作?

asyncio 事件循环调度协程、Future、Task 和 I/O 回调;协程只有在 await 让出执行权后其他任务才有机会运行。

Python后端中频题

Python asyncio 中 create_task、gather 和 TaskGroup 如何选择?

create_task 启动独立任务,gather 组合多个 awaitable,TaskGroup 提供结构化并发和更明确的失败取消语义;选择要看任务的生命周期和错误策略。

Python后端中频题

Python asyncio 中 CancelledError、超时和 finally 应怎样处理?

取消是协作信号,超时通常通过取消任务或抛出超时异常实现;清理代码要在 finally 执行,但不应无意吞掉取消。

Python后端中频题

Python asyncio.Queue 如何实现背压、关闭和消费者退出?

asyncio.Queue 用有界 maxsize 控制生产速率,生产者在队列满时等待,消费者完成任务后 task_done;关闭需要显式定义哨兵、取消或新的 shutdown 协议。

Python后端中频题

Python threading、multiprocessing 和 asyncio 如何按任务类型选择?

线程适合阻塞 I/O 和已有线程安全库,多进程适合 CPU 并行和隔离,asyncio 适合端到端非阻塞 I/O;混用时要定义资源边界。

Python后端中频题

Python 线程安全、Lock、RLock、Semaphore 和 Condition 分别解决什么?

Lock 保护互斥临界区,RLock 允许同一线程重复获得,Semaphore 限制并发许可,Condition 等待共享状态变化;它们都需要明确释放和关闭。

Python后端中频题

Python asyncio 的 deadline、取消和下游调用如何贯通?

入口应生成绝对截止时间,向下游传递剩余预算;取消、超时和重试都共享这条预算,避免每层重新等待同样时长。

Python后端中频题

Python 生成器、迭代器和异步生成器适合什么数据处理?

生成器按需产生数据,减少一次性内存;异步生成器适合等待型流式生产,但消费端仍要处理取消、背压和资源关闭。

Python后端中频题

Python 上下文管理器和 async with 如何保证资源释放?

上下文管理器把获取和释放绑定到 with 作用域,async with 支持异步资源;退出阶段要处理异常、取消和部分初始化。

Python后端中频题