React vs Next.js

一、Next.js 面试追问(SSR / SSG / ISR 深挖)

1️⃣ 面试官:SSR、SSG、ISR 本质区别?

❌ 初级回答

一个服务端渲染,一个静态生成

✅ 中高级标准回答(一定按这个结构)

本质区别在于 HTML 生成的时机不同

渲染方式 生成时机 适合场景
SSR 每次请求 个性化数据
SSG 构建时 内容稳定
ISR 构建后增量 内容半实时

🔥 面试官追问:

ISR 是怎么做到"不重新构建"的?

✅ 你要答:

  • 第一次访问 → 用旧 HTML

  • 到期后 → 后台重新生成

  • 下次访问 → 新 HTML

📌 关键词一定要说:

stale-while-revalidate


2️⃣ 面试官:SSR 会不会拖慢服务器?

❌ 错误回答

会,很慢

✅ 正确回答

会增加服务器压力,但可通过缓存、CDN 缓解

你要提 3 点:

  1. 页面缓存

  2. 数据缓存

  3. CDN

🔥 加一句秒杀:

"SSR 性能问题不是不能用,而是要配合缓存策略。"


3️⃣ 面试官:Next.js 13 App Router 和 Pages Router 区别?

核心一句话

App Router 是 以 Server Components 为核心的架构升级


对比重点(面试必考)

Pages Router App Router
渲染模型 CSR/SSR RSC
数据获取 getServerSideProps fetch(服务端)
Layout 内置 Layout
Streaming

🔥 面试官爱听:

"App Router 减少 JS 体积,把计算前移到服务端。"


4️⃣ 面试官:Server Components 有什么优势?

你一定要说:

  • 不打包到客户端

  • 可直接访问数据库

  • 减少 JS 体积

  • 提升首屏性能

📌 禁忌点(一定要说你知道):

Server Component 不能用 useState/useEffect


二、React vs Next.js 项目选型模拟题(必过)

5️⃣ 面试官:一个后台系统,你选 React 还是 Next.js?

❌ 错误

都可以

✅ 正确

纯 React

理由(说 3 点):

  1. 不需要 SEO

  2. 页面多、交互复杂

  3. SSR 成本高、收益低


6️⃣ 面试官:一个官网 / ToC 产品?

✅ 标准答案:

Next.js

理由:

  • SEO

  • 首屏

  • 分享预览

  • 多终端访问


7️⃣ 面试官:一个混合项目怎么选?

🔥 高级回答(很加分):

后台:React

官网 / 营销页:Next.js

共享组件 & 设计体系

📌 体现你有架构思维


三、把你项目包装成 Next.js 面试亮点(直接可用)

下面我给你 "项目亮点 → 面试问题 → 标准答案"


亮点 1:SSR + SEO 优化

面试官:你为什么用 SSR?

✅ 回答模板:

我们首页和内容页对 SEO 要求高,用 SSR 输出完整 HTML,提高首屏和收录。


亮点 2:ISR 提升构建效率

面试官:为什么不用纯 SSG?

✅ 回答模板:

内容更新频繁,纯 SSG 构建成本高,用 ISR 实现增量更新。


亮点 3:Server Components 减少 JS 体积

面试官:RSC 带来了什么收益?

✅ 回答模板:

减少客户端 JS,首屏加载明显改善,复杂计算放在服务端。


亮点 4:API Routes / Server Actions

面试官:为什么不用单独后端?

✅ 回答模板:

作为 BFF 层,减少前后端通信复杂度,适合轻业务。


亮点 5:性能优化(必说)

你可以说你做了:

  • Image Optimization

  • Dynamic Import

  • Streaming

  • Prefetch

🔥 面试官爱听一句:

"Next.js 默认优化,但我们会针对业务再调优。"


四、面试最后总结

React 更适合复杂交互和后台系统,

Next.js 更适合首屏、SEO、对外产品。

👉「继续深挖 App Router / RSC」

相关推荐
无糖可可果9 小时前
从零读懂一个 Next.js 全栈笔记应用
前端
Maxkim9 小时前
DeepSeek Harness 源码深度分析:像 VS Code 一样插件化的 Agent 框架
前端·架构
xiaominlaopodaren9 小时前
three.js地图数学基础(八):浮点精度
javascript·gis·three.js
喜欢睡觉9 小时前
从零看懂一个 Next.js 笔记应用
前端
SendTomo9 小时前
跨设备文件互传新方案
javascript·网络·webrtc·html5·p2p
cindershade9 小时前
从零实现画布「双击创建节点」:一个 VueFlow 项目的交互全记录
前端
YHL9 小时前
🚀 SSE 服务器发送事件与 BFF 层实战
前端·后端
今日无bug9 小时前
HTML5 Canvas:从画图到游戏开发
前端·canvas
cindershade9 小时前
用 Web Workers 优化前端重计算任务:避免主线程卡顿的实战方案
前端
爱丶不疚9 小时前
搞不清 CommonJS 与 ESM,你是否也有这些疑问🤔
前端·node.js