2020年Web前端面试问题汇总(1)

今天边肖要和大家分享的文章是2020年Web前端面试题目总结。因为有很多小编要单独给大家介绍,所以今天就和小编一起来看看第一部分吧。希望这些面试问题能对准备找Web前端相关工作的朋友有所帮助。

1.写JavaScript有多少基本规范?

1)不要在同一行声明多个变量;

2)请使用= = =/!= =比较真/假或数值;

3)用宾语的字面量代替newObject的形式;

4)减少全局函数和全局变量的使用;

5)5)switch语句必须有一个默认分支;

6)if语句必须使用大括号;

7)for-in循环中的变量;

应该使用var关键字明确定义范围;

从而避免范围全球污染。

2.平衡二叉树呢?

自平衡二元搜索树

也被称为AVL树。

具有以下属性:

1)它是一棵空树或其左右子树。

高度差的绝对值不超过1,

左右子树都是平衡二叉树。

2)平衡二叉树一定是二叉查找树,反之亦然。

3)平衡二叉树常见的实现方法有红黑树、AVL、

替罪羊树,树,伸展树等。

最小二叉平衡树的节点公式如下:

f(n)= f(n-1)+f(n-2)+1备注:1为根节点。

F(n-1)是左子树中的节点数,

F(n-2)是右边子树中的节点数。

3.清除浮动,解决垂直外边距重叠的解决方案是什么?

问题描述:

1)不设置父元素的宽度和高度,大小由子元素支持;

一旦子元素浮动,父元素的高度就会折叠。

2)子元素设置边距顶部将作用于的父元素的边距顶部;

这将导致垂直外部边距重叠。

。clearfix::在,。clearfix::before{

内容:“”;

显示:表格;

明确:两者都有;

}

4 .会话存储、本地存储和cookie?

相似之处:

都用于浏览器端存储的缓存数据;

差异:

1)存储的内容是否发送到服务器。

设置Cookie后,数据将被发送到服务器。

造成一定的宽带浪费;Xxxstorage将保存数据

去当地不会造成宽带浪费;

2)不同的数据存储大小

Cookie数据不能超过4K,适合会话识别;

Xxxstorage数据存储量可达5M;

3)数据存储的有效期不同

cookie仅在设置了cookied过期时间时使用。

之前一直有效,即使关闭窗口或浏览器;

SessionStorage,仅在关闭浏览器前有效;

LocalStorage,数据存储永久有效;

4)不同的范围

Cookie和localStorage位于同一源和窗口中。

都是* * *享受的;

SessionStorage不在不同的浏览器窗口中。

享受在* * *,哪怕是同一个页面;

5.判断一个单词是否回文?

回文指的是将相同的单词或句子,

在下文中,位置被颠倒或颠倒,

创建一个头尾循环的场景,

这叫回文,也叫回文。

比如卡卡·雷迪维德

letcheckPalindrom =(str)= & gt;{

returnstr===

str.split(“”)。反转()。联接(“”);

}

6.不使用临时变量交换两个整数?

输入a=3,b=1,

输出a=1,b=3。

letswap=(a,b)= & gt;{

b = b-a;

a = a+b;

b = a-b;

return[a,b];

}

7.请用html5写至少五个新标签,并说明它们的语义和应用场景?

Section:定义文档中的一章;

Nav:定义一个只包含导航链接的章节;

页眉:定义页面或章节的页眉;

它通常包含徽标、页面标题和可导航的目录。

页脚:定义页面或章节的尾部;

它通常包含版权信息、法律信息链接和反馈建议的地址。

旁白:定义与页面内容相关性低的内容,

如果删了,剩下的还是合理的。

8.8.get和post请求在缓存上有什么区别?

get请求类似于查找过程,在查找过程中,用户获取数据,

您不必每次都连接到数据库,因此可以使用缓存。

岗位不一样。post一般做修改和删除的工作。

所以你要和数据库交互,所以不能用缓存。

所以get请求适合请求缓存。

9.异步回调地狱怎么解决?

承诺、生成器、异步/等待

10.图片的懒加载和预加载?

预加载:预先加载图片,

当用户需要查看它时,他们可以直接

从本地缓存渲染。

延迟加载:延迟加载的主要目的

作为服务器前端的优化,

减少请求数量或延迟请求数量。

两项技术的精髓:

他们的行为是相反的,

一种是提前加载,

一个是速度慢,甚至没有加载。

懒加载对服务器前端有一定的影响。

应力消除效果,

预加载会增加服务器前端的压力。

11.bind,apply,call有什么区别?

通过应用和调用改变函数的这个方向,

这两个函数的第一个参数是相同的,

指示要更改指向的对象,

第二个参数apply是一个数组。

并且调用的形式是arg1,arg2...

通过bind更改此的范围

将返回一个新函数,

此功能不会立即执行。

12.js如何控制一次加载一张图片,加载后再加载下一张?

方法1:

var obj = new image();

obj . src = " #/21 . jpg ";

obj.onload=function(){

document.getElementById("pic ")

。innnerHTML =

}

装货