【前端刷题笔记02】字节跳动2019面试题

栏目: 数据库 · 发布时间: 5年前

内容简介:客户端请求 -> 服务器响应 -> 客户端确认收到响应,建立连接(保证网络正常)客户端请求 -> 服务器响应该请求 -> 服务器确认数据传送完毕, 发送关闭连接的响应 -> 客户端发送响应,在2MSL内未收到回复则视为服务器端已收到该响应并关闭连接接口,客户端关闭连接。

1、TCP的三次握手和四次挥手

1.1 三次握手:

客户端请求 -> 服务器响应 -> 客户端确认收到响应,建立连接(保证网络正常)

【前端刷题笔记02】字节跳动2019面试题

1.2 四次挥手

客户端请求 -> 服务器响应该请求 -> 服务器确认数据传送完毕, 发送关闭连接的响应 -> 客户端发送响应,在2MSL内未收到回复则视为服务器端已收到该响应并关闭连接接口,客户端关闭连接。

【前端刷题笔记02】字节跳动2019面试题

1.3 为什么TIME_WAIT状态需要经过2MSL(最大报文段生存时间)才能返回到CLOSE状态?

虽然按道理,四个报文都发送完毕,我们可以直接进入CLOSE状态了,但是我们必须假象网络是不可靠的,有可以最后一个ACK丢失。所以TIME_WAIT状态就是用来重发可能丢失的ACK报文。

2、TCP和UDP的区别、比较

UDP TCP
是否连接 无连接 面向连接
是否可靠 不可靠传输,不使用流量控制和拥塞控制 可靠传输,使用流量控制和拥塞控制
连接对象个数 支持一对一,一对多,多对一和多对多交互通信 只能是一对一通信
传输方式 面向报文 面向字节流
首部开销 首部开销小,仅8字节 首部最小20字节,最大60字节
适用场景 适用于实时应用(IP电话、视频会议、直播等) 适用于要求可靠传输的应用,例如文件传输

3、链表反转

链表反转有两种方法:

  • 就地反转法
//就地反转法
interface ListNode {
    value: string;
    next: ListNode;
}
function reverseList1(head:ListNode) {
    if (head == null)
        return head;
    let dummy = null;
    dummy.next = head;
    let prev = dummy.next;
    let pCur = prev.next;
    while (pCur != null) {
        prev.next = pCur.next;
        pCur.next = dummy.next;
        dummy.next = pCur;
        pCur = prev.next;
    }
    return dummy.next;
}
  • 头节点插入法
interface ListNode {
    value: string;
    next: ListNode;
}
function reverseList2(head: ListNode) {
    let dummy = null;
    let pCur = head;
    while (pCur != null) {
        ListNode pNex = pCur.next;
        pCur.next = dummy.next;
        dummy.next = pCur;
        pCur = pNex;
    }
    return dummy.next;
}

以上所述就是小编给大家介绍的《【前端刷题笔记02】字节跳动2019面试题》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

JSP 应用开发详解(第二版)

JSP 应用开发详解(第二版)

飞思科技产品研发中心 / 电子工业出版社 / 2004-1-1 / 55.00

本书结合JSP和Servlet的最新规范,从基本的语法和规范入手,以经验为后盾,以实用为目标,以实例为导向,以实践为指导,深入浅出地讲解了JSP 开发中的种种问题。以精简的内容介绍了JSP的语法、Servlet技术、JDBC技术、标签库技术、表达式语言、Struts、JavaServer Face等技术;对于JSP开发中常遇到的典型的难点,专门设置了专题进行集中讨论。本书的最后一篇围绕一个电子商务......一起来看看 《JSP 应用开发详解(第二版)》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具