css
1,解决css全局污染
- vue scoped
Scope CSS 的本质是基于 HTML 和 CSS 属性选择器,即分别给 HTML 标签和 CSS 选择器添加 data-v-xxx;
- react moudle.css
模块化css文件。限定作用域。将原始类名编译成一个哈希字符串。
2,prefetch和preload 都是预加载方案
- preload告诉浏览器这个资源是这个页面
必须要的
- prefetch 告诉浏览器这个资源是这个页面
可能要的
3,回流和重绘
- 回流 dom的变化会影响到元素的几何属性 ,浏览器需要重新渲染dom树
- 元素的样式发生变化,但是不会影响其在文档流中的位置时,浏览器就会对元素进行重新绘制,这个过程就是重绘。
4,盒子模型
- 标准盒模型 box-sizing:content-box
- 怪异(IE)盒模型 box-sizing:border-box
5,less和sass
6,清除浮动
- 給父级添加高度
- 給浮动元素最后一元素后面添加一个空元素,设置clear:both
消除旁边的浮动元素对该元素的影响
- 給父级设置overflow:hidden或者overflow:auto
7,position
- releative 绝对定位
- absolute 相对定位
- fixed 固定定位
8,设置小于12px字体
- chrome私有css属性-webkit-text-size-adjust:none; 字体大小就不受限制了 27版本后不支持
- 使用css3 transform缩放属性-webkit-transform:scale(0.5);
- 使用图片
9,flex:1哪些缩写
- flex-grow:0
- flex-shrink:1
- flex-basis:auto
10,用css如何实现一个三角形
11,超出省略...
- 单行文本溢出:
- overflow: hidden; // 溢出隐藏
- text-overflow: ellipsis; // 溢出用省略号显示
- white-space: nowrap; // 规定段落中的文本不进行换行
- 多行文本溢出:
- overflow: hidden; // 溢出隐藏
- text-overflow: ellipsis; // 溢出用省略号显示
- display:-webkit-box; // 作为弹性伸缩盒子模型显示。
- -webkit-box-orient:vertical; // 设置伸缩盒子的子元素排列方式:从上到下垂直排列
- -webkit-line-clamp:3; // 显示的行数
12,实现一个宽高自适应的正方形
- 第一种方式
{
width:20%;
height:20vw
}
- 第二种方式
{
width:20%;
height:0px;
padding-top:20%
}
13,画一条0.5px的线
- 采用transform: scale()的方式,该方法用来定义元素的2D 缩放转换:
transform: scale(0.5,0.5);
- hr border等
14,如何解决1px问题
15,三栏布局
left{
width:200px;
height:200px;
position:absolute
}
right{
width:200px;
position:absolute
top:0;
right:0;
height:200px;
}
middle{
height:200px;
margin-left:200px;
margin-right:200px;
}
left{
float:left;
width:200px;
height:100px
}
right{
float:right;
height:100px;
width:200px
}
center{
heigth:100px;
margin-left:100px;
margin-right:100px;
}
father{
display:flex
height:100px
}
left{
width:200px;
}
right{
width:200px
}
center{
flex:1
}
16,margin重叠问题
js
1,原型链
- js中除了基本类型就只有对象类型,因为js没有class类的概念,所以就有了原型和原型链的概念。 每一个实例对象都有一个私有属性__proto__指向他的构造函数的原型对象prototype,该原型对象也有一个自己的原型对象proto,层层向上直到一个对象的原型对象为null
2,前端的继承方式
3,instanceOf原理
- 判断构造函数的prototype属性是否出现在原型链中的任何位置
4,es6的新特性 Set Map方法
5,箭头函数
6,symbol
- 私有变量,如果对象的key用symbol,则变成私有变量,无法遍历到。
7,promise
8,async await 同步的方式去写异步 async函数的返回是一个promise
9,闭包
10,垃圾回收机制
11,apply和call,bind。
12,js的加载会阻塞dom的渲染吗?怎么解决呢?async 和defer区别
13,HTML解析工作流程
14,Dom树是怎么生成的
15,深拷贝和浅拷贝
16,解决数组扁平化的方法
17, requestAnimationFrame和requestIdleCallback
18,DNS解析原理
19,现在浏览器我都是用多进程架构,你了解吗?线程和技程有什么区别
20,浏览器的缓存策略
21,前端模块化的机制
22,一般解决跨域都有哪些方案
23, common js和 es6 区别
24,前端缓存
25,一般解决跨域都有哪些方案?
26,XSS和CSRF是什么?攻击原理、攻击流程、防御策略