20180920 前端面试题收集
1. H5新特性? sololearn - HTML5
2. JS内置对象? JS所有内置对象的属性和方法汇总 JS中的内置对象
3. 前端页面由哪三层构成?作用是什么?cndn
- 结构层 :搭建页面的结构
- 表示层 :设置页面的呈现效果
- 行为层 :实现页面的行为
4. 什么是模块化?简述你对模块化的理解。 前端模块化开发与开发规范 ES5之前以及ES6对模块化的实现
- ES5前: 通过RequireJS实现
- ES6: 原生支持模块化,通过import导入模块,export导出模块
模块化的JavaScript: CommonJS、AMD、NodeJS、RequireJS、SeaJS、curljs 等
5. Nodejs使用场景? Nodejs优缺点和适用场景 从原理上理解nodejs的适用场景
6. web应用从服务器主动推送数据到客户端有哪些方式?csdn
1) html5 websocket
2) WebSocket 通过 Flash
3) XHR长时间连接
4) XHR Multipart Streaming
5) 不可见的Iframe
6) <script>标签的长时间连接(可跨域)
7. 哪些常见的操作会出现内存泄漏? 前端内存泄漏探讨
内存泄漏(Memory Leak)是指程序中己动态分配的堆内存由于某种原因程序未释放或无法释放,造成系统内存的浪费,导致程序运行速度减慢甚至系统崩溃等严重后果。
内存泄漏指任何对象在您不再拥有或需要它之后仍然存在。
垃圾回收器定期扫描对象,并计算引用了每个对象的其他对象的数量。如果一个对象的引用数量为 0(没有其他对象引用过该对象),或对该对象的惟一引用是循环的,那么该对象的内存即可回收。
setTimeout 的第一个参数使用字符串而非函数的话,会引发内存泄漏。
闭包、控制台日志、循环(在两个对象彼此引用且彼此保留时,就会产生一个循环)