baidu 一面

obje.create

this 指向

new

迭代器

for in 和 for of

错误上报

http 和 https 的区别

HTTPS 在 HTTP 的基础上加入了 SSL 协议,SSL 依靠证书来验证服务器的身份,并为浏览器和服务器之间的通信加密。

HTTPS 协议的主要作用可以分为两种:一种是建立一个信息安全通道,来保证数据传输的安全;另一种就是确认网站的真实性。

HTTPS 和 HTTP 的区别主要如下:

1、https 协议需要到 ca 申请证书,一般免费证书较少,因而需要一定费用。

2、http 是超文本传输协议,信息是明文传输,https 则是具有安全性的 ssl 加密传输协议。

3、http 和 https 使用的是完全不同的连接方式,用的端口也不一样,前者是 80,后者是 443。

https传输过程

HTTPS 在内容传输的加密上使用的是对称加密,非对称加密只作用在证书验证阶段。

首屏渲染优化

bundle analysis 打包分析 code coverage 代码覆盖率 magic comments 魔法注释 prefeching/preloading 预加载 code splitting 代码分割 lazy loading 懒加载(按需加载) babel, babel-polyfill 与 babel-runtime tree shaking 摇树, 或者叫剪枝 sourcemap 源码映射配置

浏览器的缓存

usestate 的实现原理

讲一讲 useMemo 和 useCallback 的区别

node eventloop 和 chrome 的区别

关于闭包

box-sizing

属性可以被用来调整这些表现:

content-box 是默认值。如果你设置一个元素的宽为 100px,那么这个元素的内容区会有 100px 宽,并且任何边框和内边距的宽度都会被增加到最后绘制出来的元素宽度中。

border-box 告诉浏览器:你想要设置的边框和内边距的值是包含在 width 内的。也就是说,如果你将一个元素的 width 设为 100px,那么这 100px 会包含它的 border 和 padding,内容区的实际宽度是 width 减去(border + padding)的值。大多数情况下,这使得我们更容易地设定一个元素的宽高。

译者注: border-box 不包含 margin

css 相关的样式

居中

左边订宽高 右边自适应

  1. 左边设置左浮动,右边宽度 100%; .left{ float: left } .right{ width: 100%; }

2.父容器设置 display:flex, right 设置为 flex: 1 body { display:flex; .right{ float: left; flex: 1 } }

  1. 使用负 margin

.container { float: left; width: 100%; }

.right{ margin-left: 200px; }

.left{ float: left; margin-left: -100%; }

  1. 绝对定位

左右两边都绝对定位 .left{ position: absolute; left: 0; } .right{ position:absolute; left: 200px; width: 100%; }

vue 中 watch 和 computed

computed 看上去是方法,但是实际上是计算属性,它会根据你所依赖的数据动态显示新的计算结果。计算结果会被缓存,computed 的值在 getter 执行后是会缓存的,只有在它依赖的属性值改变之后,下一次获取 computed 的值时才会重新调用对应的 getter 来计算

计算属性,实质就是将变量的 get 属性重写成了你所定义的那个函数,也就是说实现了数据劫持那一步,无所谓 data 还是 props,都可以作为计算属性函数的依赖值。

属性监听,其实也就是观察者模式将变量丢进了观察者收集器当中,变化可以被通知到。

选择器类型

下面列表中,选择器类型的优先级是递增的:

类型选择器(例如,h1)和伪元素(例如,::before) 类选择器 (例如,.example),属性选择器(例如,[type="radio"])和伪类(例如,:hover) ID 选择器(例如,#example)。

给元素添加的内联样式 (例如,style="font-weight:bold") 总会覆盖外部样式表的任何样式 ,因此可看作是具有最高的优先级。

margin 和 padding 的区别

padding 指的是元素实际内容和元素边框之间的距离,指的是边框和内容之间的留白区域 margin 指的是元素实际内容区域之外,加入的留白区域

  1. padding 会计入到元素的大小当中

  2. 在给背景添加样式时,padding 的样式是被渲染的,margin 是不会被渲染的。

最后更新于