# WebInterview **Repository Path**: WebInterviewHub/WebInterview ## Basic Information - **Project Name**: WebInterview - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2021-02-08 - **Last Updated**: 2021-09-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 这个Repo主要用来分享前端面试题,目前已经涵盖html&css、bom&dom、js基础、webpack、HTTP、HTTP2&HTTP缓存、跨域、HTTPS、Git、计算机基础、数据结构与算法、性能优化等内容,后续还会不断更新。 如果对于有所帮助,可以给个star。有纰漏的地方,欢迎给我们提PR。 如果想获取本Repo的PDF版本,可以用微信扫描下方二维码,回复 “pdf” ,即可获取。
## BOM&DOM * [1.BOM事件?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/BOM%26DOM.md#1bom事件) * [2.常见BOM事件?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/BOM%26DOM.md#2常见bom事件) * [3.BOM事件处理程序?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/BOM%26DOM.md#3bom事件处理程序) * [4.BOM对象方法?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/BOM%26DOM.md#4bom对象方法) * [5.BOM对象](https://gitee.com/WebInterviewHub/WebInterview/blob/master/BOM%26DOM.md#5bom对象) * [1.history](https://gitee.com/WebInterviewHub/WebInterview/blob/master/BOM%26DOM.md#1history) * [2.location](https://gitee.com/WebInterviewHub/WebInterview/blob/master/BOM%26DOM.md#2location) * [3.document](https://gitee.com/WebInterviewHub/WebInterview/blob/master/BOM%26DOM.md#3document) * [6.DOM?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/BOM%26DOM.md#6dom) * [7.DOM节点](https://gitee.com/WebInterviewHub/WebInterview/blob/master/BOM%26DOM.md#7dom节点) * [8.DOM获取节点](https://gitee.com/WebInterviewHub/WebInterview/blob/master/BOM%26DOM.md#8dom获取节点) * [9.DOM创建节点与插入节点](https://gitee.com/WebInterviewHub/WebInterview/blob/master/BOM%26DOM.md#9dom创建节点与插入节点) * [10.DOM0级和DOM2级有什么区别](https://gitee.com/WebInterviewHub/WebInterview/blob/master/BOM%26DOM.md#10dom0级和dom2级有什么区别) * [11.textContent、innerText、innnerHTML、value的区别](https://gitee.com/WebInterviewHub/WebInterview/blob/master/BOM%26DOM.md#11textcontentinnertextinnnerhtmlvalue的区别) * [12.关于dom的api有什么](https://gitee.com/WebInterviewHub/WebInterview/blob/master/BOM%26DOM.md#12关于dom的api有什么) * [13.什么叫Dom事件流?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/BOM%26DOM.md#13什么叫dom事件流) * [14.如何让事件先冒泡后捕获](https://gitee.com/WebInterviewHub/WebInterview/blob/master/BOM%26DOM.md#14如何让事件先冒泡后捕获) * [15.说一下事件代理](https://gitee.com/WebInterviewHub/WebInterview/blob/master/BOM%26DOM.md#15说一下事件代理) ## webpack * [1.webpack与grunt、gulp的不同?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/webpack.md#1webpack与gruntgulp的不同) * [2.与webpack类似的工具还有哪些?谈谈你为什么最终选择(或放弃)使用webpack?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/webpack.md#2与webpack类似的工具还有哪些谈谈你为什么最终选择或放弃使用webpack) * [3.有哪些常见的Loader?他们是解决什么问题的?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/webpack.md#3有哪些常见的loader他们是解决什么问题的) * [4.有哪些常见的Plugin?他们是解决什么问题的?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/webpack.md#4有哪些常见的plugin他们是解决什么问题的) * [5.Loader和Plugin的不同?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/webpack.md#5loader和plugin的不同) * [不同的作用](https://gitee.com/WebInterviewHub/WebInterview/blob/master/webpack.md#不同的作用) * [不同的用法](https://gitee.com/WebInterviewHub/WebInterview/blob/master/webpack.md#不同的用法) * [6.webpack的构建流程是什么?从读取配置到输出文件这个过程尽量说全](https://gitee.com/WebInterviewHub/WebInterview/blob/master/webpack.md#6webpack的构建流程是什么从读取配置到输出文件这个过程尽量说全) * [7.是否写过Loader和Plugin?描述一下编写loader或plugin的思路?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/webpack.md#7是否写过loader和plugin描述一下编写loader或plugin的思路) * [8.webpack的热更新是如何做到的?说明其原理?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/webpack.md#8webpack的热更新是如何做到的说明其原理) * [原理:](https://gitee.com/WebInterviewHub/WebInterview/blob/master/webpack.md#原理) * [9.如何利用webpack来优化前端性能?(提高性能和体验)](https://gitee.com/WebInterviewHub/WebInterview/blob/master/webpack.md#9如何利用webpack来优化前端性能提高性能和体验) * [10.如何提高webpack的构建速度?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/webpack.md#10如何提高webpack的构建速度) * [11.怎么配置单页应用?怎么配置多页应用?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/webpack.md#11怎么配置单页应用怎么配置多页应用) * [12.npm打包时需要注意哪些?如何利用webpack来更好的构建?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/webpack.md#12npm打包时需要注意哪些如何利用webpack来更好的构建) * [13.如何在vue项目中实现按需加载?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/webpack.md#13如何在vue项目中实现按需加载) * [14.webpack是解决什么问题而生的?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/webpack.md#14webpack是解决什么问题而生的) * [15.如何配置多入口文件?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/webpack.md#15如何配置多入口文件) * [16.webpack中的模块解析规则](https://gitee.com/WebInterviewHub/WebInterview/blob/master/webpack.md#16webpack中的模块解析规则) * [17.webpack中的模块解析规则具体实现](https://gitee.com/WebInterviewHub/WebInterview/blob/master/webpack.md#17webpack中的模块解析规则具体实现) * [18.什么是模块热替换](https://gitee.com/WebInterviewHub/WebInterview/blob/master/webpack.md#18什么是模块热替换) ## https * [1.https的访问过程](https://gitee.com/WebInterviewHub/WebInterview/blob/master/https.md#1https的访问过程) * [详细解释:](https://gitee.com/WebInterviewHub/WebInterview/blob/master/https.md#详细解释) * [2.https的优缺点?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/https.md#2https的优缺点) * [1. 优点](https://gitee.com/WebInterviewHub/WebInterview/blob/master/https.md#1-优点) * [2、缺点](https://gitee.com/WebInterviewHub/WebInterview/blob/master/https.md#2缺点) * [3.https如何进行性能优化?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/https.md#3https如何进行性能优化) * [1.https访问速度优化](https://gitee.com/WebInterviewHub/WebInterview/blob/master/https.md#1https访问速度优化) * [2.https计算性能优化](https://gitee.com/WebInterviewHub/WebInterview/blob/master/https.md#2https计算性能优化) * [4.http和https](https://gitee.com/WebInterviewHub/WebInterview/blob/master/https.md#4http和https) * [5.HTTPS为什么是安全的?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/https.md#5https为什么是安全的) * [6.HTTPS相对于HTTP的缺陷?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/https.md#6https相对于http的缺陷) * [7.为什么需要证书?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/https.md#7为什么需要证书) * [8.怎么防止的篡改?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/https.md#8怎么防止的篡改) ## html&&css * [1. 如何理解CSS盒子模型](https://gitee.com/WebInterviewHub/WebInterview/blob/master/html%26css.md#1-如何理解css盒子模型) * [2.BFC](https://gitee.com/WebInterviewHub/WebInterview/blob/master/html%26css.md#2bfc) * [3.标签语义化](https://gitee.com/WebInterviewHub/WebInterview/blob/master/html%26css.md#3标签语义化) * [4.meta标签](https://gitee.com/WebInterviewHub/WebInterview/blob/master/html%26css.md#4meta标签) * [5.css与javascript引入设置](https://gitee.com/WebInterviewHub/WebInterview/blob/master/html%26css.md#5css与javascript引入设置) * [6.HTML的块级元素,行内元素,行内块元素有哪些,区别是什么](https://gitee.com/WebInterviewHub/WebInterview/blob/master/html%26css.md#6html的块级元素行内元素行内块元素有哪些区别是什么) * [7.CSS3有哪些新特性](https://gitee.com/WebInterviewHub/WebInterview/blob/master/html%26css.md#7css3有哪些新特性) * [8.实现元素隐藏](https://gitee.com/WebInterviewHub/WebInterview/blob/master/html%26css.md#8实现元素隐藏) * [9.如何实现元素水平居中](https://gitee.com/WebInterviewHub/WebInterview/blob/master/html%26css.md#9如何实现元素水平居中) * [10.如何实现元素垂直居中](https://gitee.com/WebInterviewHub/WebInterview/blob/master/html%26css.md#10如何实现元素垂直居中) * [11.Position](https://gitee.com/WebInterviewHub/WebInterview/blob/master/html%26css.md#11position) * [12.定位元素水平垂直居中](https://gitee.com/WebInterviewHub/WebInterview/blob/master/html%26css.md#12定位元素水平垂直居中) * [13.清除浮动](https://gitee.com/WebInterviewHub/WebInterview/blob/master/html%26css.md#13清除浮动) * [14.css选择器有哪些,选择器的优先级](https://gitee.com/WebInterviewHub/WebInterview/blob/master/html%26css.md#14css选择器有哪些选择器的优先级) * [15.各种布局优缺点](https://gitee.com/WebInterviewHub/WebInterview/blob/master/html%26css.md#15各种布局优缺点) * [16.html5有哪些新特性、移除了那些元素?如何处理HTML5新标签的浏览器兼容问题?如何区分 HTML 和 HTML5?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/html%26css.md#16html5有哪些新特性移除了那些元素如何处理html5新标签的浏览器兼容问题如何区分-html-和-html5) * [17. CSS3新增伪类举例:](https://gitee.com/WebInterviewHub/WebInterview/blob/master/html%26css.md#17-css3新增伪类举例) * [18.解释盒模型宽高值得计算方式,边界塌陷,负值作用,box-sizing概念?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/html%26css.md#18解释盒模型宽高值得计算方式边界塌陷负值作用box-sizing概念) * [19.如何实现浏览器内多个标签页之间的通信?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/html%26css.md#19如何实现浏览器内多个标签页之间的通信) * [20.解释下浮动和它的工作原理?清除浮动的方法](https://gitee.com/WebInterviewHub/WebInterview/blob/master/html%26css.md#20解释下浮动和它的工作原理清除浮动的方法) ## JS基础 * [1.什么是闭包](https://gitee.com/WebInterviewHub/WebInterview/blob/master/JS基础.md#1什么是闭包) * [2.闭包的用途](https://gitee.com/WebInterviewHub/WebInterview/blob/master/JS基础.md#2闭包的用途) * [3.闭包的缺点](https://gitee.com/WebInterviewHub/WebInterview/blob/master/JS基础.md#3闭包的缺点) * [4.闭包实用场景](https://gitee.com/WebInterviewHub/WebInterview/blob/master/JS基础.md#4闭包实用场景) * [5. JS 有哪些数据类型?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/JS基础.md#5-js-有哪些数据类型) * [6.基本数据类型和引用数据类型有什么区别?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/JS基础.md#6基本数据类型和引用数据类型有什么区别) * [7.判断数据类型的方法有哪些?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/JS基础.md#7判断数据类型的方法有哪些) * [8.浅拷贝与深拷贝有何区别?如何实现?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/JS基础.md#8浅拷贝与深拷贝有何区别如何实现) * [9. let、const的区别是什么?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/JS基础.md#9-letconst的区别是什么) * [10. 什么是执行上下文和执行栈?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/JS基础.md#10-什么是执行上下文和执行栈) * [11.什么是作用域和作用域链?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/JS基础.md#11什么是作用域和作用域链) * [12.作用域和执行上下文的区别是什么?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/JS基础.md#12作用域和执行上下文的区别是什么) * [13.this指向的各种情况都有什么?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/JS基础.md#13this指向的各种情况都有什么) * [14.如何改变this指针的指向?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/JS基础.md#14如何改变this指针的指向) * [15.如何理解同步和异步?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/JS基础.md#15如何理解同步和异步) * [16.JS是如何实现异步的?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/JS基础.md#16js是如何实现异步的) * [17.什么是AJAX?如何实现?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/JS基础.md#17什么是ajax如何实现) * [18.实现异步的方式有哪些?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/JS基础.md#18实现异步的方式有哪些) * [19.怎么理解Promise对象?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/JS基础.md#19怎么理解promise对象) * [20.怎么理解宏任务,微任务???](https://gitee.com/WebInterviewHub/WebInterview/blob/master/JS基础.md#20怎么理解宏任务微任务) * [21.实现继承的方法有哪些???](https://gitee.com/WebInterviewHub/WebInterview/blob/master/JS基础.md#21实现继承的方法有哪些) * [22.require/import之间的区别?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/JS基础.md#22requireimport之间的区别) * [23.原型和原型链](https://gitee.com/WebInterviewHub/WebInterview/blob/master/JS基础.md#23原型和原型链) * [24.事件委托](https://gitee.com/WebInterviewHub/WebInterview/blob/master/JS基础.md#24.事件委托) * [25.解释一下变量的提升](https://gitee.com/WebInterviewHub/WebInterview/blob/master/JS基础.md#25解释一下变量的提升) * [26. 如何理解高阶函数](https://gitee.com/WebInterviewHub/WebInterview/blob/master/JS基础.md#26-如何理解高阶函数) * [27.如何区分声明函数和表达式函数](https://gitee.com/WebInterviewHub/WebInterview/blob/master/JS基础.md#27如何区分声明函数和表达式函数) * [28.解释原型继承是如何工作的](https://gitee.com/WebInterviewHub/WebInterview/blob/master/JS基础.md#28解释原型继承是如何工作的) ## HTTP * [1.什么是域名发散和域名收敛?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/HTTP.md#1什么是域名发散和域名收敛) * [2.为什么浏览器要做并发限制呢?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/HTTP.md#2为什么浏览器要做并发限制呢) * [3.什么是 DDOS 攻击](https://gitee.com/WebInterviewHub/WebInterview/blob/master/HTTP.md#3什么是-ddos-攻击) * [4.DDOS 攻击方式](https://gitee.com/WebInterviewHub/WebInterview/blob/master/HTTP.md#4ddos-攻击方式) * [5.如何应对 DDOS 攻击](https://gitee.com/WebInterviewHub/WebInterview/blob/master/HTTP.md#5如何应对-ddos-攻击) * [6.http请求过程](https://gitee.com/WebInterviewHub/WebInterview/blob/master/HTTP.md#6http请求过程) * [7.DNS 域名如何解析的?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/HTTP.md#7dns-域名如何解析的) * [8.TCP三次握手](https://gitee.com/WebInterviewHub/WebInterview/blob/master/HTTP.md#8tcp三次握手) * [9.为什么要三次握手?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/HTTP.md#9为什么要三次握手) * [10.为什么HTTP协议要基于TCP来实现?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/HTTP.md#10为什么http协议要基于tcp来实现) * [11.什么是面相连接协议?面向无链接协议又是什么?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/HTTP.md#11什么是面相连接协议面向无链接协议又是什么) * [1. 面相连接协议定义](https://gitee.com/WebInterviewHub/WebInterview/blob/master/HTTP.md#1-面相连接协议定义) * [2. 面向无链接协议定义](https://gitee.com/WebInterviewHub/WebInterview/blob/master/HTTP.md#2-面向无链接协议定义) * [12.说到三次握手,那在说下四次挥手吧?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/HTTP.md#12说到三次握手那在说下四次挥手吧) * [13.为什么要四次挥手](https://gitee.com/WebInterviewHub/WebInterview/blob/master/HTTP.md#13为什么要四次挥手) * [14.为什么建立连接是三次握手,关闭连接确是四次挥手呢?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/HTTP.md#14为什么建立连接是三次握手关闭连接确是四次挥手呢) * [15.如果已经建立了连接,但是客户端突然出现故障了怎么办?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/HTTP.md#15如果已经建立了连接但是客户端突然出现故障了怎么办) * [16.http请求方式有哪些?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/HTTP.md#16http请求方式有哪些) * [17.常用的请求状态码?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/HTTP.md#17常用的请求状态码) * [18.TCP和UDP的区别以及应用场景](https://gitee.com/WebInterviewHub/WebInterview/blob/master/HTTP.md#18tcp和udp的区别以及应用场景) * [1.UDP](https://gitee.com/WebInterviewHub/WebInterview/blob/master/HTTP.md#1udp) * [2.TCP](https://gitee.com/WebInterviewHub/WebInterview/blob/master/HTTP.md#2tcp) * [3.应用场景](https://gitee.com/WebInterviewHub/WebInterview/blob/master/HTTP.md#3应用场景) * [19.GET和POST的区别](https://gitee.com/WebInterviewHub/WebInterview/blob/master/HTTP.md#19get和post的区别) * [20.cookies机制和session机制的区别:](https://gitee.com/WebInterviewHub/WebInterview/blob/master/HTTP.md#20cookies机制和session机制的区别) * [21.HTTP、状态码:](https://gitee.com/WebInterviewHub/WebInterview/blob/master/HTTP.md#21http状态码) * [22.Internet采用哪种网络协议?该协议的主要层次结构?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/HTTP.md#22internet采用哪种网络协议该协议的主要层次结构) * [23.IP地址的编码分为哪俩部分?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/HTTP.md#23ip地址的编码分为哪俩部分) * [24.TCP/IP通信建立的过程怎样,端口有什么作用?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/HTTP.md#24tcpip通信建立的过程怎样端口有什么作用) * [25.IP组播有那些好处?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/HTTP.md#25ip组播有那些好处) ## HTTP2&HTTP缓存 * [1.http/2项目设定目标](https://gitee.com/WebInterviewHub/WebInterview/blob/master/HTTP2%26HTTP缓存.md#1http2项目设定目标) * [2.http/2特性](https://gitee.com/WebInterviewHub/WebInterview/blob/master/HTTP2%26HTTP缓存.md#2http2特性) * [3.什么是缓存?又有什么用?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/HTTP2%26HTTP缓存.md#3什么是缓存又有什么用) * [4.你知道有哪些缓存方式吗?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/HTTP2%26HTTP缓存.md#4你知道有哪些缓存方式吗) * [5.缓存位置](https://gitee.com/WebInterviewHub/WebInterview/blob/master/HTTP2%26HTTP缓存.md#5缓存位置) * [6.http缓存怎样生效的?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/HTTP2%26HTTP缓存.md#6http缓存怎样生效的) * [7.HTTP2的伪头字段](https://gitee.com/WebInterviewHub/WebInterview/blob/master/HTTP2%26HTTP缓存.md#7http2的伪头字段) * [8.HTTP 2:服务器推送](https://gitee.com/WebInterviewHub/WebInterview/blob/master/HTTP2%26HTTP缓存.md#8http-2服务器推送) * [9.队首阻塞问题](https://gitee.com/WebInterviewHub/WebInterview/blob/master/HTTP2%26HTTP缓存.md#9队首阻塞问题) * [10.Transport头域](https://gitee.com/WebInterviewHub/WebInterview/blob/master/HTTP2%26HTTP缓存.md#10transport头域) * [11.时效缓存(强制缓存)](https://gitee.com/WebInterviewHub/WebInterview/blob/master/HTTP2%26HTTP缓存.md#11时效缓存强制缓存) * [12.非时效缓存(对比缓存,用的是标识):](https://gitee.com/WebInterviewHub/WebInterview/blob/master/HTTP2%26HTTP缓存.md#12非时效缓存对比缓存用的是标识) * [13.两种缓存标识](https://gitee.com/WebInterviewHub/WebInterview/blob/master/HTTP2%26HTTP缓存.md#13两种缓存标识) * [14.Service Worker](https://gitee.com/WebInterviewHub/WebInterview/blob/master/HTTP2%26HTTP缓存.md#14service-worker) * [15.memory cache](https://gitee.com/WebInterviewHub/WebInterview/blob/master/HTTP2%26HTTP缓存.md#15memory-cache) * [16.disk cache](https://gitee.com/WebInterviewHub/WebInterview/blob/master/HTTP2%26HTTP缓存.md#16disk-cache) ## 跨域 * [1.什么是跨域](https://gitee.com/WebInterviewHub/WebInterview/blob/master/跨域.md#1什么是跨域) * [2.同源策略](https://gitee.com/WebInterviewHub/WebInterview/blob/master/跨域.md#2同源策略) * [3.为什么有同源策略](https://gitee.com/WebInterviewHub/WebInterview/blob/master/跨域.md#3为什么有同源策略) * [4.跨域的解决方案](https://gitee.com/WebInterviewHub/WebInterview/blob/master/跨域.md#4跨域的解决方案) * [5.jsonp原理](https://gitee.com/WebInterviewHub/WebInterview/blob/master/跨域.md#5jsonp原理) * [6.常见的跨域场景](https://gitee.com/WebInterviewHub/WebInterview/blob/master/跨域.md#6常见的跨域场景) * [7.postMessage跨域](https://gitee.com/WebInterviewHub/WebInterview/blob/master/跨域.md#7postmessage跨域) * [8.资源共享跨域(CORS)](https://gitee.com/WebInterviewHub/WebInterview/blob/master/跨域.md#8资源共享跨域cors) * [9.nginx代理跨域](https://gitee.com/WebInterviewHub/WebInterview/blob/master/跨域.md#9nginx代理跨域) * [10.nodejs中间件代理跨域](https://gitee.com/WebInterviewHub/WebInterview/blob/master/跨域.md#10nodejs中间件代理跨域) * [1、 非vue框架的跨域(2次跨域)](https://gitee.com/WebInterviewHub/WebInterview/blob/master/跨域.md#1-非vue框架的跨域2次跨域) * [2、 vue框架跨域](https://gitee.com/WebInterviewHub/WebInterview/blob/master/跨域.md#2-vue框架跨域) * [11.webscoket协议跨域](https://gitee.com/WebInterviewHub/WebInterview/blob/master/跨域.md#11webscoket协议跨域) ## Git * [1.列举工作中常用的几个git命令?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/Git.md#1列举工作中常用的几个git命令) * [2. 提交时发生冲突,你能解释冲突是如何产生的吗?你是如何解决的?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/Git.md#2-提交时发生冲突你能解释冲突是如何产生的吗你是如何解决的) * [3. 如果本次提交误操作,如何撤销?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/Git.md#3-如果本次提交误操作如何撤销) * [4. 如果我想修改提交的历史信息,应该用什么命令?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/Git.md#4-如果我想修改提交的历史信息应该用什么命令) * [第二步:执行命令git rebase –i HEAD~3,会把前3次的提交记录按照倒叙列出来;](https://gitee.com/WebInterviewHub/WebInterview/blob/master/Git.md#第二步执行命令git-rebase-i-head3会把前3次的提交记录按照倒叙列出来) * [5. 你使用过git stash命令吗?你一般什么情况下会使用它?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/Git.md#5-你使用过git-stash命令吗你一般什么情况下会使用它) * [6. 如何查看分支提交的历史记录?查看某个文件的历史记录呢?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/Git.md#6-如何查看分支提交的历史记录查看某个文件的历史记录呢) * [7. 能不能说一下git fetch和git pull命令之间的区别?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/Git.md#7-能不能说一下git-fetch和git-pull命令之间的区别) * [8. 使用过git merge和git rebase吗?它们之间有什么区别?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/Git.md#8-使用过git-merge和git-rebase吗它们之间有什么区别) * [9. 能说一下git系统中HEAD、工作树和索引之间的区别吗?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/Git.md#9-能说一下git系统中head工作树和索引之间的区别吗) * [10. 之前项目中是使用的GitFlow工作流程吗?它有什么好处?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/Git.md#10-之前项目中是使用的gitflow工作流程吗它有什么好处) * [11. 使用过git cherry-pick,有什么作用?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/Git.md#11-使用过git-cherry-pick有什么作用) * [12. git跟其他版本控制器有啥区别?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/Git.md#12-git跟其他版本控制器有啥区别) * [13.我们在本地工程常会修改一些配置文件,这些文件不需要被提交,而我们又不想每次执行git status时都让这些文件显示出来,我们该如何操作?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/Git.md#13我们在本地工程常会修改一些配置文件这些文件不需要被提交而我们又不想每次执行git-status时都让这些文件显示出来我们该如何操作) * [14. 如何把本地仓库的内容推向一个空的远程仓库?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/Git.md#14-如何把本地仓库的内容推向一个空的远程仓库) * [15.如在 Git 恢复先前的提交?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/Git.md#15如在-git-恢复先前的提交) * [16.什么是“git cherry-pick”?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/Git.md#16什么是git-cherry-pick) ## 计算机基础 * [1.CPU基础](https://gitee.com/WebInterviewHub/WebInterview/blob/master/计算机基础.md#1cpu基础) * [2.CPU与主存](https://gitee.com/WebInterviewHub/WebInterview/blob/master/计算机基础.md#2cpu与主存) * [3.程序等同数据](https://gitee.com/WebInterviewHub/WebInterview/blob/master/计算机基础.md#3程序等同数据) * [4.指令系统](https://gitee.com/WebInterviewHub/WebInterview/blob/master/计算机基础.md#4指令系统) * [5.指令寄存器与程序计数器](https://gitee.com/WebInterviewHub/WebInterview/blob/master/计算机基础.md#5指令寄存器与程序计数器) * [6.指令如何执行](https://gitee.com/WebInterviewHub/WebInterview/blob/master/计算机基础.md#6指令如何执行) * [7.控制器](https://gitee.com/WebInterviewHub/WebInterview/blob/master/计算机基础.md#7控制器) * [8.直接存储器存取](https://gitee.com/WebInterviewHub/WebInterview/blob/master/计算机基础.md#8直接存储器存取) * [9.什么是程序局部性?为什么会有程序的空间局部性?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/计算机基础.md#9什么是程序局部性为什么会有程序的空间局部性) * [10.为了实现重定位,需要哪些硬件?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/计算机基础.md#10为了实现重定位需要哪些硬件) * [11.在交互式系统中,非剥夺是不是一个好的策略?为什么?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/计算机基础.md#11在交互式系统中非剥夺是不是一个好的策略为什么) * [12.谈一谈计算机网络和分布式计算机系统的区别](https://gitee.com/WebInterviewHub/WebInterview/blob/master/计算机基础.md#12谈一谈计算机网络和分布式计算机系统的区别) * [13.为什么要引入多道程序技术?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/计算机基础.md#13为什么要引入多道程序技术) * [14.处理器如何读并解释存储在内存中的指令](https://gitee.com/WebInterviewHub/WebInterview/blob/master/计算机基础.md#14处理器如何读并解释存储在内存中的指令) * [15.总线](https://gitee.com/WebInterviewHub/WebInterview/blob/master/计算机基础.md#15总线) * [16.I/O设备](https://gitee.com/WebInterviewHub/WebInterview/blob/master/计算机基础.md#16io设备) * [17.主存](https://gitee.com/WebInterviewHub/WebInterview/blob/master/计算机基础.md#17主存) * [18.处理器](https://gitee.com/WebInterviewHub/WebInterview/blob/master/计算机基础.md#18处理器) * [19.计算机如何访问信息](https://gitee.com/WebInterviewHub/WebInterview/blob/master/计算机基础.md#19计算机如何访问信息) * [20.什么是操作数指示符](https://gitee.com/WebInterviewHub/WebInterview/blob/master/计算机基础.md#20什么是操作数指示符) * [21.如何传送数据](https://gitee.com/WebInterviewHub/WebInterview/blob/master/计算机基础.md#21如何传送数据) * [22.栈数据如何压入和弹出](https://gitee.com/WebInterviewHub/WebInterview/blob/master/计算机基础.md#22栈数据如何压入和弹出) * [23.如何进行算数和逻辑操作](https://gitee.com/WebInterviewHub/WebInterview/blob/master/计算机基础.md#23如何进行算数和逻辑操作) * [24.什么是“加载有效地址”](https://gitee.com/WebInterviewHub/WebInterview/blob/master/计算机基础.md#24什么是加载有效地址) * [25.什么是一元和二元操作](https://gitee.com/WebInterviewHub/WebInterview/blob/master/计算机基础.md#25什么是一元和二元操作) * [数据结构与算法](https://gitee.com/WebInterviewHub/WebInterview/blob/master/数据结构与算法.md#数据结构与算法) * [1. 什么是复杂度分析 ?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/数据结构与算法.md#1-什么是复杂度分析-) * [2. 为什么要进行复杂度分析 ?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/数据结构与算法.md#2-为什么要进行复杂度分析-) * [3. 如何进行复杂度分析 ?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/数据结构与算法.md#3-如何进行复杂度分析-) * [1 大 O 表示法](https://gitee.com/WebInterviewHub/WebInterview/blob/master/数据结构与算法.md#1-大-o-表示法) * [2 时间复杂度](https://gitee.com/WebInterviewHub/WebInterview/blob/master/数据结构与算法.md#2-时间复杂度) * [3 时间复杂度分析](https://gitee.com/WebInterviewHub/WebInterview/blob/master/数据结构与算法.md#3-时间复杂度分析) * [4.常用的时间复杂度分析](https://gitee.com/WebInterviewHub/WebInterview/blob/master/数据结构与算法.md#4常用的时间复杂度分析) * [5.时间复杂度分类](https://gitee.com/WebInterviewHub/WebInterview/blob/master/数据结构与算法.md#5时间复杂度分类) * [6.时间复杂度消耗时间排序](https://gitee.com/WebInterviewHub/WebInterview/blob/master/数据结构与算法.md#6时间复杂度消耗时间排序) * [7.空间复杂度分析](https://gitee.com/WebInterviewHub/WebInterview/blob/master/数据结构与算法.md#7空间复杂度分析) * [8.如何掌握好复杂度分析方法 ?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/数据结构与算法.md#8如何掌握好复杂度分析方法-) * [9.判断一段字符串是否为回文?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/数据结构与算法.md#9判断一段字符串是否为回文) * [10.数组去重](https://gitee.com/WebInterviewHub/WebInterview/blob/master/数据结构与算法.md#10数组去重) ## 性能优化 * [1.性能优化的几个方面?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/性能优化.md#1性能优化的几个方面) * [2.如何进行首屏优化](https://gitee.com/WebInterviewHub/WebInterview/blob/master/性能优化.md#2如何进行首屏优化) * [3.什么情况会造成内存泄漏?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/性能优化.md#3什么情况会造成内存泄漏) * [4.异步加载?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/性能优化.md#4异步加载) * [5.加载方式区别?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/性能优化.md#5加载方式区别) * [6.浏览器缓存?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/性能优化.md#6浏览器缓存) * [分类](https://gitee.com/WebInterviewHub/WebInterview/blob/master/性能优化.md#分类) * [7.预加载?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/性能优化.md#7预加载) * [8.预渲染?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/性能优化.md#8预渲染) * [9.CDN?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/性能优化.md#9cdn) * [10.DNS 预解析?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/性能优化.md#10dns-预解析) * [11.节流?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/性能优化.md#11节流) * [12.防抖?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/性能优化.md#12防抖) * [13.懒执行?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/性能优化.md#13懒执行) * [14.懒加载?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/性能优化.md#14懒加载) * [15.图片优化?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/性能优化.md#15图片优化) * [16.图片加载优化?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/性能优化.md#16图片加载优化) * [17.js css 顺序对前端优化影响?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/性能优化.md#17js-css-顺序对前端优化影响) * [18.重排重绘为什么会影响渲染,如何避免?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/性能优化.md#18重排重绘为什么会影响渲染如何避免) * [19.何时缓存在memory,合适缓存在dist?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/性能优化.md#19何时缓存在memory合适缓存在dist) * [20.CSS选择符优化](https://gitee.com/WebInterviewHub/WebInterview/blob/master/性能优化.md#20css选择符优化) ## 数据结构与算法 * [数据结构与算法](https://gitee.com/WebInterviewHub/WebInterview/blob/master/数据结构与算法.md#数据结构与算法) * [1. 什么是复杂度分析 ?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/数据结构与算法.md#1-什么是复杂度分析-) * [2. 为什么要进行复杂度分析 ?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/数据结构与算法.md#2-为什么要进行复杂度分析-) * [3. 如何进行复杂度分析 ?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/数据结构与算法.md#3-如何进行复杂度分析-) * [1 大 O 表示法](https://gitee.com/WebInterviewHub/WebInterview/blob/master/数据结构与算法.md#1-大-o-表示法) * [2 时间复杂度](https://gitee.com/WebInterviewHub/WebInterview/blob/master/数据结构与算法.md#2-时间复杂度) * [3 时间复杂度分析](https://gitee.com/WebInterviewHub/WebInterview/blob/master/数据结构与算法.md#3-时间复杂度分析) * [4.常用的时间复杂度分析](https://gitee.com/WebInterviewHub/WebInterview/blob/master/数据结构与算法.md#4常用的时间复杂度分析) * [5.时间复杂度分类](https://gitee.com/WebInterviewHub/WebInterview/blob/master/数据结构与算法.md#5时间复杂度分类) * [6.时间复杂度消耗时间排序](https://gitee.com/WebInterviewHub/WebInterview/blob/master/数据结构与算法.md#6时间复杂度消耗时间排序) * [7.空间复杂度分析](https://gitee.com/WebInterviewHub/WebInterview/blob/master/数据结构与算法.md#7空间复杂度分析) * [8.如何掌握好复杂度分析方法 ?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/数据结构与算法.md#8如何掌握好复杂度分析方法-) * [9.判断一段字符串是否为回文?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/数据结构与算法.md#9判断一段字符串是否为回文) * [10.数组去重](https://gitee.com/WebInterviewHub/WebInterview/blob/master/数据结构与算法.md#10数组去重) ## Angular * [1.什么是Angular 7?与AngularJS有何不同?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/Angular.md#1什么是angular-7与angularjs有何不同) * [2.什么是Angular框架?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/Angular.md#2什么是angular框架) * [3.Angular 7中的结构指令和属性指令有什么区别?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/Angular.md#3angular-7中的结构指令和属性指令有什么区别) * [4.NgModule中的”声明”, “提供者”和”导入”之间有什么区别?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/Angular.md#4ngmodule中的声明-提供者和导入之间有什么区别) * [5.Angular的关键组件是什么?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/Angular.md#5angular的关键组件是什么) * [6.解释Angular的体系结构概述](https://gitee.com/WebInterviewHub/WebInterview/blob/master/Angular.md#6解释angular的体系结构概述) * [7.如何将Angular 6更新为Angular 7?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/Angular.md#7如何将angular-6更新为angular-7) * [8.什么是angular material?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/Angular.md#8什么是angular-material) * [9. 什么是aot编译?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/Angular.md#9-什么是aot编译) * [10.什么是数据绑定?在Angular中有几种方式?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/Angular.md#10什么是数据绑定在angular中有几种方式) * [参考链接](https://gitee.com/WebInterviewHub/WebInterview/blob/master/Angular.md#参考链接) ## Ajax * [1.什么是ajax?ajax作用是什么?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/Ajax.md#1什么是ajaxajax作用是什么) * [2.为什么要用ajax:](https://gitee.com/WebInterviewHub/WebInterview/blob/master/Ajax.md#2为什么要用ajax) * [3.AJAX最大的特点是什么。](https://gitee.com/WebInterviewHub/WebInterview/blob/master/Ajax.md#3ajax最大的特点是什么) * [4.请介绍一下XMLHttprequest对象。](https://gitee.com/WebInterviewHub/WebInterview/blob/master/Ajax.md#4请介绍一下xmlhttprequest对象) * [5.AJAX技术体系的组成部分有哪些。](https://gitee.com/WebInterviewHub/WebInterview/blob/master/Ajax.md#5ajax技术体系的组成部分有哪些) * [6.工作当中会和后台交互吗? 那你能说说封装好的 ajax里的几个参数吗 ?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/Ajax.md#6工作当中会和后台交互吗-那你能说说封装好的-ajax里的几个参数吗-) * [7.Ajax的实现流程是怎样的?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/Ajax.md#7ajax的实现流程是怎样的) * [8.AJAX请求总共有多少种CALLBACK](https://gitee.com/WebInterviewHub/WebInterview/blob/master/Ajax.md#8ajax请求总共有多少种callback) * [9.AJAX有哪些有点和缺点?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/Ajax.md#9ajax有哪些有点和缺点) * [10.Ajax 解决浏览器缓存问题?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/Ajax.md#10ajax-解决浏览器缓存问题) * [参考链接](https://gitee.com/WebInterviewHub/WebInterview/blob/master/Ajax.md#参考链接) ## Glup_Grunt * [1.Grunt的特点](https://gitee.com/WebInterviewHub/WebInterview/blob/master/Glup_Grunt.md#1grunt的特点) * [2.Gulp和Grunt的异同点](https://gitee.com/WebInterviewHub/WebInterview/blob/master/Glup_Grunt.md#2gulp和grunt的异同点) * [3.差异和不同](https://gitee.com/WebInterviewHub/WebInterview/blob/master/Glup_Grunt.md#3差异和不同) * [4.I/O流程的不同](https://gitee.com/WebInterviewHub/WebInterview/blob/master/Glup_Grunt.md#4io流程的不同) * [5.Gulp中的流](https://gitee.com/WebInterviewHub/WebInterview/blob/master/Glup_Grunt.md#5gulp中的流) * [6.为什么应该使用流?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/Glup_Grunt.md#6为什么应该使用流) * [7.为什么要使用Grunt?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/Glup_Grunt.md#7为什么要使用grunt) * [8.Grunt都有哪些插件?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/Glup_Grunt.md#8grunt都有哪些插件) * [9.哪些人都在使用Grunt?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/Glup_Grunt.md#9哪些人都在使用grunt) * [10.Gulp优点:](https://gitee.com/WebInterviewHub/WebInterview/blob/master/Glup_Grunt.md#10gulp优点) * [参考链接](https://gitee.com/WebInterviewHub/WebInterview/blob/master/Glup_Grunt.md#参考链接) ## Vue * [1.vue 优点?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/Vue.md#1vue-优点) * [2.vue 父组件向子组件传递数据?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/Vue.md#2vue-父组件向子组件传递数据) * [3.子组件像父组件传递事件?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/Vue.md#3子组件像父组件传递事件) * [4.v-show 和 v-if 指令的共同点和不同点?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/Vue.md#4v-show-和-v-if-指令的共同点和不同点) * [5.如何让 CSS 只在当前组件中起作用?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/Vue.md#5-如何让-css-只在当前组件中起作用) * [6.keep-alive的作用是什么](https://gitee.com/WebInterviewHub/WebInterview/blob/master/Vue.md#6keep-alive的作用是什么) * [7.如何获取 dom?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/Vue.md#7如何获取-dom) * [8.说出几种 vue 当中的指令和它的用法?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/Vue.md#8说出几种-vue-当中的指令和它的用法) * [9.vue-loader 是什么?使用它的用途有哪些?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/Vue.md#9vue-loader-是什么使用它的用途有哪些) * [10.为什么使用 key?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/Vue.md#10为什么使用-key) * [11.axios 及安装?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/Vue.md#11axios-及安装) * [12.v-modal 的使用。](https://gitee.com/WebInterviewHub/WebInterview/blob/master/Vue.md#12v-modal-的使用) * [13.请说出 vue.cli 项目中 src 目录每个文件夹和文件的用法?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/Vue.md#13请说出-vuecli-项目中-src-目录每个文件夹和文件的用法) * [14.分别简述 computed 和 watch 的使用场景](https://gitee.com/WebInterviewHub/WebInterview/blob/master/Vue.md#14-分别简述-computed-和-watch-的使用场景) * [15.v-on 可以监听多个方法吗?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/Vue.md#15v-on-可以监听多个方法吗) * [16.$nextTick 的使用](https://gitee.com/WebInterviewHub/WebInterview/blob/master/Vue.md#16nexttick-的使用) * [17.vue 组件中 data 为什么必须是一个函数?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/Vue.md#17vue-组件中-data-为什么必须是一个函数) * [18. 渐进式框架的理解](https://gitee.com/WebInterviewHub/WebInterview/blob/master/Vue.md#18-渐进式框架的理解) * [19.Vue 中双向数据绑定是如何实现的?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/Vue.md#19vue-中双向数据绑定是如何实现的) * [20. 单页面应用和多页面应用区别及优缺点](https://gitee.com/WebInterviewHub/WebInterview/blob/master/Vue.md#20-单页面应用和多页面应用区别及优缺点) * [21.v-if 和 v-for 的优先级](https://gitee.com/WebInterviewHub/WebInterview/blob/master/Vue.md#21v-if-和-v-for-的优先级) * [22.assets 和 static 的区别](https://gitee.com/WebInterviewHub/WebInterview/blob/master/Vue.md#22assets-和-static-的区别) * [23.vue 常用的修饰符](https://gitee.com/WebInterviewHub/WebInterview/blob/master/Vue.md#23vue-常用的修饰符) * [24.vue 的两个核心点](https://gitee.com/WebInterviewHub/WebInterview/blob/master/Vue.md#24vue-的两个核心点) * [25.vue 和 jQuery 的区别](https://gitee.com/WebInterviewHub/WebInterview/blob/master/Vue.md#25vue-和-jquery-的区别) * [26. 引进组件的步骤](https://gitee.com/WebInterviewHub/WebInterview/blob/master/Vue.md#26-引进组件的步骤) * [27.delete 和 Vue.delete 删除数组的区别](https://gitee.com/WebInterviewHub/WebInterview/blob/master/Vue.md#27delete-和-vuedelete-删除数组的区别) * [28.SPA 首屏加载慢如何解决](https://gitee.com/WebInterviewHub/WebInterview/blob/master/Vue.md#28spa-首屏加载慢如何解决) * [29.Vue-router 跳转和 location.href 有什么区别](https://gitee.com/WebInterviewHub/WebInterview/blob/master/Vue.md#29vue-router-跳转和-locationhref-有什么区别) * [30. vue slot](https://gitee.com/WebInterviewHub/WebInterview/blob/master/Vue.md#30-vue-slot) * [31. 你们 vue 项目是打包了一个 js 文件,一个 css 文件,还是有多个文件?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/Vue.md#31-你们-vue-项目是打包了一个-js-文件一个-css-文件还是有多个文件) * [32.Vue 里面 router-link 在电脑上有用,在安卓上没反应怎么解决?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/Vue.md#32vue-里面-router-link-在电脑上有用在安卓上没反应怎么解决) * [33.Vue2 中注册在 router-link 上事件无效解决方法](https://gitee.com/WebInterviewHub/WebInterview/blob/master/Vue.md#33vue2-中注册在-router-link-上事件无效解决方法) * [34.RouterLink 在 IE 和 Firefox 中不起作用(路由不跳转)的问题](https://gitee.com/WebInterviewHub/WebInterview/blob/master/Vue.md#34routerlink-在-ie-和-firefox-中不起作用路由不跳转的问题) * [35.axios 的特点有哪些](https://gitee.com/WebInterviewHub/WebInterview/blob/master/Vue.md#35axios-的特点有哪些) * [36. 请说下封装 vue 组件的过程?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/Vue.md#36-请说下封装-vue-组件的过程) * [37.params 和 query 的区别](https://gitee.com/WebInterviewHub/WebInterview/blob/master/Vue.md#37params-和-query-的区别) * [38.vue 初始化页面闪动问题](https://gitee.com/WebInterviewHub/WebInterview/blob/master/Vue.md#38vue-初始化页面闪动问题) * [39.vue 更新数组时触发视图更新的方法](https://gitee.com/WebInterviewHub/WebInterview/blob/master/Vue.md#39vue-更新数组时触发视图更新的方法) * [40.vue 常用的 UI 组件库](https://gitee.com/WebInterviewHub/WebInterview/blob/master/Vue.md#40vue-常用的-ui-组件库) * [41. Vue的生命周期?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/Vue.md#41-vue的生命周期) * [42.虚拟DOM和DIFF算法?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/Vue.md#42虚拟dom和diff算法) * [43.vue2和vue3原理?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/Vue.md#43vue2和vue3原理) * [44.生命周期钩子的一些使用方法:](https://gitee.com/WebInterviewHub/WebInterview/blob/master/Vue.md#44生命周期钩子的一些使用方法) * [45.开发中常用的指令有哪些?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/Vue.md#45开发中常用的指令有哪些) * [参考链接](https://gitee.com/WebInterviewHub/WebInterview/blob/master/Vue.md#参考链接) ## ES6 * [1.es5和es6的区别,说一下你所知道的es6](https://gitee.com/WebInterviewHub/WebInterview/blob/master/ES6.md#1es5和es6的区别说一下你所知道的es6) * [2.var、let、const之间的区别](https://gitee.com/WebInterviewHub/WebInterview/blob/master/ES6.md#2varletconst之间的区别) * [3.使用箭头函数应注意什么?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/ES6.md#3使用箭头函数应注意什么) * [4.ES6的模板字符串有哪些新特性?并实现一个类模板字符串的功能](https://gitee.com/WebInterviewHub/WebInterview/blob/master/ES6.md#4es6的模板字符串有哪些新特性并实现一个类模板字符串的功能) * [5.介绍下 Set、Map的区别?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/ES6.md#5介绍下-setmap的区别) * [6.ECMAScript 6 怎么写 class ,为何会出现 class?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/ES6.md#6ecmascript-6-怎么写-class-为何会出现-class) * [7.Promise构造函数是同步执行还是异步执行,那么 then 方法呢?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/ES6.md#7promise构造函数是同步执行还是异步执行那么-then-方法呢) * [8.setTimeout、Promise、Async/Await 的区别](https://gitee.com/WebInterviewHub/WebInterview/blob/master/ES6.md#8settimeoutpromiseasyncawait-的区别) * [9.promise有几种状态,什么时候会进入catch?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/ES6.md#9promise有几种状态什么时候会进入catch) * [10.使用结构赋值,实现两个变量的值的交换](https://gitee.com/WebInterviewHub/WebInterview/blob/master/ES6.md#10使用结构赋值实现两个变量的值的交换) * [11.Promise 中reject 和 catch 处理上有什么区别](https://gitee.com/WebInterviewHub/WebInterview/blob/master/ES6.md#11promise-中reject-和-catch-处理上有什么区别) * [12.理解 async/await以及对Generator的优势](https://gitee.com/WebInterviewHub/WebInterview/blob/master/ES6.md#12理解-asyncawait以及对generator的优势) * [参考资料](https://gitee.com/WebInterviewHub/WebInterview/blob/master/ES6.md#参考资料) ## jQuery * [1.jQuery库中的$()是什么?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/jQuery.md#1jquery库中的是什么) * [2.网页上有5个div元素,如何使用 jQuery来选择它们?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/jQuery.md#2网页上有5个div元素如何使用-jquery来选择它们) * [3.$(this) 和 this 关键字在 jQuery 中有何不同?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/jQuery.md#3this-和-this-关键字在-jquery-中有何不同) * [4.使用CDN加载 jQuery库的主要优势是什么?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/jQuery.md#4使用cdn加载-jquery库的主要优势是什么) * [5.jQuery中的方法链是什么?使用方法链有什么好处?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/jQuery.md#5jquery中的方法链是什么使用方法链有什么好处) * [6.如何将一个HTML元素添加到DOM树中的?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/jQuery.md#6如何将一个html元素添加到dom树中的) * [7.说出jQuery中常见的几种函数以及他们的含义是什么?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/jQuery.md#7说出jquery中常见的几种函数以及他们的含义是什么) * [8.jQuery 能做什么?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/jQuery.md#8jquery-能做什么) * [9.jquery中的选择器和CSS中的选择器有区别吗?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/jQuery.md#9jquery中的选择器和css中的选择器有区别吗) * [10.jQuery的特点都有什么?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/jQuery.md#10jquery的特点都有什么) * [参考资料](https://gitee.com/WebInterviewHub/WebInterview/blob/master/jQuery.md#参考资料) ## React * [1.什么是React?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/React.md#1什么是react) * [2.React有什么特点?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/React.md#2react有什么特点) * [3.列出React的一些主要优点。](https://gitee.com/WebInterviewHub/WebInterview/blob/master/React.md#3列出react的一些主要优点) * [4.React有哪些限制?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/React.md#4react有哪些限制) * [5.什么是JSX?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/React.md#5什么是jsx) * [6.你了解 Virtual DOM 吗?解释一下它的工作原理。](https://gitee.com/WebInterviewHub/WebInterview/blob/master/React.md#6你了解-virtual-dom-吗解释一下它的工作原理) * [7.为什么浏览器无法读取JSX?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/React.md#7为什么浏览器无法读取jsx) * [8.如何理解“在React中,一切都是组件”这句话?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/React.md#8如何理解在react中一切都是组件这句话) * [9.解释 React 中 render() 的目的。](https://gitee.com/WebInterviewHub/WebInterview/blob/master/React.md#9解释-react-中-render-的目的) * [10.什么是 Props?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/React.md#10什么是-props) * [11.React中的状态是什么?它是如何使用的?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/React.md#11react中的状态是什么它是如何使用的) * [12.React组件生命周期的阶段是什么?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/React.md#12react组件生命周期的阶段是什么) * [13.详细解释 React 组件的生命周期方法。](https://gitee.com/WebInterviewHub/WebInterview/blob/master/React.md#13详细解释-react-组件的生命周期方法) * [14.React中的事件是什么?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/React.md#14react中的事件是什么) * [15.React中的合成事件是什么?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/React.md#15react中的合成事件是什么) * [16.列出一些应该使用 Refs 的情况。](https://gitee.com/WebInterviewHub/WebInterview/blob/master/React.md#16列出一些应该使用-refs-的情况) * [17.什么是高阶组件(HOC)?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/React.md#17什么是高阶组件hoc) * [18.你能用HOC做什么?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/React.md#18你能用hoc做什么) * [19.什么是纯组件?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/React.md#19什么是纯组件) * [20.React 中 key 的重要性是什么?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/React.md#20react-中-key-的重要性是什么) * [21.什么是React 路由?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/React.md#21什么是react-路由) * [22.为什么需要 React 中的路由?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/React.md#22为什么需要-react-中的路由) * [23.列出 React Router 的优点。](https://gitee.com/WebInterviewHub/WebInterview/blob/master/React.md#23列出-react-router-的优点) * [24.类组件和函数组件之间有什么区别?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/React.md#24类组件和函数组件之间有什么区别) * [25.state 和 props有什么区别?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/React.md#25state-和-props有什么区别) * [26.constructor中super与props参数一起使用的目的是什么?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/React.md#26constructor中super与props参数一起使用的目的是什么) * [27.什么是受控组件?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/React.md#27什么是受控组件) * [28.使用React Hooks有什么优势?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/React.md#28使用react-hooks有什么优势) * [29.React中的StrictMode是什么?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/React.md#29react中的strictmode是什么) * [30.React context是什么?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/React.md#30react-context是什么) * [31.React Fiber是什么?](https://gitee.com/WebInterviewHub/WebInterview/blob/master/React.md#31react-fiber是什么) * [32.react diff 原理](https://gitee.com/WebInterviewHub/WebInterview/blob/master/React.md#32react-diff-原理) * [33.setState 和 replaceState 的区别](https://gitee.com/WebInterviewHub/WebInterview/blob/master/React.md#33setstate-和-replacestate-的区别) * [34.React 中有三种构建组件的方式](https://gitee.com/WebInterviewHub/WebInterview/blob/master/React.md#34react-中有三种构建组件的方式) * [35.应该在 React 组件的何处发起 Ajax 请求](https://gitee.com/WebInterviewHub/WebInterview/blob/master/React.md#35应该在-react-组件的何处发起-ajax-请求) * [参考资料](https://gitee.com/WebInterviewHub/WebInterview/blob/master/React.md#参考资料)