React Query+Zustand+Next.js + MongoDB全栈面试

一、React Query 高频面试题 + 精简标准答案

1. React Query 解决了原生 useEffect 请求什么痛点?

答:原生需手动维护 loading、error、缓存、重复请求;React Query 内置全局缓存,自动去重请求、页面切回刷新、过期策略,简化异步数据管理。

2. queryKey 作用是什么?

答:缓存唯一标识,相同 key 共享数据;key 变化自动重新请求,可数组传参区分不同接口数据。

3. staleTime 和 gcTime 区别?

答:staleTime:数据新鲜期,期间不重发请求;gcTime:缓存存活时间,无组件订阅后多久清空缓存。

4. 自动后台刷新原理?

答:监听页面 visibilitychange,切回页面判断数据过期则后台静默请求;支持轮询自动拉新。

5. 乐观更新 optimisticUpdates 原理?

答:先更新本地缓存,提升页面响应;接口失败自动回滚原有缓存数据。

6. 服务端渲染 Next 中怎么搭配 React Query?

答:App Router 用 hydration 同步服务端预取数据,避免客户端二次重复请求。

二、Zustand 高频面试题 + 精简标准答案

1. Zustand 对比 Redux 优势?

答:轻量无模板代码,无需 Provider 包裹;精准片段订阅,减少无效重渲染;API 简洁,上手成本低。

2. 为什么不需要 Context 就能全局共享状态?

答:store 是独立 JS 实例,内部维护订阅回调数组,组件直接订阅 store,不依赖 React 上下文。

3. 精准订阅怎么实现性能优化?

答:组件传入 selector 只订阅所需字段;仅选中状态变更,才触发组件重渲染。

4. persist 持久化中间件原理?

答:状态更新后序列化存入 localStorage;初始化读取本地存储回填 store。

5. 中间件执行顺序?

答:管道串行执行,前置处理数据 → 更新 state → 后置持久化 / 打印 dev 日志。

三、Next.js + MongoDB 高频题(你临时自学部分)

1. Next 连接 MongoDB 如何规避热更新重复连接?

答:全局缓存 mongoose 实例,判断已有连接不再重复创建,避免连接池溢出。

2. App Router SSR/SSG/ISR 取数据库数据区别?

答:SSG:构建时查库生成静态页;SSR:每次访问实时查库;ISR:定时增量更新静态页面。

3. Next API Route 作用?

答:搭建后端接口,前端页面直接请求,中间层对接 MongoDB,隐藏数据库密钥。

4. Mongoose Schema 作用?

答:约束数据库字段类型、默认值、校验规则,规范存入 Mongo 的数据结构。

四、综合追问(必问,串联你项目)

1. RN 项目里 Zustand + React Query 怎么配合分工?

答:React Query 管服务端接口缓存数据;Zustand 存纯客户端临时状态(弹窗、路由、筛选条件),职责分离。

2. 为什么 RN 不用 Redux,选 Zustand?

答:移动端追求包体积与渲染性能,Zustand 极简无冗余渲染,减少页面卡顿。

3. Next 全栈和 RN 客户端数据处理有什么区别?

答:RN 全客户端渲染,全靠 React Query 缓存;Next 可在服务端提前拉取 Mongo 数据,减轻客户端请求压力。

相关推荐
行思理1 小时前
MongoDB 大数据备份,新手教程
数据库·mongodb
大郭鹏宇1 天前
MongoDB快速实战与基本原理入门
数据库·mongodb
葫芦和十三2 天前
图解 MongoDB 25|分片架构三件套:mongos、config server 和 shard
后端·mongodb·agent
葫芦和十三3 天前
图解 MongoDB 26|片键设计:决定集群命运的一个决定
后端·mongodb·agent
葫芦和十三3 天前
图解 MongoDB 24|分片为什么存在:垂直扩容的天花板
后端·mongodb·agent
葫芦和十三4 天前
图解 MongoDB 23|两地三中心:跨可用区部署怎么扛机房故障
后端·mongodb·agent
葫芦和十三4 天前
图解 MongoDB 22|读写关注:持久性与一致性的档位选择
后端·mongodb·agent
葫芦和十三5 天前
图解 MongoDB 21|选举与 failover:Primary 是怎么选出来的
后端·mongodb·agent
葫芦和十三6 天前
图解 MongoDB 19|Oplog:复制的真正载体,不是文档是操作
后端·mongodb·agent
葫芦和十三6 天前
图解 MongoDB 20|复制延迟与 catch up:Secondary 为什么跟不上
后端·mongodb·agent