12月初面了几家前端岗,根本没人问八股了
敲个不停的程序媛
2025年12月08日 17:39
科技猎手

12月初面了五家互联网公司,从C轮到一线大厂都有。面完最强烈的感受是:前端面试的“八股文时代”真的结束了。

以前准备面试,防抖节流、原型链、Vue响应式原理倒背如流。这次却发现,面试官对你能否一字不差说出Diff算法细节毫无兴趣!

比如某家大厂二面,面试官直接共享屏幕,扔来一个未完成的React组件:“这个列表性能有问题,给你20分钟,能优化多少?”没有提示,没有追问“虚拟DOM的key有什么用”,你要直接在代码里证明你知道。

另一家更直接:“假设你是我们电商前端负责人,接下来要同时开发APP、H5和小程序,你怎么设计这套系统?”问题落地到具体业务场景,逼你跳出“单页面应用”的舒适区。

八股文不是不重要了,而是成了默认值。现在问的最多的还是项目场景题,熬夜啃完这些拿下面试不要太难:

  • 请求失败会弹出一个 toast,如何保证批量请求失败,只弹出一个 toast

  • 如何减少项目里面 if-els

  • babel-runtime 作用是啥

  • 如何做好前端监控方案

  • 如何标准化处理线上用户反馈的问题

  • px 如何转为 rem

  • 浏览器有同源策略,但是为何 cdn 请求资源的时候不会有 跨域限制

  • cookie 可以实现不同域共享吗

  • axios 是否可以取消请求

  • 前端如何实现折叠面板效果?

  • dom 里面,如何判定a元素是否是b元素的子元

  • 判断一个对象是否为空,包含了其原型链上是否有自定义 数据或者方法。该如何判定?

  • css 实现翻牌效果

  • flex:1代表什么

  • 一般是怎么做代码重构的

  • 如何清理源码里面没有被应用的代码, 主要是 JS、TS、 CSS 代码

  • 前端应用 如何做国际化?

  • 应用如何做应用灰度发

  • [微前端] 为何通常在 微前端 应用隔离, 不选择 iframe 方案

  • [微前端]Qiankun是如何做 JS 隔离的

  • [微前端] 微前端架构一般是如何做 JavaScript隔离

  • [React]循环渲染中 为什么推荐不用 index 做 key

  • [React]如何避免使用 context 的时候,引起整个挂载节 点树的重新渲染

  • 前端如何实现截图?

  • 当QPS达到峰值时,该如何处理?

  • JS 超过 Number 最大值的数怎么处理?

  • 使用同一个链接,如何实现 PC 打开是 web 应用、手机打开是一个 H5 应用?

  • 如何保证用户的使用体验

  • 如何解决页面请求接口大规模并发问题

  • 设计一套全站请求耗时统计工具

  • 大文件上传了解多少

  • H5 如何解决移动端适配问题

  • 站点一键换肤的实现方式有哪些?

  • 如何实现网页加载进度条?

  • 常见图片懒加载方式有哪些?

  • cookie 构成部分有哪些

  • 扫码登录实现方式

  • DNS 协议了解多少

  • 函数式编程了解多少?

  • 前端水印了解多少?

  • 什么是领域模型

  • 一直在 window 上面挂东西是否有什么风险

  • 深度 SEO优化的方式有哪些,从技术层面来说

  • 小程序为什么会有两个线程

  • web 应用中如何对静态资源加载失败的场景做降级处理

  • html中前缀为 data-开头的元素属性是什么?

  • 移动端如何实现上拉加载,下拉刷新

  • 如何判断dom元素是否在可视区域

  • 前端如何用 canvas 来做电影院选票功能

  • 如何通过设置失效时间清除本地存储的数据?

  • 如果不使用脚手架,如果用webpack构建一个自己的 react 应用

  • 用 nodejs 实现一个命令行工具,统计输入目录下面指定代码的行数

  • package.json 里面 sideEffects 属性的作用是啥

  • script 标签上有那些属性,分别作用是啥?

  • 为什么 SPA应用都会提供一个 hash 路由,好处是什么?

  • [React]如何进行路由变化监听

  • 单点登录是是什么,具体流程是什么

  • web 网页如何禁止别人移除水印

  • 用户访问页面白屏了,原因是啥,如何排查?

  • [代码实现] JS 中如何实现大对象深度对比

  • 如何理解数据驱动视图,有哪些核心要素?vue-cli 都做了哪些事儿,有哪些功能?

  • JS 执行 100万个任务,如何保证浏览器不卡顿?

  • JS 放在 head 里和放在 body 里有什么区别?

  • Eslint 代码检查的过程是啥?

  • 虚拟混动加载原理是什么, 用 JS 代码简单实现一个虚拟滚动加加载

  • [React]react-router和 原生路由区别

  • html的行内元素和块级元素的区别

  • 介绍-下requestldleCallback api

  • documentFragment api是什么,有哪些使用场景?

  • git pull 和 git fetch 有啥区别?

  • 前端如何做 页面主题色切换

  • 前端视角-如何保证系统稳定性

  • 如何统计长任务时间、长任务执行次数

  • V8 里面的 JIT 是什么?

  • 用 JS 写一个 cookies 解析函数,输出结果为一个对象

  • vue 中 Scoped Styles 是如何实现样式隔离的, 原理是 啥?

  • 样式隔离方式有哪些

  • 在JS中,如何解决递归导致栈溢出问题?

  • 站点如何防止爬虫?

  • 在表单校验场景中,如何实现页面视口滚动到报错的位置

  • 如何一次性渲染十万条数据还能保证页面不卡顿

  • [webpack]打包时 hash 码是如何生成的

  • 如何从 0到1搭建前端基建

  • 你在开发过程中,使用过哪些 TS 的特性或者能力?

  • JS 的加载会阻塞浏览器渲染吗?

  • 浏览器对队头阻塞有什么优化?

  • Webpack 项目中通过 script 标签引入资源,在项目中如何 处理?

  • 应用上线后,怎么通知用户刷新当前页面?

  • Eslint 代码检查的过程是啥?

  • HTTP是一个无状态的协议,那么Web应用要怎么保持用户 的登录态呢?

  • 如何检测网页空闲状态(一定时间内无操作)

  • 为什么Vite速度比 Webpack 快?

  • 列表分页,快速翻页下的竞态问题

  • JS 执行 100 万个任务, 如何保证浏览器不卡顿?

  • git 仓库迁移应该怎么操作

  • 如何禁止别人调试自己的前端页面代

  • web 系统里面,如何对图片进行优化?

  • OAuth2.0 是什么登录方式 单点登录是如何实现的? 常见的登录鉴权方式有哪些?

  • 需要在跨域请求中携带另外一个域名下的 Cookie 该如何 操作?

  • vite 和 webpack 在热更新上有啥区别?

  • 封装一个请求超时,发起重试的代码

  • 前端如何设置请求超时时间 timeout

  • nodejs 如何充分利用多核 CPU?

  • 后端一次性返回树形结构数据,数据量非常大,前端该如 何处理?

  • 你认为组件封装的一些基本准则是什么?

  • 页面加载速度提升(性能优化) 应该从哪些反向来思考?

  • 前端日志埋点 SDK 设计思路

  • token 进行身份验证了解多少?

  • 在前端应用如何进行权限设计?

  • [低代码】代码平台一般渲染是如何设计的?

  • [低代码】代码平台一般底层协议是怎么设计的

  • [Webpack]有哪些优化项目的手段?

  • IndexedDB存储空间大小是如何约束的?

  • 浏览器的存储有哪些

  • [Webpack]如何打包运行时chunk,. 且在项目工程 中,如何去加载这个运行时chunk?

  • 为何现在市面上做表格渲染可视化技术的,大多数都是 canvas ,而很少用svg的?

  • 在你的项目中,使用过哪些 webpack plugin,说一下他 们的作用

  • 在你的项目中,使用过哪些 webpack loader, 说一下他 们的作用

  • [React]如何避免不必要的渲染?

  • 全局样式命名冲突和样式覆盖问题怎么解决?

  • [React]如何实现专场动画?

  • [React]从 React 层面上, 能做的性能优化有哪些?

  • [Vue]中为何不要把 v-if 和 v-for 同时用在同一个元素 上,原理是什么?

  • 将静态资源缓存在本地的方式有哪些?

  • SPA首屏加载速度慢的怎么解决

  • axios 是如何区分是 nodejs 环境还是 浏览器环境的?

  • 如何拦截 web 应用的请求

  • 前端有哪些跨页面通信方式?

小编已经把题目答案都整理好了。现在拿去直接背还不晚:主页简介小助理自取!