#### 1. 浏览器提供的符合W3C标准的DOM操作API、浏览器差异、兼容性
#### 2. 浏览器提供的浏览器对象模型BOM的全局API,浏览器差异、兼容性
#### 3. 大量DOM操作、海量数据的性能优化( 合并操作、Diff、requestAnimationFrame等 )
#### 4. 浏览器海量数据存储、操作性能优化
1. 暂无答案
#### 5. DOM事件流的具体实现机制、不同浏览器的差异、事件代理
1. 查看JS Note中的DOM记录
#### 6. 前端发起网络请求的几种方式及其底层实现、可以手写原生ajax、fetch、可以熟练使用第三方库
#### 7. 浏览器的同源策略,如何避免同源策略,几种方式的异同点以及如何选型
1. 同源策略:是指:协议 + 域名 + 端口 三者相同,即便两个不同的域名指向同一个IP地址,也非同源
2. 同源策略的作用:如果没有同源策略,浏览器很容易受到XSS、CSRF等攻击
3. 九种跨域方案:实际中使用最多的是CORS和NGING反向代理
4. CORS:不限制HTTP请求方式
5. JSONP:限制使用GET请求
6. Node & nginx :本质都是通过同源策略对服务器不加限制
7. postMessage + WebSocket + window.name + iframe + location.hash + iframe + document.domain + iframe
[https://segmentfault.com/a/1190000018017118](https://segmentfault.com/a/1190000018017118)
#### 8. 浏览器提供的几种存储机制、优缺点、开发中正确的选择
1. 浏览器提供了四种存储机制: Cookies localStorage sessionStorage indexedDB
2. cookie:时间由过期时长设置,大小为4K,每次会随请求发送到服务器,两种设置方式,服务端响应头设置SetCookie,本地通过document.cookie可以读写cookie
3. localStorage:保存的数据长期存在,大小为5M左右,仅在客户端使用,不和服务端进行通信
4. sessionStorage:保存的数据在当前窗口关闭后清空,大小也为5M左右,仅在客户端使用,不和服务端通信
5. indexedDB:大小无上限,是运行在浏览器上的非关系型数据库,大小无上限,异步存取,可存储所有类型的数据,包括JS对象,字符串,以及二进制文件等等类型
6. localStorage.getItem、setItem、removeItem、clear
#### 9. 浏览器跨标签通信