前端面试题

1.定位有哪些?分别相对于谁定位?

fixed(固定定位):脱离文档流,相对于浏览器窗口进行定位
relative(相对定位):不脱离文档流,相对于其在原位置定位
absolute(绝对定位):脱离文档流,相对于最近的非static的父元素进行定位
static(静态定位):不脱离文档流,默认值
sticky(粘性定位):不脱离文档流,生成粘性定位的元素,位置根据正常文档流定位

2.如何解决跨域问题?

JSONP

JSONP的原理:动态创建script标签,通过script标签引入js文件,等到js文件载入成功后会执行url参数中指定的函数,并把我们需要的json数据作为参数传入。

由于同源策略,xmlHttpRequest只允许请求当前源的资源,为了实现跨域,就需要script标签实现跨域请求,然后在服务端JSON数据并执行回调函数,就解决了跨域的数据请求。

3.xml和json的区别

(1)数据体积方面
   JSON相比于xml,数据体积小,所以传输速度快。
(2)数据交互方面
  JSON和JS交互更加方便,更容易解析处理。
(3)数据描述方面
  JSON描述性比XML差,不便于书写理解。

4.说说TCP传输的三次握手和四次挥手策略

这个过程使用了TCP标志:SYN和ACK

三次握手

第一次:客户端向服务端发送一个携带SYN标志的数据。
第二次:服务端接收到携带SYN标志的数据后,向客户端返回一个SYN标志或ACK标志的数据,表示接受数据成功。
第三次:客户端向服务端发送ACK标志的数据,表示“握手”结束。

通俗的讲:
A:你好,我给你发了一封邮件
B:我收到了
A:好的,我知道了。

四次挥手

第一次:主动关闭方给被动关闭方发送一个FIN,告诉对方我要关闭数据传送了。
第二次:被动关闭方接收到FIN之后,给主动方发送一个ACK,确认收到。
第三次:被动方发送给主动方一个FIN,告诉对方我也关闭数据传输了。
第四次:主动方收到FIN,发送一个ACK给被动方,“挥手”结束。

通俗的讲:
A:我们店要打烊了。
B:我知道了,但是我还不能走,等我吃完饭。
B:我吃完了,我要走了。
A:好的,慢走不送。

5.TCP和UDP的区别

TCP(Transmission Control Protocol,传输控制协议),是基于连接的传输协议,也就是说,传输数据之前要与对方建立起可靠的连接。
UDP(User Data Protocol,用户数据报协议)与TCP相对应的协议,是基于非连接的传输协议,不需要与对方建立连接就可以传输数据。
UDP场景:传输的数据量少,对可靠性要求不高

6.说说你对作用域链的理解

先解释什么是作用域:是一块独立的区域,不让变量暴露出去。作用域的最大用处就是隔离变量,不同作用域里的同名变量不会冲突。
作用域链:访问变量的时候,会先在自己的作用域内查找变量,若找不到,则向上(父类)查找,直到访问到window对象终止查找。查找变量形成的链条就叫做作用域链。

7.创建AJAX的过程

AJAX:对网页局部内容进行重新加载。
AJAX请求分为四步
(1)创建xmlHttpRequest异步对象
(2)设置请求方式和请求地址
(3)send发送请求
(4)接受返回的数据

8.渐进增强和优雅降级

渐进增强:构建网页的时候考虑最低兼容版本的浏览器,保证基本功能,之后再针对高级浏览器进行交互、功能上的优化,达到更好的用户体验。
优雅降级:刚开始构建网页就搭建完整的功能,之后再针对低版本浏览器进行兼容。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值