运行环境

我们需要理清语言和环境的关系:

ECMAScript描述了 JavaScript语言的语法和基本对象规范 浏览器作为 JavaScript的一种运行环境,为它提供了:文档对象模型( DOM),描述处理网页内容的方法和接口、浏览器对象模型( BOM),描述与浏览器进行交互的方法和接口 Node也是 JavaScript的一种运行环境,为它提供了操作 I/O、网络等 API

(一)浏览器API

1.浏览器提供的符合 W3C标准的 DOM操作 API、浏览器差异、兼容性

2.浏览器提供的浏览器对象模型 ( BOM)提供的所有全局 API、浏览器差异、兼容性

3.大量 DOM操作、海量数据的性能优化(合并操作、 Diff、 requestAnimationFrame等)

4.浏览器海量数据存储、操作性能优化

5. DOM事件流的具体实现机制、不同浏览器的差异、事件代理

6.前端发起网络请求的几种方式及其底层实现、可以手写原生 ajax、 fetch、可以熟练使用第三方库

7.浏览器的同源策略,如何避免同源策略,几种方式的异同点以及如何选型

8.浏览器提供的几种存储机制、优缺点、开发中正确的选择

9.浏览器跨标签通信

(二)浏览器原理

1.各浏览器使用的 JavaScript引擎以及它们的异同点、如何在代码中进行区分

2.请求数据到请求结束与服务器进行了几次交互

3.可详细描述浏览器从输入 URL到页面展现的详细过程

4.浏览器解析 HTML代码的原理,以及构建 DOM树的流程

5.浏览器如何解析 CSS规则,并将其应用到 DOM树上

6.浏览器如何将解析好的带有样式的 DOM树进行绘制

7.浏览器的运行机制,如何配置资源异步同步加载

8.浏览器回流与重绘的底层原理,引发原因,如何有效避免

9.浏览器的垃圾回收机制,如何避免内存泄漏

10.浏览器采用的缓存方案,如何选择和控制合适的缓存方案

(三)Node

1.理解 Node在应用程序中的作用,可以使用 Node搭建前端运行环境、使用 Node操作文件、操作数据库等等

2.掌握一种 Node开发框架,如 Express, Express和 Koa的区别

3.熟练使用 Node提供的 API如 Path、 Http、 ChildProcess等并理解其实现原理

4. Node的底层运行原理、和浏览器的异同

5. Node事件驱动、非阻塞机制的实现原理

Last Updated: 10/24/2019, 6:12:57 PM