为什么构建期私密信息应使用 RUN --mount=type=secret 而不是 ARG?
围绕“为什么构建期私密信息应使用 RUN --mount=type=secret 而不是 ARG”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要对比 ARG 会进入镜像历史与元数据、secret 挂载不落盘的差异。
构建工具专题面试题第 2 页,显示第 51–100 题,共找到 211 道完整解析,可继续按分类、标签与关键词缩小范围。
按稳定语义路径排序
围绕“为什么构建期私密信息应使用 RUN --mount=type=secret 而不是 ARG”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要对比 ARG 会进入镜像历史与元数据、secret 挂载不落盘的差异。
围绕“Dockerfile 中 CMD/ENTRYPOINT 的 shell 形式与 exec 形式对信号处理有何影响”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明 shell 形式多出的 /bin/sh 父进程导致信号无法直达应用的问题。
围绕“选择 alpine、debian slim 或 distroless 基础镜像分别要接受什么取舍”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要比较 musl/glibc 兼容性、调试工具缺失与体积安全的权衡。
围绕“构建时间戳写进镜像层为什么会破坏可重复构建,如何规避”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖解释嵌入时间导致 digest 漂移的问题与固定时间戳等手段。
围绕“Docker 构建中如何用 RUN --mount=type=ssh 拉取私有 Git 依赖”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要讲清清 ssh-agent 转发挂载的机制与限制。
围绕“Dockerfile 首行的 # syntax= 指令声明了什么,为什么影响可用特性”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖解释外部前端镜像决定解析能力、可独立升级获取新语法的机制,不逐项罗列全部新语法。
围绕“RUN --mount=type=bind 与 type=tmpfs 在 Dockerfile 构建中各自适合什么”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖区分绑定挂载上下文只读内容与临时内存文件系统的使用场景。
围绕“BuildKit 相比旧版 Docker 构建器有哪些核心改进”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖概括并行构建、增量传输、缓存导入导出与扩展语法等差异,不逐项展开每个 BuildKit 特性。
围绕“CI 检出具体提交构建时处于 detached HEAD 状态,这对构建和回写版本号有什么影响”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明游离头状态不产生分支移动、回写提交会悬空的后果。
围绕“前端仓库长期演进后本地 .git 体积膨胀,git gc 与 git prune 分别回收什么”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须区分打包松散对象与删除无引用对象两类工作。
围绕“需要把前端仓库交付给无法访问远程的隔离环境时,git bundle 如何打包仓库并支持增量”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明 bundle 作为可 clone 的单文件仓库及基于上次 bundle 的增量能力。
围绕“如何用 git clean 安全清除前端工作区未跟踪的构建产物,又不误删刚写的新文件”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明 -n 预演、-x 包含忽略文件的区别及不可逆风险。
围绕“如何用 .gitattributes 标记构建产物文件,避免它们干扰 diff 与代码统计”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明 generated 标记对 diff 展示与统计的影响。
围绕“中文字体几 MB 怎么破,字体子集化和 unicode-range 如何工作”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明按 unicode-range 分包按需加载与构建期子集化两条路线。
围绕“为什么不建议手写监听算 Core Web Vitals,web-vitals 库处理了哪些坑”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明跨页面生命周期、后台标签页与 Safari 差异等边界及 attribution 构建。
围绕“Git 的 packfile 和 delta 压缩在什么时候触发,为什么松散对象多的仓库会变慢”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖解释松散对象打包机制与 gc/repack 的触发时机。
围绕“QUIC 为什么选择构建在 UDP 之上而不是直接设计新的传输协议”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要解释中间盒对未知协议号的阻断与 TCP 选项僵化,UDP 加用户态实现可快速迭代。
验证 Map.set、Set.add 返回当前集合而非新副本,比较 delete 的布尔结果和 clear 的 undefined,说明链式中途失败不回滚,以及 API 设计中可变构建与状态结果的区别。
从成员查询次数和集合更新频率比较 Set 与数组,区分规范平均次线性要求、常见哈希实现和构建成本,给出复用索引示例及公平测量方法,不提供虚构性能倍率。
解释import * as ns与具名导入在实时绑定和Tree-shaking上的差异:虽都实时绑定,但namespace对象阻碍静态分析,实际打包中具名导入更利于按需删除无用导出。
围绕“为什么浏览器不支持裸模块说明符,而 Node.js 支持?如何适配”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答可用 import maps 或打包器;不深入 Each map 入口细节。
围绕“使用 <script nomodule> 构建使用旧脚本的降级环境时,需要注意什么”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明只针对不支持 module 的浏览器执行。
围绕“MongoDB 4.2 之后优化的索引构建方式相比旧版减少了什么阻塞”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明新版在线构建锁粒度变化及副本集滚动建索引的适用条件。
围绕“Next.js 如何为每个请求生成唯一的缓存键?这个过程是否受查询参数影响”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明缓存键基于 URL、查询参数、请求头等构建,因此不同参数会导致不同缓存,确保正确隔离。
解释构建时与运行时缓存分工:构建时静态页面进入边缘缓存,运行时 fetch 结果存 Data Cache,ISR 可在首次动态请求后生成页面进入边缘。说明哪类产物归属边缘及失效方式。
围绕“在 Next.js 中,如何动态生成路由参数并用于数据获取?这是否影响缓存策略”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明 `generateStaticParams` 返回的参数用于构建静态页面,其数据缓存独立于运行时动态请求。
围绕“在 SSG 场景中,如何预加载某些未来可能被访问的数据以提升首次访问体验”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明通过 `generateStaticParams` 提前生成路径,并在构建时预取数据,但无法动态添加。
围绕“服务端组件的生命周期与客户端组件有何本质区别?它们如何协同工作”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明服务端组件在构建阶段执行一次,客户端组件在浏览器中执行,两者通过 props 传递数据,不能直接访问对方状态。
围绕“Route Handlers 是否支持流式响应?如果支持,应如何实现大文件下载的渐进式输出”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明使用 Response.stream() 和 ReadableStream 构建流式输出,以避免内存溢出。
沿文件扩展名、最近 package.json 和歧义输入语法检测定位 Node.js 模块格式,给出嵌套包作用域示例,说明动态 import、构建工具和命令行输入的区别。
围绕“在 Nuxt 3 的静态导出模式下,useAsyncData 的数据是否仍然在服务端获取?如何确保静态页面包含最新数”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明静态导出时 `useAsyncData` 仍可在构建时执行,但不能依赖实时数据。
围绕“Nuxt 4 的预渲染模式如何生成静态 HTML?它与全量 SSR 的主要区别是什么”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明 prerender 模式在构建时生成所有路由的 HTML 文件。
围绕“知识库重建期间如何保证线上检索不中断且不会查到新旧混合的数据”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明双索引构建加原子指针切换的方案及旧索引下线时机。
围绕“为什么生产环境默认拿不到 React Profiler 数据, profiling 构建有什么开销”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须答出生产构建移除 profiling 能力及其原因与按需开启的代价。
围绕“action 重定向的目标路径是否支持动态生成?如何基于表单数据构建目标地址”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明通过返回 redirect(new URL(...)) 动态构造,不能硬编码路径。
围绕“React Server Components 的客户端边界划分如何影响最终发往浏览器的 JavaScript 包体”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明服务端组件及其依赖不进入客户端 bundle、边界位置决定拆包形状。
围绕“React Native 原生模块在 release 才崩溃而 debug 正常时,原生侧优先怀疑哪些构建差异”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答要聚焦混淆、优化级别、调试符号与懒加载路径差异。
围绕“React Native Android debug 与 release 构建在 JS bundle、so 库与网络”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明打包资源、Hermes/压缩与 cleartext 对排障的影响。
围绕“React Native iOS 开启新架构时,Podfile 与构建环境变量要保持哪些一致性”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明 pod install、Swift/ObjC 互操作与缓存重建的一致触发条件。
围绕“React Native Metro 解析 .native.js、.android.js 与图片 @2x/@3x 资”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明打包期平台选择与原生产物落盘一致性。
围绕“为什么 React Native 线上包中残留 console.log 会造成可感知的性能损耗”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明日志序列化与调试通道开销在低端机上累积成卡顿,以及构建期 babel 插件剔除的做法。
围绕“React Native 中本地静态图片与远程图片在打包与渲染性能上有哪些本质区别”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明 require 静态资源随包体注册与远程按需加载的差异,以及 require 动态路径不可用的原因。
围绕“ROLLUP、CUBE 和 GROUPING SETS 分别生成哪些分组层级,结果里的 NULL 如何区分”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确三者生成维度子集的差异及 GROUPING() 区分真实 NULL 与汇总临时标记 NULL。
围绕“SvelteKit 部署至 Netlify 时,如何安全地读取环境变量并用于 API 配置”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明使用 import.meta.env.VITE_* 读取构建时注入的变量。
围绕“SvelteKit 部署到 Vercel 时,如何配置环境变量使其在构建时生效”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明在 Vercel 项目设置中添加变量并使用 import.meta.env.VITE_* 访问。
围绕“Playwright Component Testing 与用 Vitest+Testing Library 跑组件”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确真实浏览器渲染与 jsdom 模拟在布局、真实事件、视觉上的能力差异及选型依据。
围绕“在 Vitest 中用 fake timers 测试防抖或定时 UI 时与 Testing Library 异步查询”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确假时钟与 waitFor 内部定时器冲突及 advanceTimersByTime、shouldAdvanceTime 的处理。
围绕“Vitest 中 jsdom 与 happy-dom 环境的选择依据是什么”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确 jsdom 兼容性更全、happy-dom 更快的取舍及切换配置方式。
围绕“Vitest 中 expect.assertions() 和 expect.hasAssertions() 在异步测”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖区分强制断言数量与至少一次断言两类防护。
围绕“Vitest 的 vi.useFakeTimers() 如何跳过 setTimeout 等待,为什么必须配合 adv”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答替换时钟源后时间不再真实流逝的机制。