欢迎光临散文网 会员登陆 & 注册

千锋教育web前端高频面试题视频教程,kerwin大话前端面试秘籍(附答案)

2023-07-20 16:31 作者:bili_95801281933  | 我要投稿

P1 HTML5面试题

1、HTML5结构语义化

简单来说就是在合适的时候用正确的标签做正确的事

好处:

对于开发者:便于代码的开发和维护,可以使代码的可阅读性更强

对于浏览器:有利于SEO,搜索引擎的爬虫依赖于标签确定上下文和各个关键字的权重

方便其他设备的解析,可以提高可访问性

2、HTML5的新特性

HTML已经不是SGML的子集,主要是关于图像、位置、存储、多任务等功能的增加

video、audio用于媒介回放

localStorage,用于将数据存储在本地

artice、footer、header、nav、section,语义化标签

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

webworker、websocke、Geolocationt等新技术

对纯表现和对可用性产生负面影响的元素进行删除,如basefont、big、center、frame等

对于浏览器不支持的,可以通过document。createElement创造标签,或者是使用一些成熟的库,如html5shim

3、cookie、sessionStorage、locaStroge的区别

cookie可以在标识当前使用者的身份,始终会在同源的http请求中携带,可以在浏览器和服务器之前传递,sessionStorage、locaStroge不会将数据发送给服务器,仅在本地保存

存储大小:cookie数据大小不能超过4k,sessionStorage、locaStroge可以达到5M或者更大

有效时间:locaStroge即使关闭浏览器数据都不会丢失,除非主动删除

sessionStorage在当前浏览器窗口关闭后会自动删除

cookie在有效期之内可以一直访问,有效期过后会自动删除

4、浏览器的渲染机制

处理HTML并创建DOM树

创建css构建CSSOM树

将DOM与CSSOM合并为一个渲染树

根据渲染树进行布局,计算每一个节点的位置

调用GPU绘制,合成图层显示在屏幕上

在构建CSSOM树会阻塞页面的渲染,应该尽量避免过多层叠,当HTMl遇到js会暂停dom的渲染,js加载完成后会从暂停的地方开始重新渲染,首页应该避免加载js文件

5、重绘和回流

重绘是当节点需要更改外观但不影响布局,如改变一个div的背景颜色

回流是指布局或者几何属性需要改变(计算机需要重新计算在设备视口内的确切位置和大小)回流一定会进行重绘,但是重绘不一定会引发回流

会导致出现回流的操作:

添加或者删除可见的DOM元素

元素的位置发生变化(外边框、内边框、边框大小、宽高等)

内容发生变化(文本变化或者是图片被另一个不同尺寸的图片代替)

减少方式(页面的性能优化)

批量的修改DOM,

对于复杂的效果,使用绝对定位让其脱离文档流

6、自定义属性(data)用法及其优势

获取和设置

传统方法:getAttribute获取,setAttribute设置(没有兼容问题)

HTML5新方法:data-变量名,通过当前节点的对象.dataset.变量名获取,通过当前节点的对象.dataset.变量名="值"进行设置(有兼容问题)

优点:可以使页面拥有更好的交互体验( 不需要使用Ajax或去服务器查询数据 )

P2、CSS面试题

1、box-sizing的有效值以及对应的规则

语法:box-sizing:content | border-box | inherit

box-sizing:content(默认值) 内容+border+padding = width

box-sizing:border-box(怪异盒子模型) 设置的边框内边距是包含在width内部

box-sizing:inherit 从父元素继承值

2、移动端的适配

meat viewport(视口),移动端浏览器不进行设置视口默认为980px,通过device-width将视口的宽度设置为设备的宽度

device-width属性:initial-scale--第一次进入页面的初始比例,minimum-scale:允许缩小最小比例,maximum-scale:允许放大最大比例,user-scalable:允许使用者缩放

图片的适配:img{max-width:100%}图片会自动缩放

媒体查询:针对不同的设备提前为网页设定各种css样式,自动检测屏幕宽度,加载对应的css文件

动态rem方案(等比缩放):px、em、rem区别

px-像素屏幕显示数据的基本点,em-相对单位(相对于父元素),rem-相对单位(相对于根元素)

P3、js高频面试题

1、如何最小化重绘和回流

需要对元素进行复杂操作时,可以先隐藏,操作完成后再显示

需要创建多个DOM节点时,使用DocumentFragment创建完成后一次性加入document

缓存Layout属性值,如:var left = elem.offssetLeft,这样多次使用left只会产生一次回流,

尽量避免table布局(table元素触发回流会导致table内部所有元素进行回流)

2、js的作用域链

全局函数无法查看局部函数的内部细节,但是局部函数可以向上查找,直到全局

如果在当前函数作用域中没用找到该属性和方法,会向上查找,直到全局

3、跨域问题和同源策略

同源策略就是浏览器的一种机制,只允许同源,也就是用协议、同域名、同端口的情况下才能进行数据交互

解决方案:

1)JSONP,主要依赖的时script标签不受同源策略的影响,src指向某一个接口地址,指定callback回调函数名称

2)CORS,依赖于服务器( 后端 )对前端请求体信息进行放行

3)请求代理,前端访问不存在跨域问题的代理服务器,代理服务器去访问目标服务器

2、原型链

如果一个对象想要访问一个属性,对象会在自己本身上找这个属性,没有会通过__proto__在其对应的构造函数中的prototype中寻找,没有就向上查找,直到Object,这个查找的过程就叫原型链

千锋教育web前端高频面试题视频教程,kerwin大话前端面试秘籍(附答案)的评论 (共 条)

分享到微博请遵守国家法律