- 对语义化标签的理解
- 对meta标签的理解
- iframe标签
- css盒模型
ie盒模型 和 标准盒模型,box-sizing:border-box/content-box
- 伪类和伪元素
伪类-用于描述元素的状态 伪元素-创建不在文档流中的元素
- 单位
px em rem vw vh
- header里同时出现link和script顺序
script在上,link在下,js会等待css加载,同时会阻塞dom解析,放上面免得等link中的css太久
- 水平垂直居中
老生常谈,简易通背
- 谷歌浏览器小于12px文字
- 过渡和动画的区别
- bfc作用,如何创建
- 层爆炸
项目中大量使用很大的z-index导致越写越大。解决:不用z-index
- 值类型和引用类型
- undefined和null
- 判断变量类型
- instanceof的缺陷
不直观,需要两个变量。推荐使用 Object.prototype.toString.call()
- 快速实现深拷贝
在已确定不存在环引用、复杂对象的情况下可以用json转换,如果
- 解决深拷贝环引用
递归调用的外部做一个判断是否重复引用的
数组集合
- 如何判断数组内是否存在相同对象
使用Map,针对深拷贝场景的最优方案应该用weakMap
- 对象很大如何实现深拷贝
感觉应该是想问太多层了导致递归栈溢出的问题,递归改循环即可
- 闭包的概念,适用场景,缺陷
- 前端基础安全
XSS CSRF
- 并发数为3,发多个请求,用设计模式阐述
- 浏览器缓存机制,强缓存和协商缓存
- 输入url到显示
进程调度 查缓存 dns tcp ssl http 安全检测 dom树 css树 js阻塞 渲染树 重排重绘
- DNS本地缓存包括哪些
浏览器缓存和系统缓存
- https具体流程
先用非对称加密加密一个密钥,接下来的通信使用这个密钥进行对称加密
- 中间人攻击
ssl剥离和ssl劫持,原理是与错的人通信,再保密也没用。
- 对http2的了解
- Vue父子通信
- Vue中compute和watch的区别
- Vue中v-for,key的作用
- 为何不推荐使用index作为key
index做key会导致渲染时key跟着index改变,无法与dom产生联系,此时失去key的意义(复用dom)
- 前端工程化的理解
- 做过哪些前端优化