面试题目汇总及社交知识点
-
- 1. 为什么要用Backbone.js
- 2. 不同模块规范的区别
- 3. Webpack的工作原理
- 4. 为什么各大项目纷纷转成Webpack构建
- 5. Cookie & Session的区别
- 6. Session 的实现原理
- 7.HTTP请求方法中那些事幂等性的
- 8. 跨域处理方案
- 9. JSONP的缺点以及安全隐患
- 10. 为什么要做单元测试
- 11. 黑盒测试与白盒测试的区别
- 12. 怎样实现测试覆盖率
- 13. Async & Await 的使用
- 14. 块级元素、行内元素、inline-block的区别
- 15. 水平居中的办法
- 16. String、Array常用的方法
- 17. 输入一个URL到呈现页面的过程
- 18.Vue.js组件的生命周期
- 19. Git怎么合并提交记录
- 20. Linux常用的命令
- 21. HTTP2新特性
1. 为什么要用Backbone.js
答:Backbone 为复杂Javascript应用程序提供模型(models)、集合(collections)、视图(views)的结构。其中模型用于绑定键值数据和自定义事件;集合附有可枚举函数的丰富API; 视图可以声明事件处理函数,并通过RESTful JSON接口连接到应用程序。
主要组成:
1.model:创建数据,进行数据验证,销毁或者保存到服务器上
2.collection:可以增加元素,删除元素,获取长度,排序,比较等一系列工具方法,说白了就是一个保存 models的集合类
3.view:绑定html模板,绑定界面元素的事件,初始的渲染,模型值改变后的重新渲染和界面元素的销毁等
优势:
- 将数据和界面很好的分离开来。
- 将事件的绑定很好的剥离出来,便于管理和迭代。
- 使得Javascript程序的模块化更加清晰、明了。
应用场景:
最适合的应用场景是单页面应用,并且页面上有大量数据模型,模型之间需要进行复杂的信息沟通。
2. 不同模块规范的区别
前端模块规范有: AMD,CMD,CommonJs,UMD
1.浏览器端
AMD是requireJs在推广过程中对模块定义的规范(异步模块规范)
CMD是seaJs在推广过程中对模块定义的规范(普通模块