面试题库

全部 Django Elasticsearch FastAPI Flask Function Call JVM Java IO Java 后端 Java 基础 Java 并发 Java 新特性 Java 集合 JavaWeb Kafka LLM LangChain LangGraph MongoDB MyBatis MySQL Netty Nginx Python RAG RabbitMQ Redis RocketMQ Spring Spring AI SpringBoot SpringCloud SpringMVC ZooKeeper 分布式 后端技术 大厂面经 大数据 微服务 提示词工程 操作系统 数据库 数据结构 智能体 海康威视2026秋季社招专项 消息队列 监控运维 算法 系统设计 缓存 计算机基础 计算机网络 设计模式 面试题 高可用 高并发
Django 中等

select_related 在底层会生成怎样的 SQL(JOIN)?它对一对多、多对多关系有什么限制?

Django 简单

select_related 与 prefetch_related 分别适用于什么关系类型?

Django 困难

如何定位项目中的 N+1 查询?django-debug-toolbar 与 SQL 日志如何配合排查?

Django 中等

除了 select_related 与 prefetch_related,还有哪些方式可以避免 N+1 查询?

Django 简单

什么是 N+1 查询问题?它通常在什么代码模式下出现?

Django 中等

为什么 QuerySet 切片 qs[:10] 不会立即触发查询,而索引 qs[0] 会触发查询?

Django 困难

从源码角度看,QuerySet 的 __iter__、__getitem__、__len__ 分别如何触发数据库查询?

Django 中等

QuerySet 的结果缓存机制是怎样的?什么情况下同一个 QuerySet 会被重复求值?

Django 简单

为什么说 Django 的 QuerySet 是惰性的?哪些操作会真正触发数据库查询?

Django 中等

如何写一个只对特定路径生效的中间件,并优雅地跳过不匹配的请求?

Django 简单

Django 默认启用了哪些中间件?它们各自的大致作用是什么?

Django 中等

中间件与 Django 信号(Signal)有什么区别?处理请求级横切关注点为什么通常选中间件?