面试题 总结

177 阅读1分钟
/**
 * 1堆栈
 * 堆 用于存放引用类型,内存不会自动释放。
 * 栈 用于存放基础类型,内存会自动分配和释放空间。
 * 引用类型是在栈中存放一个指针,在堆中存放数据。
 * 
 * 2进程和线程
 * CPU只能运行一个进程
 * 一个进程可以有多个线程
 * 浏览器是多进程的,每打开一个tab就是一个进程。
 * js是单线程
 * 
 * 3数组去重
 *  1 ES6 [...new Set(arr)]
 *  2 for嵌套for splice删除重复数据
 *  3 sort排序
 *  4 新数组 存放不同的
 * 
 * 4 虚拟DOM
 *  虚拟DOM 是一个javascript对象树,通过对象的属性来修饰 来对DOM描述,最终映射成真实的DOM
 *  简单来说虚拟DOM就是一个js对象。
 *  优点:通过diff算法 找到更改的 内容,只更新 这一部分 可以同时多个更改一起修改。传统的DO修改是每次都是重新绘制
 * 
 * 5 清除浮动
 *  1 overflow hidden
 *  2 设置父级高度
 *  3 伪元素:after{clear:both;visibility:hidden;display:block;content:''}
 * 
*/