醋醋百科网

Good Luck To You!

面试必问的网络协议,从TCP/HTTP到三次握手,看过的人都收藏了

文末有...

IT即互联网技术,从事的工作和网络有很大的关系,前端要负责和后台(服务器)进行交互,其必然得经过网络,所以懂点网络知识有很大的帮助。

而且,面试的时候,无论是一面还是二面还是终面,都有可能问到网络协议的一些知识点,所以今天就针对面试官最喜欢问的点,写出了这篇文章。

网络模型数据处理过程

TCP 流量&拥塞控制详解(tcpip流量控制与拥塞控制)

TCP 流量控制

为什么需要流量控制:在数据传输过程中,如果发送方发送数据的速度过快,接收方可能来不及接收,就会造成数据的丢失。流量控制的目的就是让发送方的发送速率不要太快,要让接收方来得及接收,从而保证数据传输的可靠性。

实现机制:滑动窗口:

基本原理:发送方和接收方在建立 TCP 连接时,接收方会告知发送方自己的接收窗口大小(rwnd),发送方根据这个值来调整自己的发送窗口大小(swnd),发送窗口内的是可以发送的数据。接收方在接收到数据后,会返回确认报文(ACK),告知发送方哪些数据已经成功接收,发送方根据这些确认信息来移动发送窗口,继续发送后续的数据。

图解滑动窗口与拥塞控制(简述滑动窗口机制的实现方式)

一:滑动窗口

首先看下TCP的头部结构,里面有个窗口大小的选项,占位2个字节,说明滑动窗口最大的发送大小为 65535(2^16 - 1)字节,也就是64K,当前也可以通过选项字段进行放大.

36 张图带你理解计算机网络 6 大基础知识点

一、计算机网络概述

1.1 计算机网络的分类

「linux」Socket缓存是如何影响TCP性能的?


一直以来我们都知道socket的缓存会对tcp性能产生影响,也有无数文章告诉我们应该调大socke缓存。但是究竟调多大?什么时候调?有哪些手段调?具体影响究竟如何?这些问题似乎也没有人真正说明白。下面我们就构建起一个简单的实验环境,在两台虚拟机之间探究一下Socket缓存究竟如何影响TCP的性能?对分析过程不感兴趣的可以直接看最后的结论。

最新字节跳动社招精选面试题及参考答案

1. C++智能指针如何解决内存泄露问题.

1.shared_ptr共享的智能指针

std::shared_ptr使用引用计数,每一个shared_ptr的拷贝都指向相同的内存。在最后一个shared_ptr析构的时候,内存才会被释放。

可以通过构造函数、std_make_shared辅助函数和reset方法来初始化shared_ptr:

// 构造函数初始化

TCP协议原理,有这一篇就够了(tcp协议概述)

先亮出这篇文章的思维导图:

TCP 作为传输层的协议,是一个软件工程师素养的体现,也是面试中经常被问到的知识点。在此,我将 TCP 核心的一些问题梳理了一下,希望能帮到各位。

001. 能不能说一说 TCP 和 UDP 的区别?

首先概括一下基本的区别:

TCP是一个面向连接的、可靠的、有序的、基于字节流的传输层协议。

UDP是一个面向无连接、不可靠、无序的传输层协议。

计算机网络基础 - 传输层(3)(网络传输层的关键技术)

面向连接的传输 TCP

可靠数据传输

概述

TCP在IP不可靠的尽力而为服务之上创建了一种

万字长文深入解析Golang中的map设计(下)

map扩容

在文中讲解装载因子时,我们提到装载因子是决定哈希表是否进行扩容的关键指标。在go的map扩容中,除了装载因子会决定是否需要扩容,溢出桶的数量也是扩容的另一关键指标。

Go 语言 map 解析之 key 的定位核心流程

1 哈希表

哈希表属于编程中比较常见的数据结构之一,基本上所有的语言都会实现数组和哈希表这两种结构,Hash table 的历史是比较悠远的,我们在编程时也是离不开的,这种数据结构的作用其实很简单,就是我们可以根据一个 key 可以查找到对应的 value,也就是说这种数据结构存储的是键值对的“列表”。

1.1 原理

首先哈希表中第一个点就是哈希函数,也就是我们需要一个函数,根据我们的 key 计算出一个值,然后根据这个值可以直接找到对应的 value。因为我们的哈希表的一个作用就是 O(1) 复杂度找到 key 对应的 value。

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言

    蜀ICP备2024111239号-30