常见的web前端面试题及答案分享

常见的web前端面试题及答案分享,第1张

1、 说下行内元素和块级元素的区别?行内块元素的兼容性使用?(IE8 以下)

答:行内元素:会在水平方向排列,不能包含块级元素,设置width无效,height无效(可以设置line-height),margin上下无效,padding上下无效。块级元素:各占据一行,垂直方向排列。从新行开始结束接着一个断行。兼容性:display:inline-block*display:inline*zoom:1。

2、box-sizing常用的属性有哪些?分别有什么作用?

答:box-sizing: content-box|border-box|inherit。content-box:宽度和高度分别应用到元素的内容框。在宽度和高度之外绘制元素的内边距和边框(元素默认效果)。

border-box:元素指定的任何内边距和边框都将在已设定的宽度和高度内进行绘制。通过从已设定的宽度和高度分别减去边框和内边距才能得到内容的宽度和高度。

3、Doctype作用?标准模式与兼容模式各有什么区别?

答:告知浏览器的解析器用什么文档标准解析这个文档。DOCTYPE不存在或格式不正确会导致文档以兼容模式呈现。

标准模式的排版和JS运作模式都是以该浏览器支持的最高标准运行。在兼容模式中,页面以宽松的向后兼容的方式显示,模拟老式浏览器的行为以防止站点无法工作。

4、html5有哪些新特性?如何处理HTML5新标签的浏览器兼容问题?如何区分 HTML 和 HTML5?

答:HTML5 现在已经不是 SGML 的子集,主要是关于图像,位置,存储,多任务等功能的增加。

(1)绘画 canvas

(2)用于媒介回放的 video 和 audio 元素

(3)本地离线存储 localStorage 长期存储数据,浏览器关闭后数据不丢失

(4)sessionStorage 的数据在浏览器关闭后自动删除

(5)语意化更好的内容元素,比如 article、footer、header、nav、section

(6)表单控件,calendar、date、time、email、url、search

(7)新的技术webworker, websocket, Geolocation

IE8/IE7/IE6支持通过document.createElement方法产生的标签,可以利用这一特性让这些浏览器支持HTML5新标签,浏览器支持新标签后,还需要添加标签默认的样式。当然也可以直接使用成熟的框架、比如html5shim。

以上就是环球青藤小编关于web前端面试题的相关分享,希望对大家有所帮助,想要了解更多相关内容,请及时关注本平台并进行查看!

今天小编要跟大家分享的文章是关于2020年Web前端面试题汇总。由于内容较多小编分开为大家介绍,今天首先来和小编一起看一看第一部分的内容,希望这些面试题能够对正准备找Web前端相关工作的小伙伴们有所帮助。

1.说几条写JavaScript的基本规范?

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

2)请使用===/!==来比较true/false或者数值

3)使用对象字面量替代newObject这种形式

4)减少使用全局函数,全局变量

5)switch语句必须带有default分支

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

7)for-in循环中的变量

应该使用var关键字明确限定作用域

从而避免作用域全局污染。

2.说说平衡二叉树?

平衡二叉搜索树(Self-balancingbinarysearchtree)

又被称为AVL树。

具有以下性质:

1)它是一棵空树或它的左右两个子树

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

并且左右两个子树都是一棵平衡二叉树。

2)平衡二叉树必定是二叉搜索树,反之则不一定。

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

替罪羊树、Treap、伸展树等。

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

F(n)=F(n-1)+F(n-2)+1备注:1是根节点,

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

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

3.清除浮动和解决垂直外边距重叠的解决方案?

问题描述:

1)父元素没有设置宽高,尺寸由子元素撑起

子元素一旦浮动,父元素高度会发生塌陷。

2)子元素设置margin-top会作用的父元素的margin-top

此时会造成垂直外边距重叠。

.clearfix::after,.clearfix::before{

content:''

display:table

clear:both

}

4.sessionStorage、localStorage和cookie?

相同点:

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

不同点:

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

当设置了Cookie后,数据会发送到服务器端,

造成一定的宽带浪费xxxstorage则会将数据保存

到本地,不会造成宽带浪费

2)数据存储大小不同

Cookie数据不能超过4K,适用于会话标识

xxxstorage数据存储可以达到5M

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

cookie只在设置了Cookid过期时间

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

sessionStorage,仅在关闭浏览器之前有效

localStorage,数据存储永久有效

4)作用域不同

cookie和localStorage是在同源同窗口中

都是共享的

sessionStorage不在不同的浏览器窗口

中共享,即使是同一个页面

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

回文是指把相同的词汇或句子,

在下文中调换位置或颠倒过来,

产生首尾回环的情景,

叫做回文,也叫回环。

比如cacac,redivider。

letcheckPalindrom=(str)=>{

returnstr===

str.split('').reverse().join('')

}

6.不借助临时变量,进行两个整数的交换?

输入a=3,b=1,

输出a=1,b=3

letswap=(a,b)=>{

b=b-a

a=a+b

b=a-b

return[a,b]

}

7.请写出至少5个html5新增的标签,并说明其语义和应用场景?

section:定义文档中的一个章节

nav:定义只包含导航链接的章节

header:定义页面或章节的头部

它经常包含logo、页面标题和导航性的目录。

footer:定义页面或章节的尾部

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

aside:定义和页面内容关联度较低的内容,

如果被删除,剩下的内容仍然很合理。

8.get和post请求在缓存方面的区别?

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

可以不用每次都与数据库连接,所以可以使用缓存。

post不同,post做的一般是修改和删除的工作,

所以必须与数据库交互,所以不能使用缓存。

因此get请求适合于请求缓存。

9.如何解决异步回调地狱?

promise、generator、async/await

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

预加载:提前加载图片,

当用户需要查看时可直接

从本地缓存中渲染。

懒加载:懒加载的主要目的

是作为服务器前端的优化,

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

两种技术的本质:

两者的行为是相反的,

一个是提前加载,

一个是迟缓甚至不加载。

懒加载对服务器前端有一定

的缓解压力作用,

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

11.bind,apply,call的区别?

通过apply和call改变函数的this指向,

这两个函数的第一个参数都是一样的,

表示要改变指向的那个对象,

第二个参数,apply是数组,

而call则是arg1,arg2...这种形式。

通过bind改变this作用域

会返回一个新的函数,

这个函数不会马上执行。

12.js怎么控制一次加载一张图片,加载完后再加载下一张?

方法一:

varobj=newImage()

obj.src="#/21.jpg"

obj.onload=function(){

document.getElementById("pic")

.innnerHTML=""

}

加载中

方法二:

varobj=newImage()

obj.src="#/21.jpg"

obj.onreadystatechange=function(){

if(this.readyState=="complete"){

document.getElementById("pic")

.innnerHTML=""

}

}

加载中

以上就是小编今天为大家分享的关于2020年Web前端面试题汇总的文章,希望本篇文章能够对想要参加web前端面试的小伙伴们有所帮助,想要了解更多Web前端相关知识记得关注北大青鸟Web培训官网。最后祝愿小伙伴们面试成功,成为一名优秀的Web前端工程师。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7458092.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-05
下一篇 2023-04-05

发表评论

登录后才能评论

评论列表(0条)

保存