今天当面试官,几道场景题直接测出了信息鸿沟。
场景一:性能优化
“假设一个长列表滚动卡顿,除了懒加载,你首选的深度优化方案是什么?”
期待的答案:提到lntersection Observer API做真正动态渲染、使用
content-visibility: auto(CSS Containment)、或探讨虚拟列表库(如
react-window)的原理。很多人只答出“图片懒加载”和“防抖”。
场景二:现代构建工具
“从
Webpack迁移到Vite,除了速度快,你认为对开发体验和代码组织最大的颠覆性改变是什么?”
期待的深度思考:原生ES模块(ESM
)带来的按需编译哲学、与浏览器标准对齐、消除打包捆绑(bundle)的心理模型、更顺畅的Monorepo
支持。不少人仍停留在“配置更简单”的层面。
场景三:状态管理
“在React最新特性背景下,描述一个你认为React Query
或
SWR比
Redux Toolkit更优雅的应用场景。”
期待的认知:清晰区分服务器状态与客户端状态。能指出对于异步数据(缓存、同步、更新)这些库是颠覆性方案,而Redux等更适合管理紧密的UI状态或全局客户端状态。很多人还在机械背诵“所有状态都放Redux”。
这些不是刁钻题,而是2025年一线团队日常讨论的基础场景。
前端没有稳定态。面试不是考背书,是考察你是否与行业同步进化。别让信息差,成为你技术的天花板。
以下场景题: https://github.com/encode-studio-fe/natural_traffic/wiki/scan_material1
1.前端如何实现截图?
2.当QPS达到峰值时,该如何处理?
3.js 超过 Number 最大值的数怎么处理?
4.使用同一个链接, 如何实现 PC 打开是 web 应用、手机打 开是一个 H5 应用?
5.如何保证用户的使用体验
6.如何解决页面请求接口大规模并发问题
7.设计一套全站请求耗时统计工具
8.大文件上传了解多少
9.H5 如何解决移动端适配问题
10.站点一键换肤的实现方式有哪些?
11.如何实现网页加载进度条?
12.常见图片懒加载方式有哪些?
13.cookie 构成部分有哪些
14.扫码登录实现方式
15.DNS 协议了解多少
16.函数式编程了解多少?
17.前端水印了解多少?
18.什么是领域模型
19.一直在 window 上面挂东西是否有什么风险
20.深度 SEO 优化的方式有哪些,从技术层面来说
21.小程序为什么会有两个线程
22.web 应用中如何对静态资源加载失败的场景做降级处理
23.html 中前缀为>
35. web ⽹⻚如何禁⽌别⼈移除⽔印
36. ⽤⼾访问⻚⾯⽩屏了, 原因是啥, 如何排查?
37. [代码实现] JS 中如何实现⼤对象深度对⽐
38. 如何理解数据驱动视图, 有哪些核⼼要素?
39. vue-cli 都做了哪些事⼉,有哪些功能?
40. JS 执⾏ 100 万个任务, 如何保证浏览器不卡顿?
41. JS 放在 head ⾥和放在 body ⾥有什么区别?
42. Eslint 代码检查的过程是啥?
43. 虚拟混动加载原理是什么, ⽤ JS 代码简单实现⼀个虚拟滚动加加载。
44. [React] react-router 和 原⽣路由区别
45. html的⾏内元素和块级元素的区别
46. 介绍⼀下 requestIdleCallback api
47. documentFragment api 是什么, 有哪些使⽤场景?
48. git pull 和 git fetch 有啥区别?
49. 前端如何做 ⻚⾯主题⾊切换
50.前端视角-如何保证系统稳定性
51.如何统计长任务时间、长任务执行次数
52.V8 里面的 川T是什么?
53.用 JS 写一个 cookies 解析函数,输出结果为一个对象
54.vue 中 Scoped Styles 是如何实现样式隔离的, 原理是啥?
55.样式隔离方式有哪些
56.在JS 中,如何解决递归导致栈溢出问题?
57.站点如何防止爬虫?
58.ts 项目中,如何使用 node modules 里面定义的全局类型 包到自己项目 src 下面使用?
59.不同标签页或窗口间的 【主动推送消息机制】的方式有哪 些?(不借助服务端)
60.[React]在 react 项目开发过程中,是否可以不用 react router,使用浏览器原生 history 路由来组织页面路由?
61.在表单校验场景中,如何实现页面视口滚动到报错的位置
62.如何一次性渲染十万条数据还能保证页面不卡顿
64.如何从 0到1搭建前端基建
65.你在开发过程中, 使用过哪些 TS 的特性或者能力?
66.JS 的加载会阻塞浏览器渲染吗?
67.浏览器对队头阻塞有什么优化?
68.Webpack 项目中通过 script 标签引入资源,在项目中如何 处理?
69.应用上线后,怎么通知用户刷新当前页面?
70.Eslint 代码检查的过程是啥?
71.HTTP是一个无状态的协议,那么Web应用要怎么保持用戶 的登录态呢?
72.如何检测网页空闲状态(一定时间内无操作)
73.为什么 Vite 速度比 Webpack快?
74.列表分页, 快速翻页下的竟态问题
75.JS 执行 100 万个任务,如何保证浏览器不卡顿?
76.git 仓库迁移应该怎么操作
77.如何禁止别人调试自己的前端页面代码?
78.web 系统里面,如何对图片进行优化?
79.OAuth2.0 是什么登录方式
80.单点登录是如何实现的?
81.常见的登录鉴权方式有哪些?
82.需要在跨域请求中携带另外一个域名下的 Cookie 该如何操作?
83.vite 和 webpack 在热更新上有啥区别?
84.封装一个请求超时,发起重试的代码
85.前端如何设置请求超时时间 timeout
86.nodejs 如何充分利用多核 CPU?
87.后端一次性返回树形结构数据,数据量非常大,前端该如何 处理?
88.你认为组件封装的一些基本准则是什么?
89.页面加载速度提升(性能优化)应该从哪些反向来思考?
90.前端日志埋点 SDK 设计思路
91.token 进行身份验证了解多少?
92.在前端应用如何进行权限设计?
93.[低代码]代码平台一般渲染是如何设计的?
94.[低代码]代码平台一般底层协议是怎么设计的
95.[Webpack]有哪些优化项目的手段?
96.IndexedDB 存储空间大小是如何约束的?
97.浏览器的存储有哪些
98.[Webpack]如何打包运行时 chunk,且在项目工程中,如何去加载这个运行时 chunk ?
99.为何现在市面上做表格渲染可视化技术的,大多数都是 canvas , 而很少用 svg 的?
100.在你的项目中,使用过哪些 webpack plugin,说一下他 们的作用
101.在你的项目中,使用过哪些webpack loader, 说一下他 们的作用
102.[React]如何避免不必要的渲染?
103.全局样式命名冲突和样式覆盖问题怎么解决
104.[React]如何实现专场动画?
105.[React] 从 React 层面上,能做的性能优化有哪些?
106.[Vue]中为何不要把 v-if 和 v-for 同时用在同一个元素 上, 原理是什么?
107.将静态资源缓存在本地的方式有哪些?
108.SPA首屏加载速度慢的怎么解决
109.axios 是如何区分是 nodejs 环境还是 浏览器环境 的?
110.如何拦截 web 应用的请求
111.前端有哪些跨页面通信方式?
注:文中的前端场景面试题汇总PDF已经打包完毕: https://github.com/encode-studio-fe/natural_traffic/wiki/scan_material1