js算法面试题

//创建一个函数fn,返回一个数组饱含n个数,每个数随机在[2,32]取值,且不重复。

function fn(n){
  var array=[];
  for(var i=0;;i++){
    if(array.length

同花顺五张连续相同花色,随机七张牌,判断是否为同花顺。
先判断花色,把花色相同的牌放入新数组。大于等于五张,排序数组,判断是否连续。

http请求事务发生了什么?
域名解析 --> 发起TCP的3次握手 --> 建立TCP连接后发起http请求 --> 服务器响应http请求,浏览器得到html代码 --> 浏览器解析html代码,并请求html代码中的资源(如js、css、图片等) --> 浏览器对页面进行渲染呈现给用户

http2.0有哪些改进?
http2.0大幅度提升了web性能,在与HTTP1.1完全语义兼容的基础上,进一步减少了网络延迟。
1.多路复用:多路复用允许同时通过单一的 HTTP/2 连接发起多重的请求-响应消息。
HTTP/2通信都在一个连接上完成,这个连接可以承载任意数量的双向数据流,可以更有效地使用TCP连接,让高宽带也能真正的服务于HTTP的性能提升。
总结:

  • 单连接多资源的方式,减少服务端的链接压力,内存占用更少,连接吞吐量更大。
  • 由于TCP连接的减少而使网络拥塞状况得以改善,同时慢启动时间减少,使拥塞和丢包恢复速度更快。
    2.首部压缩
    HTTP/1.1并不支持HTTP首部压缩,为此SPDY和HTTP/2应运而生,HTTP/2使用了专门为首部压缩而设计的HPACK算法。
    3.服务器端推送(Server Push)
    在HTTP/2中,服务器可以对客户端的一个请求发送多个响应。服务器推送有一个很大优势:可以缓存!也让在遵循同源的情况下,不同页面之间可以共享缓存资源成为可能。

前后端交互异步有哪些?
ajax,fetch

从PC端迁移到移动端:viewport meta width = device-width

你可能感兴趣的:(js算法面试题)