首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【前端刷题笔记01】 - 字节跳动2019春招面试题

【前端刷题笔记01】 - 字节跳动2019春招面试题

作者头像
CloudCat
发布2019-05-26 21:19:38
6220
发布2019-05-26 21:19:38
举报

1、sleep函数该如何实现的

sleep函数,将程序执行挂起一段时间,阻塞程序的运行

ES6方案:

function sleep(ms) {
  return new Promise(resolve => setTimeout(resolve, ms));
}
async function test() {
  console.log("Hello");
  await sleep(1000);
  console.log("World");
}
test();

ES5死循环阻塞:

function sleep(ms) {
  ms += new Date().getTime();
  while (new Date().getTime() < ms) {}
}

function test2() {
  console.log("Hello");
  sleep(1000);
  console.log("World");
}

test2();

2、HTTP状态码302和304的区别

  • 1** 信息状态码
    • 100 继续
    • 101 切换协议
  • 2** 成功状态码
    • 200 OK 请求成功
    • 201 已创建
    • 202 已接受
    • 203 非授权信息
    • 204 无内容
    • 205 重置内容
    • 206 部分内容
  • 3** 重定向
    • 300 多种选择
    • 301 Moved Permanently 永久重定向
    • 302 Found 临时重定向
    • 303 查看其它地址
    • 304 Not Modified 未修改
    • 305 使用代理
  • 4** 客户端错误
    • 400 Bad Request 请求的语法错误
    • 401 Unauthorized 要求身份验证
    • 403 Forbidden 服务器拒绝执行该请求
    • 404 Not Found 未找到资源
  • 5** 服务器错误
    • 500 Internal Server Error 服务器内部错误
    • 501 服务器不支持该功能,无法完成请求
    • 502 Bad Gateway 服务器作为网关服务器执行请求时,从远程服务器接收到了无效的响应
    • 503 Service Unavailable 系统维护
    • 504 Gateway Time-out 超时
    • 505 HTTP Version not supported 服务器不支持请求的HTTP协议版本

3、多路复用和长连接是什么意思,区别,以及如何设置长连接

HTTP1

  • 长连接
  • 若干个请求排队串行化单线程处理,后面的请求等待前面请求的返回才能获得执行机会,一旦有某请求超时等,后续请求只能被阻塞,毫无办法,也就是人们常说的线头阻塞

HTTP2

  • 多路复用
  • 多个请求可同时在一个连接上并行执行。某个请求任务耗时严重,不会影响到其它连接的正常执行

如何实现长连接?

  • WebSocket
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、sleep函数该如何实现的
  • 2、HTTP状态码302和304的区别
  • 3、多路复用和长连接是什么意思,区别,以及如何设置长连接
相关产品与服务
多因子身份认证
多因子身份认证(Multi-factor Authentication Service,MFAS)的目的是建立一个多层次的防御体系,通过结合两种或三种认证因子(基于记忆的/基于持有物的/基于生物特征的认证因子)验证访问者的身份,使系统或资源更加安全。攻击者即使破解单一因子(如口令、人脸),应用的安全依然可以得到保障。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档