面试题收集
# 面试题收集
# 题目
localStorage、cookie 区别
http 缓存
如何获取页面的所有标签种类
[...new Set(Array.from(document.querySelectorAll('*')).map(v => v.tagName))]
盒模型有几种?有什么区别?
前端性能优化?
node.js的运行原理
koa、express的对比
http / https 区别
HTTPS协议需要CA证书,费用较高;而HTTP协议不需要;
HTTP协议是超文本传输协议,信息是明文传输的,HTTPS则是具有安全性的SSL加密传输协议;
使用不同的连接方式,端口也不同,HTTP协议端口是80,HTTPS协议端口是443;
HTTP协议连接很简单,是无状态的;HTTPS协议是有SSL和HTTP协议构建的可进行加密传输、身份认证的网络协议,比HTTP更加安全。
中间人攻击:
针对SSL的中间人攻击方式主要有两类,分别是SSL劫持攻击和SSL剥离攻击
1. SSL劫持攻击即SSL证书欺骗攻击,攻击者为了获得HTTPS传输的明文数据,需要先将自己接入到客户端和目标网站之间;在传输过程中伪造服务器的证书,将服务器的公钥替换成自己的公钥,这样,中间人就可以得到明文传输带Key1、Key2和Pre-Master-Key,从而窃取客户端和服务端的通信数据;
2. 但是对于客户端来说,如果中间人伪造了证书,在校验证书过程中会提示证书错误,由用户选择继续操作还是返回,由于大多数用户的安全意识不强,会选择继续操作,此时,中间人就可以获取浏览器和服务器之间的通信数据
- 移动端 1px 问题
一种是利用 css 中的transfrom:scaleY(0.5),另一种是设置 媒体查询根据不同 DPR 缩放,https://zhuanlan.zhihu.com/p/100752129 (opens new window)
- visibility: hidden 与 opacity: 0 有什么区别
visibility:hidden 会被子元素继承,可以通过设置子元素visibility:visible 使子元素显示出来; opacity: 0 也会被子元素继承,但是不能通过设置子元素opacity: 0使其重新显示; visibility:hidden 元素上绑定的事件也无法触发;opacity: 0元素上面绑定的事件是可以触发的。
- webpack编译流程
webpack编译流程
- 初始化参数:从配置文件和 Shell 语句中读取与合并参数,得出最终的参数;
- 开始编译:用上一步得到的参数初始化 Compiler 对象,加载所有配置的插件,执行对象的 run 方法开始执行编译;
- 确定入口:根据配置中的 entry 找出所有的入口文件;
- 编译模块:从入口文件出发,调用所有配置的 Loader 对模块进行翻译,再找出该模块依赖的模块,再递归本步骤直到所有入口依赖的文件都经过了本步骤的处理;
- 完成模块编译:在经过第4步使用 Loader 翻译完所有模块后,得到了每个模块被翻译后的最终内容以及它们之间的依赖关系;
- 输出资源:根据入口和模块之间的依赖关系,组装成一个个包含多个模块的 Chunk,再把每个 Chunk 转换成一个单独的文件加入到输出列表,这步是可以修改输出内容的最后机会;
- 输出完成:在确定好输出内容后,根据配置确定输出的路径和文件名,把文件内容写入到文件系统。
# 收藏
目前有100个异步任务要执行,那么如何让这100个任务无间隔的快速执行完毕呢?Vue 源码思想在工作中的应用 (opens new window)
面试题:如何让 var [a, b] = {a: 1, b: 2} 解构赋值成功? (opens new window)
# 面试题合集
- web前端面试 - 面试官系列 (opens new window)
- 前端面试知识总结 (opens new window)
- 前端面试题宝典 (opens new window)
- React 面试题: 不一定最全但绝对值得收藏!!(1 ~ 10) (万字总结) (opens new window)
- React 面试题: 不一定最全但绝对值得收藏!!(11 ~ 20)(万字总结) (opens new window)
# 管理架构篇
上次更新: 9/19/2024, 7:59:59 PM