现代元框架

共 65 题
#

1. 现代元框架在大型前端团队中应建立哪些协作规范与流程,确保路由、数据加载与部署可一致管理

A 应统一路由约定、数据加载边界与部署流程,形成可评审可复用的规范 ✓ 正确答案
B 每个成员可自由决定路由与数据加载方式
C 数据加载都应放在客户端
D 部署流程无需统一
#

2. Next.js 15 在 React 19 Server Components 的现代工程价值

A Next.js 15 不支持 RSC
B RSC 必须在客户端渲染
C RSC 默认在服务端渲染,减少客户端 JS 并支持服务端数据获取,提升安全与性能 ✓ 正确答案
D RSC 无法访问数据库
#

3. Nuxt 3 在 Vue 3.5 生态的全栈元框架的工程应用

A 它无法部署到边缘
B 它只能做纯客户端 SPA
C 它不支持服务端 API
D 它基于 Nitro 提供 SSR/SSG 与跨平台部署,并用 useFetch/useAsyncData 做服务端数据获取 ✓ 正确答案
#

4. Remix(现 React Router v7)在数据流与现代 Web 标准的工程价值

A loader/action 基于 Web 标准处理数据加载与提交,数据与路由绑定并支持渐进增强 ✓ 正确答案
B Remix 完全不支持 SSR
C Remix 与 Web 标准无关
D loader 只能返回 JSON 不能返回错误
#

5. SvelteKit 在 Svelte 5 时代的工程边界与现代应用

A SvelteKit 只能用于静态站点
B SvelteKit 不支持 SSR
C Svelte 5 移除了 Runes
D 它提供文件路由与 SSR/SSG,配合 Svelte 5 Runes 实现细粒度响应式,但生态相对较小 ✓ 正确答案
#

6. Astro 5+ 在内容驱动站点的多框架(Islands)集成的工程价值

A 默认输出零 JS,仅交互组件按需加载,并支持多框架混用 ✓ 正确答案
B 所有页面都必须加载完整框架 JS
C Astro 只能使用一种框架
D Islands 架构无法用于内容站
#

7. SolidStart 在 Solid 2.x 生态的现代工程应用

A Solid 的响应式会导致整树重渲染
B SolidStart 不支持 SSR
C 它基于细粒度信号响应式,提供文件路由、流式 SSR 与 createAsync/query 数据获取 ✓ 正确答案
D SolidStart 无法做数据获取
#

8. Modern.js(字节跳动)在字节系的全栈元框架的现代应用

A 它只能做静态站点
B 它是整合构建、SSR、BFF、路由与微前端的一体化全栈框架,适合企业级统一工程 ✓ 正确答案
C 它不支持 SSR
D 它基于 Vue 框架
#

9. Astro 5+ 的 Content Layer 在多源内容(Markdown、MDX、Notion)

A 它通过 loader 统一加载 Markdown、MDX、CMS、Notion 等多源内容并做类型校验 ✓ 正确答案
B 它只能加载本地 Markdown
C 切换数据源必须重写页面代码
D Content Layer 不支持类型校验
#

10. Svelte 5 Runes($state.raw/$state.frozen)

A $state.raw 会深冻结对象
B $state.raw 跳过深层响应式以优化性能,$state.frozen 创建深冻结只读状态 ✓ 正确答案
C $state.frozen 允许随意修改数据
D Runes 与 Svelte 4 的响应式完全相同
#

11. Nuxt 3 / SolidStart / SvelteKit / Qwik City 在 Next.js 替代方向上的工程取舍

A 应根据团队技术栈、性能目标与生态成本在 Nuxt/SolidStart/SvelteKit/Qwik 间权衡 ✓ 正确答案
B 所有框架都基于 React
C Qwik 与其它框架的渲染策略完全相同
D 生态规模对选型没有影响
#

12. Vue Vapor(createVaporApp)

A Vapor 无法提升运行时性能
B Vapor 仍然依赖虚拟 DOM diff
C createVaporApp 与 createApp 底层完全相同
D Vapor 通过编译时生成直接操作 DOM 的代码,去掉虚拟 DOM 提升性能,createVaporApp 是其入口 ✓ 正确答案
#

13. Remix 与 React Router v8 在数据加载和 mutation 的取舍

A loader 在渲染前加载数据,action 处理提交并可 revalidate,数据与路由生命周期绑定 ✓ 正确答案
B 数据加载完全由客户端组件自行完成
C mutation 不需要 action
D 提交后无法重新验证数据
#

14. Svelte 5 的 $state.frozen 与 deep readonly 在大型状态管理的工程价值

A 它允许任意修改共享状态
B 它通过深冻结强制只读,保证不可变数据流,降低意外修改与调试成本 ✓ 正确答案
C 深冻结与可预测性无关
D frozen 只影响浅层
#

15. Vue Vapor、Svelte 5 Runes、Qwik 的横向对比

A 三者渲染机制完全相同
B 三者都依赖虚拟 DOM
C Qwik 的 Resumability 与其它两者相同
D Vapor 与 Svelte 偏编译时细粒度更新,Qwik 偏懒恢复执行,三者都减少运行时开销 ✓ 正确答案
#

16. oRPC 的契约优先与 tRPC 的现代取舍

A oRPC 不支持 TypeScript
B 两者都无需定义类型
C tRPC 实现优先、类型全程共享,oRPC 契约优先、契约与实现解耦便于复用 ✓ 正确答案
D tRPC 无法提供端到端类型
#

17. Next.js/Nuxt/SvelteKit/Remix 的 SSR/RSC/Server Actions/数据获取能力

A 所有框架都使用 RSC
B 各框架都支持 SSR 与数据获取,但 RSC、loader/action、Server Functions 等抽象机制不同 ✓ 正确答案
C Remix 不支持数据获取
D 各框架数据获取机制完全相同
#

18. Svelte 5 与 Solid Start 的工程取舍(Signal 兼容与编译器路径)

A Svelte 5 没有响应式
B 二者都依赖虚拟 DOM
C Solid 不使用编译器
D 二者都采用细粒度响应式,但 Svelte 的 Runes 偏隐式声明式,Solid 的 signal 偏显式函数式 ✓ 正确答案
#

19. Remix/React Router v8 + Vite + RSC 的现代框架工程价值

A 它以 Vite 为构建基础,提供 loader/action 数据流并支持 RSC,强调灵活与渐进增强 ✓ 正确答案
B 它不支持 SSR
C 它只能用于纯静态页面
D 它与 Vite 无关
#

20. Next.js 16(默认 Turbopack)+ next/form + Server Components 的现代取舍

A 默认 Turbopack 提升构建速度,next/form 配合 Server Components 实现服务端优先的表单 ✓ 正确答案
B Next.js 16 仍默认使用 webpack
C next/form 无法与 Server Actions 协作
D Turbopack 不支持 RSC
#

21. Next.js 15 的 Server Actions 与 useActionState 的现代范式

A useActionState 无法管理提交状态
B Server Actions 在客户端执行
C Server Actions 通过 'use server' 在服务端执行,useActionState 管理其提交状态,实现服务端优先表单 ✓ 正确答案
D Server Actions 与表单无关
#

22. TanStack Start 的文件路由与 SSR/CSR 模式

A 它基于 TanStack Router 提供文件路由与 loader,并支持 SSR/CSR 模式切换 ✓ 正确答案
B 它只支持纯 CSR
C 它无法做数据加载
D 它与 TanStack Router 无关
#

23. Solid 的 signals 细粒度响应式与 React/Vue 的取舍

A Solid 也依赖虚拟 DOM diff
B Solid 用 signals 实现细粒度更新性能好,React 用虚拟 DOM 需优化,Vue 介于两者之间 ✓ 正确答案
C React 的更新永远比 Solid 细粒度
D Vue 的响应式与 Solid 完全相同
#

24. Astro 5+ Content Layer 与 Server Islands 的现代取舍

A Content Layer 无法管理 CMS 内容
B Server Islands 让所有页面都变为动态
C Content Layer 统一多源内容,Server Islands 在静态优先下按需动态渲染个性化区域 ✓ 正确答案
D 二者与静态渲染无关
#

25. Nuxt 的 Nitro 引擎与跨平台部署能力

A Nitro 只能部署到 Node 服务器
B Nitro 提供 API 路由与中间件,并通过 preset 支持 Node、Serverless、Edge 等多平台部署 ✓ 正确答案
C Nitro 无法提供 API 路由
D Nitro 与部署无关
#

26. SvelteKit 的 +page.server.js 与 +page.js 的职责边界

A 两者职责完全相同
B 两者都只在客户端运行
C +page.server.js 可被客户端直接访问其内部机密
D +page.server.js 只在服务端运行可访问机密数据,+page.js 可在服务端与客户端运行适合公开数据 ✓ 正确答案
#

27. SolidStart Router 在全栈的能力

A 它无法进行数据加载
B 它只能做纯客户端路由
C 它不支持服务端渲染
D 它提供文件路由、loader 数据加载与 Server Functions,结合细粒度响应式实现全栈应用 ✓ 正确答案
#

28. tRPC v11 / oRPC 端到端类型化 RPC

A tRPC 无法共享类型
B 两者都不支持类型推断
C 两者都提供端到端类型化 RPC,tRPC 实现优先、oRPC 契约优先,前后端共享类型 ✓ 正确答案
D oRPC 与 tRPC 完全一样
#

29. Remix 的 loader/action 的渐进增强与 SPA 边界

A 渐进增强与 SEO 无关
B Remix 必须依赖 JS 才能提交表单
C Remix 不支持 SSR
D 表单无 JS 也能原生提交,有 JS 时客户端导航增强,实现渐进增强 ✓ 正确答案
#

30. SolidStart 的 createAsync/query 在 SSR 的应用

A query 无法缓存数据
B createAsync 只能在客户端运行
C createAsync 在服务端读取数据并随 HTML 序列化,query 提供缓存与重验证,客户端可复用 ✓ 正确答案
D SSR 下数据无法序列化
#

31. Next.js 的 Turbopack 与 RSC 集成状态

A Turbopack 不支持热更新
B Turbopack 无法处理 RSC
C Turbopack 与 webpack 完全等价
D Turbopack 用 Rust 处理 RSC 与 Client Components 边界,提升构建与热更新速度 ✓ 正确答案
#

32. Mastra(TypeScript AI Agent 框架)的应用

A 它只用于后端数据库
B 它是 CSS 框架
C 它无法调用 LLM
D 它是 TypeScript 的 AI Agent 框架,用于编排 Agent、Tool 与 Workflow 构建 AI 应用 ✓ 正确答案
#

33. Vercel AI SDK(Core/UI/RSC、Harness)

A 它不支持流式输出
B 它只能用于聊天
C 它分 Core 与 UI 层,提供流式响应、多 provider 支持与 RSC 集成,并含 Harness 调试 ✓ 正确答案
D 它与 LLM 无关
#

34. Qwik/QwikCity 的 Resumability、$、QRL

A Resumability 让应用加载后恢复状态,$ 与 QRL 让事件懒加载按需执行,实现极低 TTI ✓ 正确答案
B Qwik 在加载时执行全部应用逻辑
C QRL 与懒加载无关
D $ 是普通变量名
#

35. Astro DB / DB-Agnostic ORM 在 T3 Stack 的工程价值

A 它们只能绑定单一数据库
B 它们与类型安全无关
C 它们提供类型安全的数据库访问与迁移管理,支持数据库无关与多端切换 ✓ 正确答案
D 它们无法用于 T3 Stack
#

36. Wasp/Bangle.io 在低配置全栈框架的工程价值

A 它们用声明式配置自动生成前后端脚手架,减少样板代码,但灵活性受限 ✓ 正确答案
B 它们不生成任何代码
C 它们只适合大型定制项目
D 它们无法减少开发成本
#

37. RedwoodJS 与 Blitz 的现状(后者已转向 Next.js 生态)

A 两者都完全独立于 Next.js
B RedwoodJS 是独立强约定的全栈框架,Blitz 已转向 Next.js 生态提供补充能力 ✓ 正确答案
C Blitz 仍是独立框架
D RedwoodJS 不内置认证
#

38. T3 Stack(TRPC + Prisma + NextAuth + Next.js)

A 它由 tRPC + Prisma + NextAuth + Next.js 组成,强调端到端类型安全 ✓ 正确答案
B 它完全摒弃类型安全
C 它使用纯 REST 手写类型
D 它不包含认证
#

39. Next.js 的 Full Route Cache / Data Cache / Router Cache 分层与 revalidate 策略的工程配置

A revalidate 无法按需失效
B Next.js 只有一层缓存
C 所有路由都必须动态
D 有 Full Route Cache、Data Cache、Router Cache 三层,通过 revalidate 周期与按需失效权衡性能与新鲜度 ✓ 正确答案
#

40. PPR(Partial Prerendering)的原理与适用场景,静态 shell + 动态 Suspense 边界的工程价值

A PPR 让整个页面都动态渲染
B 它在构建期预渲染静态 shell,用 Suspense 边界标记动态区域请求时填充,混合静态与动态 ✓ 正确答案
C PPR 无法使用 Suspense
D PPR 只适用于纯静态页面
#

41. 流式 SSR 与 Suspense 边界的协作及 TTFB/SEO 影响,流式传输与 crawler 兼容性

A 流式输出对爬虫无任何影响
B 流式 SSR 会提高 TTFB
C 流式 SSR 先输出 shell 再流式填充动态块,降低 TTFB,但需考虑 crawler 对动态内容的兼容性 ✓ 正确答案
D Suspense 边界与流式无关
#

42. Server Actions 的安全性(CSRF、鉴权、幂等性)与 'use server' 指令的边界约束

A Server Actions 天然免疫 CSRF
B Server Actions 无需鉴权
C 'use server' 函数可在客户端执行
D Server Actions 需在服务端做鉴权、输入校验与防 CSRF/重放,'use server' 函数参数需可序列化 ✓ 正确答案
#

43. ISR 与按需 revalidate 在高流量内容站的工程实践,缓存命中率与数据新鲜度权衡

A 按需 revalidate 无法精确失效
B ISR 只支持静态无更新
C 用固定 revalidate 周期结合按需失效,在缓存命中率与数据新鲜度之间权衡 ✓ 正确答案
D 缓存命中率越高越好且无需考虑新鲜度
#

44. RedwoodJS 后续版本(基于 React Router v8)

A 它基于 Vue
B 它完全放弃路由
C 它不再使用 React
D 它复用 React Router 的路由与数据流能力,结合 Redwood 的全栈特色,更符合生态 ✓ 正确答案
#

45. Next.js 的 unstable_cache 与 cacheLife 在细粒度数据缓存中的工程应用

A unstable_cache 可缓存任意函数结果,cacheLife 定义生命周期,配合 tag 实现细粒度缓存与失效 ✓ 正确答案
B 二者只能缓存 fetch 请求
C 两者无法配合失效
D 缓存无法提升性能
#

46. App Router 的 prefetching(<link prefetch>、router.prefetch)与 Router Cache 的交互机制

A prefetch 无助于导航速度
B Link 自动 prefetch 并把数据存入 Router Cache,导航时命中缓存实现瞬时切换 ✓ 正确答案
C Router Cache 只存图片
D 预取的数据不会进入缓存
#

47. Waku.js(与 React Suspense 协作)在现代 SSR 的工程价值

A 它是极简 RSC 框架,基于 Vite 支持 SSR 与流式,并与 Suspense 协作 ✓ 正确答案
B 它不支持 RSC
C 它只能用于纯客户端
D 它依赖重型配置
#

48. Qwik City 的 SSR + Resumability 在 TTFB 与 TTI 的工程价值

A Resumability 在加载时执行全部逻辑
B SSR 会提高 TTI
C SSR 提供即时 HTML 低 TTFB,Resumability 懒执行交互降低 TTI ✓ 正确答案
D 它无法改善 TTFB
#

49. Marko、Fresh、HTMX 的现代取舍

A 三者都要求大量客户端 JS
B Marko 编译优化、Fresh 用 Islands 零 JS、HTMX 用服务器驱动 HTML 片段,都减少客户端 JS ✓ 正确答案
C HTMX 完全依赖客户端框架
D 三者渲染机制完全相同
#

50. SolidStart 的 Streaming SSR 在低 TTFB 的工程价值

A Streaming SSR 无助于 SEO
B 流式输出会提高 TTFB
C 它分块流式输出 HTML,先 shell 后内容,降低 TTFB 提升首屏感知 ✓ 正确答案
D 它只能一次性输出全部内容
#

51. Remix 的 loader/action 在 Web Standards 的现代应用

A 它们无法使用标准 Response
B 它们依赖 React 专有 API
C loader/action 基于 Request/Response 与 FormData,可移植可测试,符合 Web 标准 ✓ 正确答案
D 它们与 HTTP 语义无关
#

52. TanStack Start 在 TanStack Router + Query + Table 的全栈整合

A 它无法与 Query 整合
B 它整合 Router、Query 与 Table,类型贯通,形成类型安全的全栈数据流 ✓ 正确答案
C Table 与数据无关
D 它们之间类型不共享
#

53. Qwik 的 Lazy Boundary 与组件级懒执行在大规模应用的应用

A 它一次性加载全部组件
B 它通过 $ 与 QRL 把组件拆为可加载块,交互时按需执行,大幅减小首屏 JS ✓ 正确答案
C Lazy Boundary 与分包无关
D 懒执行无法提升 TTI
#

54. 编译时 vs 运行时细粒度响应式的取舍

A 两者完全等价
B 编译时更灵活
C 运行时性能一定更好
D 编译时在编译期生成精确更新代码性能好但灵活度低,运行时动态追踪更灵活但开销略大 ✓ 正确答案
#

55. Next.js 15、TanStack Start、Remix v3(React Router v8)

A 三者都基于 Vue
B 三者数据流完全相同
C 三者都不支持 SSR
D Next.js 强约定生态成熟,TanStack Start 强调类型安全,Remix 基于 Web 标准数据流 ✓ 正确答案
#

56. Nuxt 4(基于 Nitro)相比 Nuxt 3 在 server engine 与 Edge runtime 的工程价值

A Nuxt 4 取消了 Nitro
B Nuxt 4 与 Nuxt 3 的引擎完全相同
C Nuxt 4 不支持边缘部署
D Nuxt 4 基于更先进的 Nitro 引擎,加强对 Edge runtime 支持,提升部署灵活性与边缘性能 ✓ 正确答案
#

57. SvelteKit(Svelte 5 runes)

A Svelte 5 移除了响应式
B Runes 与 SvelteKit 无关
C SvelteKit 不支持 SSR
D SvelteKit 提供全栈能力,Runes 提供统一细粒度响应式,编译时优化带来性能 ✓ 正确答案
#

58. Next.js 15 的 Server Actions 与 Server Components 在全栈框架的工程价值

A 二者都在客户端执行
B RSC 服务端读数据、Server Actions 服务端写数据,减少客户端逻辑并提升安全 ✓ 正确答案
C Server Actions 无法处理数据变更
D RSC 增加客户端 JS
#

59. Remix v3(合并到 React Router v7)

A 合并导致社区分裂
B 合并后 React Router 失去路由能力
C Remix 的 loader/action 与 SSR 沉淀为 React Router 核心,统一生态并利于演进 ✓ 正确答案
D Remix 与 React Router 完全无关
#

60. TanStack Start 与 TanStack Router 的 type-safe 全栈框架现代价值

A 类型无法共享
B 路由、loader 与组件类型贯通,实现端到端类型安全,减少运行时错误 ✓ 正确答案
C 类型安全与开发效率无关
D 它只保证 UI 类型
#

61. Vite + Nitro 与 Next.js 的 Nitro/Middleware 在自定义服务器工程的边界

A Vite + Nitro 无法创建服务器
B 两者自定义能力完全相同
C Next.js 完全开放服务器
D Vite + Nitro 更开放可定制,Next.js 集成但自定义受限,取决于对服务器控制力的需求 ✓ 正确答案
#

62. Astro 5+(Islands Architecture)

A Islands 无法使用多框架
B 所有区域都加载完整 JS
C 默认零 JS 静态输出,仅交互组件按需加载框架,兼顾性能与多框架复用 ✓ 正确答案
D 静态输出不利于 SEO
#

63. Hono(轻量 web framework)作为 Node.js 替代在 Edge runtime 与全栈框架的现代价值

A 它无法作为 API 层
B 它只能运行在 Node
C 它体积很大
D 它基于 Web 标准支持 Node、Edge、Deno 等多运行时,体积小性能好,适合边缘与全栈 ✓ 正确答案
#

64. Waku(Vercel 出品的 React Server Components 框架)

A 它是基于 Vite 的极简 RSC 框架,支持 SSR 与静态生成,体量小配置少 ✓ 正确答案
B 它不支持 RSC
C 它依赖重型配置
D 它只用于纯客户端
#

65. PPR 在 Next.js 15 中的启用方式与动态 IO(dynamicIO)配置的工程取舍

A PPR 通过 experimental 配置并用 Suspense 边界标记动态区域,dynamicIO 使动态 IO 流式化,权衡缓存与实时性 ✓ 正确答案
B PPR 无需任何配置
C dynamicIO 与 PPR 无关
D PPR 不能混合静态与动态