fe-learning
fe-learning copied to clipboard
京东面经
CSS:
- 垂直居中的方式
- 移动端的适配方案,1px的线如何画
- BFC, 原因,渲染机制
- 清除浮动的方法
- 输入URL,浏览器的渲染机制(很深,深入dom渲染(dom2,dom3),css渲染)
- eventloop(宏任务和微任务)
js和框架
- 跨域和解决方案
- 网络安全(具体措施和解决方案,最好项目中用到)
- VUE如何把tempale模版编译成VDOM树的
- diff算法的过程和复杂度
- vue和react的区别.
- 项目最难的点,怎么解决的
- webpack用过多少,多深,做过哪些优化
- vue的dom如何变异的(指令,dom树)
- vue的响应式原理(watcher创建和分配)$nextTick如何实现和原理
后端和网络编程
- http的三次握手的具体过程
- 用到了https吧,谈谈对https了解
- KOA用过,说一下中间件原理
- 说一下浏览器缓存机器,304的状态码表示什么含义
回答一下CSS部分吧。
CSS
垂直居中
- absolute + transform
- flex / grid
- absolute + margin
移动端适配及1px
- 移动端适配方案主要是
rem(相对于根元素的font-size),有JS和CSS queryMedia两种实现。额外的一点,em在font-size中使用是相对于父元素的字体大小,在其他属性中使用是相对于自身的字体大小,如width。 - 1px问题主要是像素密度导致的,解决方案一个是根据像素
radix设置meta-scale大小,一个是伪元素通过transform控制不同的缩放比例,这可能会影响清除浮动(有些清除浮动的方案为避免增加无意义元素会选用在伪元素设置)
BFC问题
渲染规则:
- 内部的Box会在垂直方向上一个接一个的放置,同一BFC下相邻元素的margin会发生重叠
- 块级格式上下文,作为一个特殊的区域,不受外部影响
- BFC元素不会和浮动的元素重叠(参考两栏布局)
- 内部浮动元素的高度也会参与计算,避免影响外部
如何形成:
- 具有 overflow 且值不是 visible 的块元素(overflow的值有visible、hidden、scroll、auto)
- 绝对定位(absolute或者fixed)
- 内联块(display:inline-block)
- 浮动元素
- 根元素
可以解决:
- 浮动元素导致高度塌陷(也就是清浮动),BFC里面浮动元素的高度也会参与计算
- 同一BFC下相邻元素边距折叠的问题,分成两个BFC~~
清除浮动的方法
- clear属性(在需要清除浮动影响的元素上或空白元素或伪元素),clear属性用于清除元素周围的浮动,指定它是否必须移动(清除浮动后)到在它之前的浮动元素下面
- 形成BFC
两栏布局
- float属性 + margin
- flex/grid
- float + BFC