web面试题

##web面试题

优化前端的方法:减少http请求次数,js,css源码压缩,图片的大小控制,cdn的托管,data缓存,图片服务器,减少标签的浪费,减少dom的操作次数,优化js的性能,少用全局变量,缓存dom节点查找的结果,图片预加载。

http状态码及其含义:1xx信息状态码,2xx成功状态码,3xx重定向、02、03临时重定向,4xx客户端错误,5xx服务器错误

语义化:标签的正确用运,让页面内容结构化,便于浏览器和搜索引擎解析,便于爬虫的爬取。

浏览器的内核理解:渲染引擎和js引擎,渲染引擎负责取得网页的内容,整理讯息,以及计算网页的显示方式,然后回输出到显示器或打印机。js引擎负责解析和执行js来实现网页的动态效果。

常见的浏览器内核:Trident内核:搜狗、360,Gecko内核:火狐,opera内核,Webkit内核:谷歌。

cookie是为了标识网站用户身份而储存在用户本地终端上的数据,HTTP同源的请求中携带,会在浏览器和服务器间来回传递。
cookie大小4kb,sesstionStorage和localStorage也有大小限制,达到5mb或更大。
sesstionStorage数据在当前窗口关闭后删除,localStorage长时间存储数据,cookie在其中设置有效时间,在有效时间内不会删除。

xhtml和html的区别:xhtml兼容各大浏览器、手机,并且快速、正确的编译网页,xhtml必须被正确的嵌套,闭合,区分大小写,文档必须拥有根元素

行内元素:a b span img input 行内元素不可以设置宽高,不独占一行
块级元素:div ul ol li h1 h2 h3 h4 … 块级元素可以设置宽高,独占一行

html的全局属性:class id style title

src用于替换当前元素 href用于在当前文档和引用资源之间确立关系

每个函数都有prototype属性,除了Function。prototype.bind(),该属性指向原型,每个对象都有 proto 属性,指向了创建该对象的构造函数的原型。其实这个属性指向了 [[prototype]],但是 [[prototype]]是内部属性,我们并不能访问到,所以使用 _proto_来访问。
对象可以通过 proto 来寻找不属于该对象的属性,proto 将对象连接起来组成了原型链。

async和await优缺点:相对于promise来说,优势在于处理then的调用链,能更清楚准确的写出代码。缺点在于滥用await可能会导致性能的问题,因为await会阻塞代码,也许之后的异步并不依赖于前者,但仍等待前者完成,导致代码失去了并发性。

setTimeout倒计时误差,js是单线程,所以倒计时的误差其实没有完全解决,可能的原因有:1.回调中的,2.浏览器中的各种事件导致的

深拷贝:JSON.parse(JSON.stringify(object))
缺点:有局限性 会忽略undefined,symbol,不能序列化函数,不能解决循环引用的对象

typeof和instanceof区别:typeof对于基本类型,除了null都可以显示正确的类性。typeof对于对象,除了函数都会显示object。 instanceof可以正确的判断对象的类型,因为内部机制是通过判断对象的原型链中是不是能找到类型的prototype。

原型/构造函数/实例:
原型:一个简单的对象,用于实现对象的属性继承。可用obj._proto_进行访问。
构造函数:可以通过new来新建一个对象的函数
实例:通过构造函数和new创建出来的对象,便是实例
实例.proto=原型
原型.constructor
=构造函数
构造函数.prototype===原型

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值