聪明的人已经发现,26年的前端不对劲了!

最近在筛简历时发现一个有趣现象:很多自称“精通Vue/React”的候选人,被问到“为什么Vue3要用Proxy替代defineProperty”时,答案依然停留在“性能更好”这种表面说辞;能熟练配置Webpack的人,却说不太清Tree Shaking在ES Modules和CommonJS环境下工作机理的本质差异。

更明显的是面试中的两极分化——一部分人还在卷“手写Promise/虚拟DOM”这类经典八股,另一部分人已经开始被追问“如何为微前端场景设计CSS沙箱”、“如何在React Server Components中处理第三方非兼容库”。前者回答得再流畅,也掩盖不住对现代工程化场景的陌生;后者哪怕某个细节卡壳,展现的却是解决真实复杂问题的思维路径。

这种割裂感背后,是前端技术演进轨迹的明显转向:

  1. “框架熟练工”价值正在稀释
    当create-vite、Next.js、Nuxt这类工具链能自动生成80%的配置,当Copilot能补全半数业务组件代码,“会用框架”已从稀缺能力变为入职基线。企业开始默认你应该掌握框架,然后追问:“框架为什么这样设计?它解决了什么特定场景问题?”
  2. “基建感知力”成为分水岭
    以前知道Webpack配置算加分项,现在需要理解Vite的预构建如何基于ESM提升冷启动速度、TurboPack的增量计算如何利用Rust重写编译管线。工具链的快速迭代,倒逼你必须建立对底层架构的持续追踪习惯。
  3. “垂直领域穿透”正在重新定义竞争力
    可视化工程师得懂WebGL渲染管线和GPU加速;性能优化专家得会解读Core Web Vitals背后浏览器渲染引擎的工作机制;跨端开发者需要理解JS引擎绑定到原生平台的通信损耗在哪——泛泛而谈“我会React”已经不够,需要你在特定纵深领域形成技术解释力

如果你最近面试时感到“背的题没考,考的题没准备”,或者发现日常工作越来越像在重复调用API,那么下面这组问题或许能帮你定位自己与技术演进方向的偏差:

  • 当你说“我熟悉Vite”,是真的理解其基于ESM的按需编译原理,还是仅停留在配置vite.config.js?
  • 你简历上的“性能优化”,有多少是 Lighthouse 分数驱动的指标游戏,有多少是真正解决过首屏渲染被第三方脚本阻塞的实际案例?
  • 面对“如何设计一个支持版本回滚的前端灰度发布系统”这样的问题,你的思考是从CDN、打包策略、还是从服务端流量切分开始?

前端没有变简单,只是考核重心从“知道什么”转向了“能用知道的东西解决什么”。接下来我将展示100+道项目场景面试题:

1.如何判断用户设备
2.将多次提交压缩成一次提交    
3.介绍下navigator.sendBeacon方法    
4.混动跟随导航(电梯导航)该如何实现
5退出浏览器之前,发送积压的埋点数据请求,该如何做?    
6.如何统计页面的long task(长任务)【热度:140】    
7.PerfoemanceObserver如何测量页面性能    
8.移动端如何实现下拉滚动加载(顶部加载)    
9.判断页签是否为活跃状态    
10.在网络带宽一定的情况下,切片上传感觉和整体上传消费的时间应该是差不多的这种说法正确吗?    
11.大文件切片上传的时候,确定切片数量的时候,有那些考量因素    
12.页面关闭时执行方法,该如何做    
13.如何统计用户 pv 访问的发起请求数量    
14.长文本溢出,展开/收起如何实现    
15.如何实现鼠标拖拽    
16.统计全站每一个静态资源加载耗时,该如何做    
17.防止前端页面重复请求    
18.ResizeObserver作用是什么
19.要实时统计用户浏览器窗口大小,该如何做    
20.当项目报错,你想定位是哪个commit引入的错误的时,该怎么做    
21.如何移除一个指定的 commit    
22.如何还原用户操作流程    
23.可有办法将请求的调用源码地址包括代码行数也上报上去?    
24.请求失败会弹出一个 toast,如何保证批量请求失败,只弹出一个 toast【热度: 420】


25.如何减少项目里面 if-else【热度:310】    
26.babel-runtime 作用是啥【热度: 200】    
27.如何实现预览 PDF 文件    
28.如何在划词选择的文本上添加右键菜单(划词:标滑动选择一组字符,对组字符进行操作)【热度:100】    
29.富文本里面,是如何做到划词的(鼠标滑动选择一组字符,对组字符进行操作)?【热度:100】
30.如何做好前端监控方案【热度:672】    
31.如何标准化处理线上用户反馈的问题【热度: 631】    
32.px 如何转为 rem【热度: 545】
33.浏览器有同源策略,但是为何 cdn 请求资源的时候不会有跨域限制【热度:579】    
34.cookie 可以实现不同域共享吗【热度: 533】    
35.axios 是否可以取消请求【热度: 532】    
36.前端如何实现折叠面板效果?
37.dom 里面,如何判定a元素是否是b元素的子元素【热度: 400】
38.判断一个对象是否为空,包含了其原型链上是否有自定义数据或者方法。 该如何判定?    
39.is如何判空?「空」包含了:空数组、空对象、空字符串、0、undefined、null、空 map、空 set,都属于为空的数据【热度:640】    
40.css 实现翻牌效果【热度: 116】    
41.flex:1代表什么【热度: 400】    
42.一般是怎么做代码重构的    
43.如何清理源码里面没有被应用的代码,主要是 JS、TS.CSS 代码【热度:329】    
44.前端应用 如何做国际化?【热度:199】    
45.应用如何做应用灰度发布【热度:240】


46.「微前端]为何通常在 微前端 应用隔离,不选择 iframe 方案【热度: 280】    
47.[微前端] Qiankun 是如何做 JS 隔离的【热度: 228】    
48.[微前端]微前端架构一般是如何做 JavaScript隔离的?
49.[React]循环渲染中 为什么推荐不用 index 做 key【热度:320】    
50.[React]如何避免使用 context 的时候,引起整个挂载节点树的重新渲染【热度: 420】    
51.前端如何实现截图?    
52.当QPS达到峰值时,该如何处理?    
53.js 超过 Number 最大值的数怎么处理?    
54.使用同一个链接, 如何实现 PC 打开是 web 应用、手机打开是-个 H5 应用?【腾讯二面】    
55.如何保证用户的使用体验【字节一面】    
56.如何解决页面请求接口大规模并发问题 【必会】    
57.设计一套全站请求耗时统计工具    
58.大文件上传了解多少 【百度一面】    
59.H5 如何解决移动端适配问题 【美团一面】

    
60.站点一键换肤的实现方式有哪些?【美团一面】    
61.如何实现网页加载进度条?【百度一面】    
62.常见图片懒加载方式有哪些?【京东一面】    
63.cookie 构成部分有哪些【百度一面】    
64.扫码登录实现方式 【腾讯一面]    
65.DNS 协议了解多少【字节一面】    
66.函数式编程了解多少?【京东一面】    
67.前端水印了解多少?【腾讯一面】    
68.什么是领域模型【必会】    
69.一直在 window 上面挂东西是否有什么风险【百度一面】    
70.深度 SEO 优化的方式有哪些,从技术层面来说    
71.小程序为什么会有两个线程 【腾讯一面】    
72.web 应用中如何对静态资源加载失败的场景做降级处理    
73.html 中前缀为 data- 开头的元素厘性是什么?    
74.移动端如何实现上拉加载,下拉刷新?【字节一面】    
75.如何判断dom元素是否在可视区域【字节一面】    
76.前端如何用 canvas 来做电影院选票功能【美团一面】    
77.如何通过设置失效时间清除本地存储的数据?【腾讯二面】
78.如果不使用脚手架, 如果用 webpack 构建一个自己的 react 应用    
79.用 nodejs 实现一个命令行工具, 统计输入目录下面指定代码的行数    
80.package,json 里面 sideEffects 厘性的作用是啥【必会】    
81.script 标签上有那些厘性,分别作用是啥?【必会】    
82.为什么 SPA 应用都会提供一个 hash 路由,好处是什么?    
83.[React]如何进行路由变化监听【字节一面】    
84.单点登录是是什么, 具体流程是什么【腾讯一面】

    
85.web 网页如何禁止别人移除水印【百度一面】    
86.用户访问页面白屏了, 原因是啥, 如何排查?    
87.[代码实现]JS 中如何实现大对象深度对比    
88.如何理解数据驱动视图, 有哪些核心要素?【腾讯二面】
89.vue-cli 都做了哪些事儿,有哪些功能?    
90.JS 执行 100 万个任务, 如何保证浏览器不卡顿?【百度一面】    
91.JS 放在 head 里和放在 body 里有什么区别?    
92.Eslint 代码检查的过程是啥?【必会】
93.虚拟混动加载原理是什么, 用JS 代码简单实现一个虚拟滚动加加载
...... 

篇幅限制,文章只贴了题目,答案的话我整理的《2026前端场景面试攻略》里都有,需要的:https://github.com/encode-studio-fe-coder/natural_traffic/wiki/scan_material3

Read more

【Part 4 XR综合技术分享】第一节|技术上的抉择:三维实时渲染与VR全景视频的共生

【Part 4 XR综合技术分享】第一节|技术上的抉择:三维实时渲染与VR全景视频的共生

《VR 360°全景视频开发》专栏 将带你深入探索从全景视频制作到Unity眼镜端应用开发的全流程技术。专栏内容涵盖安卓原生VR播放器开发、Unity VR视频渲染与手势交互、360°全景视频制作与优化,以及高分辨率视频性能优化等实战技巧。 📝 希望通过这个专栏,帮助更多朋友进入VR 360°全景视频的世界! Part 4|XR综合技术分享 最后一Part了,我将分享一些关于当前常用的XR综合技术,内容涵盖三维实时渲染与全景视频的共生、多模态交互体验的融合,以及AI如何深度赋能XR应用,推动智能化发展。同时畅想通向全感知XR智能沉浸时代的未来,探索如何通过更先进的技术不断提升用户体验。毕竟,360°全景视频仅是XR应用中的冰山一角。 第一节|技术上的抉择:三维实时渲染与VR全景视频的共生 文章目录 * 《VR 360°全景视频开发》专栏 * Part 4|XR综合技术分享 * 第一节|技术上的抉择:三维实时渲染与VR全景视频的共生 * 1、VR内容形态的分化与融合 * 1.1 三维实时渲染的发展 * 1.2

By Ne0inhk
Rokid 手势识别技术深度解析:解锁 AR 无接触交互的核心秘密

Rokid 手势识别技术深度解析:解锁 AR 无接触交互的核心秘密

引言 在聊手势识别前,咱们先搞清楚:Rokid是谁?它为啥能把AR手势做得这么自然? Rokid是国内AR(增强现实)领域的“老兵”了,从2014年成立就盯着一个目标——让AR走进日常。你可能见过它的产品:能戴在脸上的“AR眼镜”Max Pro、能揣在兜里的“AR主机”Station 2、适合专业场景的“Station Pro”,这些设备不是用来“炫技”的,而是想让咱们摆脱手机、手柄的束缚,直接用手“摸”虚拟东西。 而手势识别,就是Rokid给AR设备装的“最自然的遥控器”——比如调大虚拟屏幕像捏橡皮一样捏合手指,翻页像翻书一样挥手。但不同设备、不同开发需求,需要搭配不同版本的SDK(软件开发工具包),这就像“不同型号的手机要装对应版本的APP”。 一、基础认知:先选对版本,避免开发走弯路 Rokid手势识别技术随SDK版本迭代持续优化,不同版本适配的Unity(开发工具)

By Ne0inhk
【CS创世SD NAND征文】为无人机打造可靠数据仓:工业级存储芯片CSNP32GCR01-AOW在飞控系统中的应用实践

【CS创世SD NAND征文】为无人机打造可靠数据仓:工业级存储芯片CSNP32GCR01-AOW在飞控系统中的应用实践

一、引言:无人机时代的数据存储挑战 在无人机(UAV)技术飞速发展的今天,其应用范畴早已突破消费级航拍的界限,深度渗透至测绘勘察、基础设施巡检、精准农业、安防监控乃至国防军事等工业级领域。每一次精准的自动巡航、每一帧高清图像的实时图传、每一条飞行轨迹的忠实记录,都离不开飞控系统这颗"大脑"的精密运算。然而,大脑的决策依赖于记忆与学习,而承担这一"记忆"任务的存储单元,其可靠性直接决定了飞行任务的成败与数据的价值。一次意外的数据丢失或存储故障,不仅可能导致珍贵的测绘数据付诸东流,造成重大的经济损失,甚至可能引发严重的飞行安全事故。因此,为无人机飞控系统选择一款高性能、高可靠的存储芯片,已成为行业设计中不可或缺的关键一环。 本文将围绕基于全志MR100主控平台与CS创世SD NAND(具体型号:CSNP32GCR01-AOW)构建的新一代无人机飞控存储方案,深入探讨工业级存储芯片如何为高端无人机赋予稳定、可靠的"数据生命线",助力无人机技术在各个领域发挥更大的价值。 二、应用产品介绍:无人机飞控系统——空中机器人的智能核心

By Ne0inhk
喂饭级教程:OpenClaw 对接 QQ 机器人,本地/腾讯云都能用

喂饭级教程:OpenClaw 对接 QQ 机器人,本地/腾讯云都能用

文章目录 * 前言 * 一、选对路子:官方 Bot 还是个人号? * 方案 A:QQ 开放平台官方机器人 * 方案 B:个人 QQ 号变身机器人 * 二、环境准备:5 分钟搞定基础设施 * 1. 服务器/电脑要求 * 2. 安装 OpenClaw * 3. 配置大模型 API * 三、方案 A:对接 QQ 开放平台官方机器人 * Step 1:注册开发者并创建机器人 * Step 2:获取三件套凭证 * Step 3:配置 IP 白名单和沙箱 * Step 4:OpenClaw 端配置

By Ne0inhk