fe-learning icon indicating copy to clipboard operation
fe-learning copied to clipboard

京东面经

Open LuciferKayle opened this issue 5 years ago • 1 comments

CSS:

  • 垂直居中的方式
  • 移动端的适配方案,1px的线如何画
  • BFC, 原因,渲染机制
  • 清除浮动的方法
  • 输入URL,浏览器的渲染机制(很深,深入dom渲染(dom2,dom3),css渲染)
  • eventloop(宏任务和微任务)

js和框架

  1. 跨域和解决方案
  2. 网络安全(具体措施和解决方案,最好项目中用到)
  3. VUE如何把tempale模版编译成VDOM树的
  4. diff算法的过程和复杂度
  5. vue和react的区别.
  6. 项目最难的点,怎么解决的
  7. webpack用过多少,多深,做过哪些优化
  8. vue的dom如何变异的(指令,dom树)
  9. vue的响应式原理(watcher创建和分配)$nextTick如何实现和原理

后端和网络编程

  • http的三次握手的具体过程
  • 用到了https吧,谈谈对https了解
  • KOA用过,说一下中间件原理
  • 说一下浏览器缓存机器,304的状态码表示什么含义

LuciferKayle avatar May 08 '20 02:05 LuciferKayle

回答一下CSS部分吧。

CSS

垂直居中

  • absolute + transform
  • flex / grid
  • absolute + margin

移动端适配及1px

  • 移动端适配方案主要是 rem (相对于根元素的 font-size),有 JSCSS queryMedia两种实现。额外的一点,emfont-size 中使用是相对于父元素的字体大小,在其他属性中使用是相对于自身的字体大小,如 width
  • 1px问题主要是像素密度导致的,解决方案一个是根据像素 radix 设置 meta-scale 大小,一个是伪元素通过transform控制不同的缩放比例,这可能会影响清除浮动(有些清除浮动的方案为避免增加无意义元素会选用在伪元素设置)

BFC问题

渲染规则:

  1. 内部的Box会在垂直方向上一个接一个的放置,同一BFC下相邻元素的margin会发生重叠
  2. 块级格式上下文,作为一个特殊的区域,不受外部影响
  3. BFC元素不会和浮动的元素重叠(参考两栏布局)
  4. 内部浮动元素的高度也会参与计算,避免影响外部

如何形成:

  • 具有 overflow 且值不是 visible 的块元素(overflow的值有visible、hidden、scroll、auto)
  • 绝对定位(absolute或者fixed)
  • 内联块(display:inline-block)
  • 浮动元素
  • 根元素

可以解决:

  • 浮动元素导致高度塌陷(也就是清浮动),BFC里面浮动元素的高度也会参与计算
  • 同一BFC下相邻元素边距折叠的问题,分成两个BFC~~

清除浮动的方法

  • clear属性(在需要清除浮动影响的元素上或空白元素或伪元素),clear属性用于清除元素周围的浮动,指定它是否必须移动(清除浮动后)到在它之前的浮动元素下面
  • 形成BFC

两栏布局

  • float属性 + margin
  • flex/grid
  • float + BFC

metroluffy avatar May 09 '20 02:05 metroluffy