企业实践与时区国际化

共 80 题
#

1. Day.js/date-fns/Luxon/Moment 与原生 Intl.DateTimeFormat 的工程取舍

A 库体积更小
B Intl 能力更强
C Intl 无依赖但能力低层,库提供解析/运算/时区扩展 ✓ 正确答案
D 无需考虑
#

2. Temporal API 在多时区日历系统的工程化应用(PlainDate/ZonedDateTime)

A 都带时区
B 两者完全相同
C PlainDate 无时区日历日期,ZonedDateTime 带时区时间点 ✓ 正确答案
D 都无时区
#

3. dayjs(2KB、插件化)的轻量场景

A 功能最全
B 约 2KB 体积小,插件按需扩展 ✓ 正确答案
C 不可变
D 体积最大
#

4. date-fns(FP 风格 Tree-shakable)的现代应用

A 全量打包
B 纯函数模块化、tree-shakable、不可变 ✓ 正确答案
C 可变
D 面向对象
#

5. Moment.js 已进入维护模式

A 体积最小
B 功能太强
C 体积大、不可变性问题、不可 tree-shake,且被现代库替代 ✓ 正确答案
D 仍推荐新项目
#

6. dayjs 的 plugin 机制(utc、timezone、customParseFormat)

A 按需加载扩展能力,保持核心轻量 ✓ 正确答案
B 必须全量加载
C 无法扩展时区
D 插件不可用
#

7. date-fns 的 FP 函数式 API 与 OO API(dayjs/luxon)

A 两者完全相同
B FP 纯函数可组合,OO 链式直观 ✓ 正确答案
C FP 有状态
D OO 无法链式
#

8. luxon(不可变、IANA 时区)的企业应用

A 不可变对象 + IANA 时区强支持 ✓ 正确答案
B 可变 API
C 时区支持弱
D 无 IANA
#

9. IANA 时区数据库与夏令时处理

A 无需考虑 DST
B 用固定 offset 即可
C 基于 IANA 规则处理 DST 的 gap/overlap,而非固定偏移 ✓ 正确答案
D 只用一个时区
#

10. 统一后端 UTC + ISO 8601 + 客户端 Intl.DateTimeFormat + Intl.supportedValuesOf('timeZone') 的最佳实践

A 存本地时区
B 后端存 UTC、ISO 传输、客户端 Intl 本地化展示 ✓ 正确答案
C 传输随机
D 不本地化
#

11. 内部组件库私有 registry(私有 npm + 设计令牌)

A 私有 npm 发布组件与令牌,跨项目统一与版本管理 ✓ 正确答案
B 无法私有
C 无版本管理
D 只能单项目
#

12. Intl.RelativeTimeFormat (Intl.RelativeTimeFormat zh) 在时间相隔显示的工程价值

A 无法负数
B 必须依赖日期库
C 不支持中文
D 原生格式化相对时间,多语言、零依赖 ✓ 正确答案
#

13. Intl.DateTimeFormat 与 Intl.NumberFormat 在国际化格式的工程价值

A 原生本地化日期与数字,多语言零依赖 ✓ 正确答案
B 必须手写
C 不支持多语言
D 只能英文
#

14. Temporal 替代 Date 在大型前端项目的工程价值

A 与 Date 相同
B 类型化、不可变、显式时区,消除 Date 缺陷 ✓ 正确答案
C 更混乱
D 可变
#

15. Intl.DurationFormat 与 Intl.RelativeTimeFormat 在多语言格式化的工程价值

A 只能英文
B 格式化相对时间
C 本地化格式化时长 ✓ 正确答案
D 必须依赖库
#

16. 客户端时区获取(Intl.DateTimeFormat().resolvedOptions().timeZone)的工程边界

A 用户设备的 IANA 时区标识 ✓ 正确答案
B 固定偏移量
C 夏令时规则
D 城市名
#

17. Temporal(Stage 4,已纳入 ES2026)的 API 与 Date 的对比

A Date 更类型化
B 两者相同
C Temporal 类型化、不可变、显式时区 ✓ 正确答案
D Temporal 可变
#

18. 不得宣称 Temporal 已稳定替代 Date

A 无需 polyfill
B 已完全稳定原生支持
C 标准已定但原生支持与生态迁移未完成,需 polyfill ✓ 正确答案
D 生态已完全集成
#

19. 企业私有 Registry 的实现与版本管理

A 只用公共源
B 无版本管理
C 语义化版本(SemVer)并自动化发布 ✓ 正确答案
D 任意版本号
#

20. 使用第三方组件库时的协作与定制边界如何界定,主题覆盖与维护成本怎么平衡?

A 无限定制
B 直接改源码
C 不升级
D 用主题/令牌与 wrapper 扩展,避免改源码 ✓ 正确答案
#

21. shadcn/ui 的可维护性与团队维护能力评估

A 无法升级
B 依赖库自动维护
C 无需维护
D 团队维护能力,源码可控但需自行负责升级与一致性 ✓ 正确答案
#

22. shadcn CN Registry 与私有 fork 在多团队的工程价值

A 社区源补通用组件,私有 fork 统一品牌与复用 ✓ 正确答案
B 两者相同
C 无法私有化
D 只适合单团队
#

23. Bit.dev 组件分发与版本在大型团队的工程价值

A 组件独立版本与分发,跨项目复用 ✓ 正确答案
B 只能应用级
C 无法独立版本
D 单项目
#

24. shadcn/ui 模板的分发但属于你(Copy-paste 不绑定版本)

A 依赖 npm 锁定
B 强制绑定版本
C 无法修改
D 组件源码归项目所有,无版本锁定,可自由修改 ✓ 正确答案
#

25. shadcn/ui registry(私有注册表协议)在多团队分发组件与主题的现代价值

A 只能单团队
B 元数据驱动分发组件与主题,多团队统一复用 ✓ 正确答案
C 无法分发主题
D 无版本化
#

26. Temporal API(已纳入 ES2026)在原生日期替换 Date 的现代取舍

A 无需迁移
B 零成本替换
C 原生全支持
D 类型化收益大但需 polyfill 与渐进迁移 ✓ 正确答案
#

27. shadcn-cli 的 npx shadcn add 在私有 registry 与 monorepo 协作的边界

A 无法用于 monorepo
B 自动处理全部
C 负责拷贝源码与配置,共享与样式集成需工程配置 ✓ 正确答案
D 不支持私有源
#

28. shadcn/ui 模板在大型企业内部的设计系统品牌定制(CVA + tailwind-merge)

A 只改文字
B CVA 管变体、tailwind-merge 管冲突、CSS 变量管品牌 ✓ 正确答案
C 无法定制
D 与品牌无关
#

29. shadcn/ui 模板的 themes(src/app/globals.css)在多品牌、多主题的现代工程价值

A 只支持单品牌
B 组件内硬编码
C 无法多主题
D CSS 变量单点定义,多品牌/暗黑通过作用域覆盖 ✓ 正确答案
#

30. shadcn/ui 的 Tailwind v4 与 @theme 配置在企业级主题切换的现代价值

A 把 CSS 变量映射为工具类,作用域覆盖实现多主题 ✓ 正确答案
B 无法切换
C 只支持单主题
D 切换需重编译
#

31. shadcn/ui 在 monorepo(pnpm workspaces + Turborepo)

A pnpm 管依赖、Turborepo 管任务缓存、组件共享 ✓ 正确答案
B 无法用 monorepo
C 只能单包
D 无缓存
#

32. shadcn/ui 的 Lucide icon 在 lucide-react 与自定义 SVG 体系的取舍

A 只用 Lucide
B Lucide 快一致,自定义 SVG 品牌可控 ✓ 正确答案
C 必须自定义
D 无法混用
#

33. shadcn 注册表协议(registry.json)的 schema 与 OpenAPI 的对比在组件元数据的现代价值

A registry 不可机器读
B 两者完全相同
C 都描述接口
D registry 描述组件元数据,OpenAPI 描述接口,二者都机器可读 ✓ 正确答案
#

34. shadcn/ui 在 Storybook 8/9 与 Histoire(Vue)

A 无法集成
B 源码组件可直接写 stories 做文档与测试 ✓ 正确答案
C 只支持 React
D 需要特殊适配
#

35. shadcn/ui 的 Form(react-hook-form + Zod)

A 处理所有复杂逻辑
B 封装基础绑定与 UI,复杂逻辑由 RHF + Zod 承担 ✓ 正确答案
C 无法校验
D 只做样式
#

36. shadcn/ui 的 Data Table(@tanstack/react-table)在大型 CRUD 列表的现代工程边界

A 无分页
B 全部内置
C 无法大列表
D 提供 UI 与集成模板,数据逻辑由 TanStack Table 承担 ✓ 正确答案
#

37. shadcn/ui 在 React 19 Server Components / RSC 模式下的边界

A 与 RSC 无关
B 全部可在服务端
C 无法用 RSC
D 交互组件须为 client 组件,数据获取在服务端 ✓ 正确答案
#

38. Temporal.Instant vs Date.now 的工程价值

A Instant 更低精度
B 两者相同
C Instant 纳秒精度、语义明确,Date.now 毫秒 ✓ 正确答案
D Date.now 纳秒
#

39. Calendar Picker(@internationalized/date)

A 只支持公历
B 提供跨日历/时区的国际化日期类型 ✓ 正确答案
C 无时区
D 仅 UI
#

40. react-day-picker/date-picker 库(react-aria/components)

A 不支持范围
B 必须自建
C 无键盘导航
D 提供可访问、国际化、可定制的日期选择 ✓ 正确答案
#

41. Luxon 的 Duration/Humanize 在国际化时差展示的工程价值

A 无国际
B 只能数字
C 时长类型 + 本地化展示,支持多语言 ✓ 正确答案
D 可变
#

42. rrule.js 在 RFC 5545 重复规则的应用

A 解析 RFC 5545 重复规则并生成事件日期 ✓ 正确答案
B 只做单次事件
C 无法重复
D 与日历无关
#

43. Temporal API Polyfill(@js-temporal/polyfill)的兼容性

A 提供标准实现但增加体积与性能开销 ✓ 正确答案
B 零成本
C 原生全支持
D 无需 polyfill
#

44. Day.js 1.x 在轻量级与 Moment.js 兼容 API 的现代工程价值

A 无法迁移
B 与 Moment 完全不同
C 体积大
D Moment 兼容 API + 轻量体积,平滑迁移 ✓ 正确答案
#

45. Luxon 在时区与 Immutable API 的工程应用

A 时区弱
B 可变 API
C 不可变对象 + IANA 时区准确转换 ✓ 正确答案
D 无 DST
#

46. Moment.js 弃用后向现代库(Day.js、date-fns)

A 只加 polyfill
B 全部平滑
C 无法迁移
D Day.js 兼容度高迁移平滑,date-fns/Luxon 需重构 ✓ 正确答案
#

47. date-fns-tz 在跨时区时间计算的现代应用与实践

A 无时区
B 只能格式化
C 提供 zonedTimeToUtc/utcToZonedTime 等时区转换 ✓ 正确答案
D 只做解析
#

48. Intl.PluralRules 在复数化与 i18n 框架的工程价值

A 无复数
B 只格式化数字
C 按语言返回复数字类,配合 i18n 复数化 ✓ 正确答案
D 必须手写
#

49. @internationalized/date 在跨日历系统的工程价值

A 支持多日历系统并正确转换计算 ✓ 正确答案
B 只支持公历
C 无法转换
D 仅 UI
#

50. FormatJS/React-Intl/ICU MessageFormat 在多语言的工程取舍

A 轻量无害
B ICU 消息功能强但复杂,适合中大型国际化 ✓ 正确答案
C 无法复数
D 只支持英文
#

51. IANA 时区数据库(America/New_York、Asia/Shanghai)在 JavaScript 的 Temporal API 与 Luxon 的现代工程价值

A 按 IANA 规则转换时区并正确处理 DST ✓ 正确答案
B 用固定偏移
C 无 DST
D 只支持本地
#

52. Temporal API 的 Temporal.ZonedDateTime 与 Temporal.Instant 在跨时区协作的现代取舍

A 两者相同
B Instant 存绝对时间,ZonedDateTime 按用户时区展示 ✓ 正确答案
C Instant 带时区
D ZonedDateTime 无时区
#

53. Intl.DateTimeFormat 在浏览器原生时区格式化('en-US'/'zh-CN')与现代 date-fns/Luxon 的边界

A Intl 管运算
B 两者相同
C 库管本地化
D Intl 管本地化展示,库管解析运算 ✓ 正确答案
#

54. Luxon 的 DateTime.fromISO(...).setZone(...) 在跨时区调度的工程价值

A 无 DST
B 固定偏移
C fromISO 解析 + setZone 时区转换,正确处理 DST ✓ 正确答案
D 只本地
#

55. date-fns-tz(zonedTimeToUtc/utcToZonedTime)在 date-fns 生态的现代工程边界

A 补时区转换,运算仍由 date-fns 承担 ✓ 正确答案
B 替代 date-fns
C 无时区
D 只格式化
#

56. 日历系统(Gregorian、Islamic、Hebrew、Japanese)

A 内部存公历,展示层按日历转换 ✓ 正确答案
B 内部存各日历
C 无法多日历
D 只公历
#

57. 时区 DST(夏令时)转换在前端的边界(DST gap/DST overlap)

A 依赖 IANA 规则库处理 gap/overlap,勿手写偏移 ✓ 正确答案
B 手写固定偏移即可
C 无 DST
D 忽略 overlap
#

58. Day.js 的 utc/timezone plugin 与 Luxon 在 API 简洁度的工程取舍

A Day.js 插件化轻量、Luxon 内置更完整 ✓ 正确答案
B 两者相同
C Luxon 需插件
D Day.js 内置时区
#

59. ISO 8601 与 RFC 3339 时间字符串在 API 通信的现代工程边界

A 传输 ISO/RFC 3339 带偏移,存 UTC,展示本地化 ✓ 正确答案
B 传输任意
C 无偏移
D 存本地
#

60. Temporal API 在金融交易日历与自然日(business day)

A 无法算日差
B Temporal 内置交易日
C Temporal 管日期运算,交易日需叠加节假日规则 ✓ 正确答案
D 与业务日无关
#

61. 使用 Intl.NumberFormat 数字本地化与金融数据的边界与现代工程实践

A 无边界
B Intl 管计算
C 浮点即可
D Intl 管展示,金融计算用高精度类型 ✓ 正确答案
#

62. React Hook Form v8 useFieldArray 在动态字段的工程价值

A 只能静态字段
B 管理动态字段增删改,与校验错误统一 ✓ 正确答案
C 会整表重渲染
D 无法动态
#

63. React Hook Form 与 TanStack Form 在受控/非受控的工程取舍

A 两者相同
B RHF 非受控性能优,TanStack 受控类型安全强 ✓ 正确答案
C RHF 受控
D TanStack 非受控
#

64. TanStack Form 的动态字段与字段数组在大型表单的应用

A 无法动态
B 字段数组 + 类型安全 + 细粒度订阅 ✓ 正确答案
C 整表重渲染
D 无类型
#

65. Formik(早期主流、受控模式)的现代取舍

A 类型最强
B 性能最优
C 受控直观但性能受限,被 RHF/TanStack 替代 ✓ 正确答案
D 仍是新项目首选
#

66. date-fns 的 locale(i18n)支持在多语言日历的工程实践

A 通过 locale 参数实现多语言日期格式化 ✓ 正确答案
B 只支持英文
C 无多语言
D 必须手写
#

67. Luxon 的 DateTime.fromISO 在解析与时区的现代应用

A 只解析本地
B 可靠解析 ISO 并保留时区,配合 setZone 转换 ✓ 正确答案
C 丢时区
D 无 DST
#

68. Luxon 的 Duration 在时长计算(视频、订单)的工程应用

A 只数字
B 只能表示时间点
C 无法运算
D 提供时长运算与本地化展示 ✓ 正确答案
#

69. Day.js 的 isSameOrAfter、isBetween 在日期范围判断的工程应用

A 用 isSameOrAfter/isBetween 判断日期范围 ✓ 正确答案
B 需手写比较
C 无法判断
D 只格式化
#

70. Luxon 的 Info.weekendDays 在不同地区周末配置的工程价值

A 只返回数字
B 固定周六日
C 无地区
D 按地区返回周末配置,正确处理周末差异 ✓ 正确答案
#

71. Temporal API 的 Temporal.Duration 在时长算术的现代边界

A 内置工作日
B 提供精确时长算术,业务语义需工程叠加 ✓ 正确答案
C 无法算术
D 可变
#

72. date-fns 的 parseISO 与 parse 在字符串解析的工程取舍

A 两者相同
B parseISO 解析 ISO,parse 解析自定义格式 ✓ 正确答案
C parseISO 解析自定义
D parse 只解析 ISO
#

73. Day.js 的本地化(dayjs/locale/zh-cn)在中文日期的工程应用

A 只支持英文
B 加载 zh-cn locale 输出中文格式 ✓ 正确答案
C 需手写
D 无法本地化
#

74. date-fns v4+ 的 immutable 设计、tree-shake 与 Moment.js 的现代工程取舍

A date-fns 可变
B 两者相同
C date-fns 不可变、tree-shakable,Moment 体积大不可摇 ✓ 正确答案
D Moment 更现代
#

75. Conform 在 Remix 的 Progressive Enhancement 模式与传统 SPA 的边界

A 依赖 Remix 原生表单,SPA 用客户端库 ✓ 正确答案
B 适用于所有 SPA
C 无 JS 不可用
D 与 Remix 无关
#

76. Formik 2 与 RHF v8+ 性能差距与 Angular Forms/Signals Forms 的工程取舍

A RHF 非受控性能优,Angular 用 Signals Forms 高效 ✓ 正确答案
B Formik 性能最优
C 全部受控
D 无差异
#

77. Formik 在大型表单的工程取舍(逐渐被 RHF 替代)

A 受控性能瓶颈,被 RHF 替代 ✓ 正确答案
B 性能最优
C 类型最强
D 仍是首选
#

78. React 19 useActionState 与表单 Action 的工程价值

A 不支持
B 只能客户端
C 无状态
D 表单提交原生化,useActionState 管理状态 ✓ 正确答案
#

79. TanStack Form 的类型安全与现代 API

A 旧 API
B 无类型
C 整表重渲染
D 类型安全 + 字段级订阅 + 现代 API ✓ 正确答案
#

80. useImperativeHandle 在国际化/可访问性的工程价值

A 无命令式
B 只改样式
C 暴露命令式方法(如 focus),辅助焦点管理与可访问性 ✓ 正确答案
D 与可访问性无关