前端面试题

SSR、SSG、CSR、ISR渲染策略对比

CSR、SSR、SSG、ISR怎么选?

为什么面试官会问这道题

现代前端面试(尤其Next.js/Remix/Nuxt系)必问——只懂CSR的直接挂。

如何回答

  1. 1

    CSR(客户端):HTML是骨架,JS拉数据渲染。优:托管便宜、交互丰富。劣:TTI慢、SEO差。

  2. 2

    SSR(服务端):每个请求服务端带数据渲染HTML。优:首屏快、SEO好。劣:服务器成本、TTFB看数据。

  3. 3

    SSG(静态):构建时生成HTML。优:CDN可缓存、最快。劣:数据陈旧,10万页构建慢。

  4. 4

    ISR(增量):SSG+按需或N秒revalidate。博客、偶尔更新的商品页甜点。

  5. 5

    现代框架混用:Next.js App Router按路由选。Islands架构(Astro)默认静态,只给交互部分hydrate。

参考回答示例

我按内容类型分。营销页/博客:SSG。个性化看板:CSR或带用户级缓存的SSR。偶尔更新价格的商品页:ISR+60秒revalidate。高动态feed:SSR+边缘缓存。经典错误是听说SSR对SEO好就全SSR——服务器和TTFB都遭罪。问自己一句话:"这页每人要多新":永远不新就SSG,能陈旧就ISR,每次请求就SSR,登录后才要就CSR。Next.js App Router让我按路由混搭,最终站点就是每页按需调过的拼盘。

实用技巧

  • 测TTFB和LCP——直接对应SSR vs SSG取舍。

  • 流式SSR(React Server Components)在削弱SSR的慢TTFB短板。

  • 即答侠给了按内容类型的决策树——面试官爱听结构化答案。

常见问题

SSR对SEO一定更好?

不一定。Google现在能爬JS,但SSR索引更稳、LCP更好。Bing和社交预览还是更喜欢SSR/SSG。

"hydration"是什么?为什么要在意?

Hydration=JS接管服务端HTML并挂事件。hydration payload大就TTI高,这也是RSC和islands想降低的。

面试时担心忘词?即答侠实时助你

即答侠 AI 实时监听面试对话,自动识别问题并即时生成回答建议——无感辅助,让你从容应对每一道题。

免费试用即答侠