【前端面试总结】

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/crazyshoushou/article/details/81531410

最近打算换一个新工作所有总结了一些面试的知识点,希望能帮到大家。废话不多说直接上内容。

1.width: calc(100% - 2px); 四则运算

    vw:viewpoint width,视窗宽度,1vw等于视窗宽度的1%。

    vh:viewpoint height,视窗高度,1vh等于视窗高度的1%。

    height: 100vh;就是高度全屏幕 可以试试

2.http 版本不同:1.长连接2.host域(建立tcp时一个ip对于一个主机对于一个host)3.带宽优化4.状态码

3.jsbridge:起原理是使用iframe已xml方式按照提前制定好的规定从而访问原生的功能

4.tcp三次握手:是为了减少服务器负担

5.DocumentFragment建立虚拟节点(不可选择)还可以先设置display:none创建完成再展示(减少重绘次数)

6.以下属性或方法会刷新渲染队列

  • offsetTop、offsetLeft、offsetWidth、offsetHeight
  • clientTop、clientLeft、clientWidth、clientHeight
  • scrollTop、scrollLeft、scrollWidth、scrollHeight
  • getComputedStyle()(IE中currentStyle)

7.feature queries css是不是使用display:flex grid布局 CSS网格组件介绍了一个新的长度单位 fr ,它表示网格容器中剩下的自由空间的一小部分。

8.vue的不足架构模式不是很清楚api到底是应该在vuex里面处理还是在组建里面处理;

9.vue使用object.defineProperty实现的响应式有两个缺陷。一不能检测到删除和增加属性这就是为什么data必须要声明,二如果对数组通过索引改变值不会被检测到。解决办法是Proxy但是兼容性不好

10.一行实现快排:

function quickSort(a) { return a.length <= 1 ? a : quickSort(a.slice(1).filter(item => item <= a[0])).concat(a[0], quickSort(a.slice(1).filter(item => item > a[0]))); }

猜你喜欢

转载自blog.csdn.net/crazyshoushou/article/details/81531410