一天面试了4个前端,发现都有相同的问题 - 实践

面试官困难大同小异,拉开差距的是回答的深度和逻辑。前端同学常见短板:

基础不牢
说不清事件循环、闭包 、原型链,或浏览器渲染流程、HTTP 缓存机制。 建议:搞懂 JS 执行机制、重排重绘、CORS/CSRF 防护。 只会用框架 会写 React/Vue,但不懂虚拟 DOM diff、响应式原理、状态管理设计。

建议:了解
Fiber 架构(React)或 Proxy 响应式(Vue),能讲清技术选型理由。

项目描述太浅

只说“用了 React + TS”,不说为什么选 Zustand、如何做权限控制、怎么优化首屏加载。

建议:突出优化成果(如加载从 3s → 800ms)或复杂问题排查(内存泄漏、错误监控)。

框架仅停留在运用层面

疑问表现:会用 React/Vue 写业务组件,但说不清虚拟 DOM 的 diff 算法、组件生命周期/钩子函数的执行时机、状态管理(如 Redux/Zustand/Pinia)的设计思想。

建议:

研究核心源码逻辑:

React:Fiber 架构如何实现可中断渲染?Hooks 如何利用链表保存状态?

Vue:响应式环境如何通过 Proxy/defineProperty 实现?模板编译过程是怎样的?

思考技术选型: 为什么项目用 React 而不是 Vue?或反之?

SSR(服务端渲染) vs SSG(静态生成) vs CSR(客户端渲染)各自的适用场景?

为什么选择 Vite而不是
Webpack?构建工具的差异点在哪里?

现在大厂更爱问:

场景题:https://github.com/encode-studio-fe/natural_traffic/wiki/scan_material1

  • 请求失败会弹出一个 toast,如何保证批量请求失败,只弹出一个 toast
  • 如何减少项目里面 if-els
  • babel-runtime 作用是啥
  • 如何实现预览 PDF 文
  • 如何在划词选择的文本上添加右键菜单(划词:鼠标滑动选 择一组字符,对组字符进行操作)
  • 富文本里面,是如何做到划词的(鼠标滑动选择一组字 符,对组字符进行操作)?
  • 如何做好前端监控方案
  • 如何标准化处理线上用户反馈的问题
  • px 如何转为 rem
  • 浏览器有同源策略,可是为何 cdn 请求资源的时候不会有 跨域限制
  • cookie 可以实现不同域共享吗
  • axios 是否可以取消请求
  • 前端如何实现折叠面板效果?
  • dom 里面,如何判定a元素是否是b元素的子元
  • 否有自定义 数据或者方法。该如何判定?就是判断一个对象是否为空,包含了其原型链上
  • js 如何判空? 「空」具备了:空数组、空对象、空字符 串、0、undefined、null、空 map、空set,都属于为空的资料
  • 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中,如何解决递归导致栈溢出问题?
  • 站点如何防止爬虫?
  • ts 项目中,如何启用 node_modules 里面定义的全局类型 包到自己项目 src 下面使用?
  • 不同标签页或窗口间的 【主动推送消息机制】 的方式有哪 (不借助服务端) ?
  • 否许可不用 react- router,使用浏览器原生 history 路由来组织页面路由?就是[React]在 react 项目开发过程中,
  • 在表单校验场景中,如何达成页面视口滚动到报错的位置
  • 如何一次性渲染十万条数据还能保证页面不卡顿
  • 如何生成的就是[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 应用的请求
  • 前端有哪些跨页面通信方式?

posted @ 2026-01-13 22:41  clnchanpin  阅读(14)  评论(0)    收藏  举报