前端高级面试题
# 前端性能优化相关
大量图片加载很慢怎么优化
白屏原因(网络层,浏览器层面,业务逻辑层面),并给出针对性的解决方案
说说白屏优化的方式有哪些?优化首屏渲染的方式有哪几种?
白屏时间和首屏时间的计算方法,如何减少白屏时间和首屏时间
介绍一下你在平时业务中使用过的优化方案?
做过哪些 webpack 的性能优化?
怎么优化 H5 让它可以在 300ms 之内打开?怎么实现 h5 页面秒开?
50 个 SVG 图片请求你怎么进行优化
都做过哪些优化,动画的剪包如何做,FPS 是如何监控的
虚拟列表是怎么实现的,对于不定高的元素如何实现
怎么衡量一个页面的渲染速度,性能
你对首屏时间,可交互时间等概念的理解和看法
有听过前端性能优化指标 RAIL 吗
搜索框优化,防抖节流,还有?
为何要将小图片转化为 base64 ?
js 代码压缩,问:有哪些东西不会被压缩
# 前端工程化相关
- CI/CD 做了哪些实践,CI/CD 流程
前端的工程化都做了哪些事情?git CI/CD 都做了哪些事?比如 lint,安全检查,圈复杂度都有关注吗?lint 的规则是你们业务自己定制的吗?组件测试和自动化测试有做吗?上线的流水线有配过吗?小流量上线是如何做测试的?
如何封装一个脚手架 cli,如何感知脚手架的更新?
部署流程?静态资源如何部署?覆盖式更新和非覆盖式更新的区别?hash 值的意义,max-age 设置多久?200 和 304?from memory 和 from disk?
# 前端模块化
你知道哪些模块化标准,说下 commonJS 和 esmodule 的区别
commonJS 与 ES6 模块化区别;ES6 模块化主要的优势是什么
为什么浏览器不用 commondjs 而用了 esm
Commonjs 如何解决的循环引用问题 ?
Es Module 如何解决循环引用问题
AMD 和 CMD 规范的区别?
require 具体实现原理是什么,require 模块查找机制
require 有什么性能问题
import 和 require 导入的区别
Es6Module 在静态分析的时候怎么知道 函数是否需要 tree-shake 掉
# 前端规范
团队内部 eslint 的规范是如何指定的
使用过 ESLint 吗?简述 ESLint 的原理
# 前端安全相关
项目安全做了哪些处理
web 常见的攻击方式有哪些?如何防御?
网络安全有了解么,CSRF 如何防御,SameSite 有哪几个值
xss 攻击 csrf 攻击原理 以及如何防范
中间人攻击如何实现?怎样防范?
如何应对流量劫持
谈谈 XSS 防御,以及 Content-Security-Policy 细节
csrf token 能存储在 cookie 里吗?其实是可以的,只要服务端不要去从 cookie 里面取 csrf token 就行
黑客是怎么去利用 cookie 的?这个请求到底是怎么构造的?
xss 攻击,常见的字符转义处理有哪些?
前端安全,vue 怎么防止 xss 攻击的?
# 微前端面试题
微前端是什么, 有哪些特点和优势
微前端实现的主要原理
怎么解决样式隔离
如何解决主应用和子应用的隔离, 用 node.js 实现沙箱机制的原理
主应用修改了路由, 子应用如何感知到
微前端子应用之间怎么通信?有没有了解过业界的一些方案?
微前端中, 切换多种不同子工程, 与同一子工程内部切换路由有哪些区别
微前端中, iframe 元素特点, iframe 能否操作主页面 DOM 节点, 能否获取主页面 cookie
微前端怎么抽取子应用之前的公共模块 (比较关心打包速度)
为什么要使用微前端, 微前端有哪些不好用的地方
微前端有哪几种实现方式
# 前端监控
性能监控与异常监控
前端性能监控有了解吗?(这块主要问了错误的类型以及监控方式)
前端的监控是怎么做的?除了 sentry 还做了其他异常处理吗?
前端监控报警是怎么做的,都有哪些监控指标,报警的策略是怎样的,关注哪些指标和维度,白屏如何监控
一个页面的性能指标都有哪些,你是如何做监控的,如何监控 node 服务的性能监控
为什么前端监控要用 GIF 打点?
为什么不能用请求其他的文件资源(js/css/ttf)的方式进行上报?
为什么上报时选用了 1x1 的透明 GIF 而不是其他的 PNG/JEPG/BMP 文件。
# 前端设计模式
了解哪些设计模式?代理模式了解吗?
简述发布订阅模式的实现方式以及原理
说说单例模式的优缺点;
发布订阅模式和观察者模式的异同
# 前端可视化
canvas 优化绘制性能
canvas fingerprint
canvas 常用 api
svg 和 canvas 的概念和区别
canvas 如何使用图层 ,追问 如何避免图层覆盖 ?
可视化方案、svg、canvas 区别 使用场景
canvas 如何进行局部刷新(局部重绘)
说说 svg 和 canvas 各自的优缺点?
canvas 渲染较大画布的时候性能会较低?为什么?
echarts 中 svg 模式与 canvans 模式
为什么 canvas 的图片为什么会有跨域问题
# 服务器端渲染
什么是服务器渲染?Vue 和 React 是什么渲染模式?
为什么之前要把项目从 SSR 迁移到 CSR
SSR 和 CSR 的区别 (SSR 和客户端渲染有什么区别),Nuxt 这类的 SSR 方案和直接渲染 ejs 这类方案有什么本质的区别
之前做过 SSR 是哪种服务端渲染,是同构么
- SSR 的实现原理是什么?SSR 对性能优化的提升在哪里
ssr 性能优化,node 中间层细节处理
说说不用 nuxt 框架怎么实现 SSR,数据预取怎么实现的
# 骨架屏
有做过骨架屏么,是怎么做的
# 前端测试
单元测试编写有哪些原则
自动化测试是怎么做的,怎么判断输出是不是符合期望