网络原理与编程
文章平均质量分 64
最常见的网络原理与编程面试题,带你三分钟搞懂,面试再也不虚。
喵呜刷题
使用 Vx [喵呜刷题],来来来,我们一起组队刷题!
展开
-
说说 TCP的粘包、拆包
一般用来说明TCP/IP四层协议中数据链路层的最大传输单元,不同类型的网络MTU也会不同,我们普遍使用的以太网的MTU是1500,即最大只能传输1500字节的数据帧。指TCP建立连接后双方约定的可传输的最大TCP报文长度,是TCP用来限制应用层可发送的最大字节数。由于底层的TCP无法理解上层的业务数据,所以在底层是无法保证数据包不被拆分和重组的,这个问题只能通过上层的应用协议栈设计来解决,根据业界的主流协议的解决方案,可以归纳如下。如有好的面试知识或技巧期待您的共享!问题产生的原因有三个,分别如下。原创 2023-09-03 07:17:59 · 850 阅读 · 0 评论 -
交换机和路由器的区别?
如有好的面试知识或技巧期待您的共享!一站式解决面试问题,你可以搜索微信小程序。原创 2023-09-03 07:17:24 · 358 阅读 · 0 评论 -
TCP 建立连接的过程,为什么要三次握手、四次挥手?
换句话说,为什么tcp连接要进行,三次握手,两次不行吗?建立三次握手主要是因为A发送了再一次的确认,那么A为什么会再确认一次呢,主要是为了防止已失效的连接请求报文段又突然传送给B,从而产生了错误。原创 2023-09-03 07:17:07 · 98 阅读 · 0 评论 -
TCP的滑动窗口协议有什么用?
在图中,我们可看出灰色1号2号3号包已经发送完毕,并且已经收到Ack。接下来的操作就是一样的了,确认包后,窗口往后移继续将未发送的包读进缓存,把“待发送“状态的包变为”已发送“。发送包2,确认包2。如果一直等不到的话,我们也会把读进缓存的待发送的包也一起发过去。可以看出我们改进的方案比之前的好很多,所花的时间只是一个来回的时间。提出问题:在我们滑动窗口协议之前,我们如何来保证发送方与接收方之间,每个包都能被收到。这时候可以看出5号包已经接受到Ack,后面的6、7、8号包也已经发送过去已Ack。原创 2023-09-03 07:16:42 · 558 阅读 · 0 评论 -
TCP、UDP 协议的区别,各自的应用场景
用户数据报协议,是一个简单的面向数据报的运输层协议。UDP不提供可靠性,它只是把应用程序传给IP层的数据报发送出去,但是并不能保证它们能到达目的地。由于UDP在传输数据报前不用在客户和服务器之间建立一个连接,且没有超时重发等机制,故而传输速度很快好好读下,你会明白的。传输控制协议,提供的是面向连接、可靠的字节流服务。当客户和服务器彼此交换数据前,必须先在双方之间建立一个TCP连接,之后才能传输数据。TCP提供超时重发,丢弃重复数据,检验数据,流量控制等功能,保证数据能从一端传到另一端。原创 2023-09-03 07:15:47 · 679 阅读 · 0 评论 -
全双工和半双工的区别是什么
2、半双工允许数据在两个方向上传输,但是同一时间数据只能在一个方向上传输,实际上是切换的单工。1、全双工允许数据在两个方向上同时传输;如有好的面试知识或技巧期待您的共享!一站式解决面试问题,你可以搜索微信小程序。原创 2023-09-03 07:11:54 · 255 阅读 · 0 评论 -
Socket交互的基本流程?
什么是网络编程,网络编程就是编写程序使两台连联网的计算机相互交换数据。操作系统提供了“套接字”(socket)的组件我们基于这个组件进行网络通信开发。tcp套接字工作流程都以“打电话”来生动表达,tcp套接字可以比喻成电话。电话可以同时用来拨打和接听的,但对套接字而言,拨打和接听是有区别的。我们先讲解套接字创建过程。其实这个过程跟我们生活中的打电话的场景比较相似。如有好的面试知识或技巧期待您的共享!一站式解决面试问题,你可以搜索微信小程序。TCP socket通信过程图。原创 2023-09-02 07:32:30 · 801 阅读 · 0 评论 -
HTTP协议都有哪些方法?
如有好的面试知识或技巧期待您的共享!一站式解决面试问题,你可以搜索微信小程序。原创 2023-09-02 07:32:13 · 423 阅读 · 0 评论 -
浏览器输入 URL 地址,访问主页的过程
如有好的面试知识或技巧期待您的共享!一站式解决面试问题,你可以搜索微信小程序。原创 2023-09-02 07:31:36 · 665 阅读 · 0 评论 -
说说CDN和负载均衡具体是怎么实现的
CDN (全称 Content Delivery Network),即内容分发网络。构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。CDN 的关键技术主要有内容存储和分发技术/简单来讲,CDN就是根据用户位置分配最近的资源于是,用户在上网的时候不用直接访问源站,而是访问离他“最近的”一个 CDN 节点,术语叫「边缘节点」,其实就是缓存了源站内容的代理服务器。原创 2023-09-02 07:31:16 · 1230 阅读 · 0 评论 -
浏览器发生302跳转背后的逻辑?
详细来说,301和302状态码都表示重定向,就是说浏览器在拿到服务器返回的这个状态码后会自动跳转到一个新的URL地址,这个地址可以从响应的Location首部中获取(用户看到的效果就是他输入的地址A瞬间变成了另一个地址B)——这是它们的共同点。301表示旧地址A的资源已经被永久地移除了(这个资源不可访问了),搜索引擎在抓取新内容的同时也将旧的网址交换为重定向之后的网址;302表示旧地址A的资源还在(仍然可以访问),这个重定向只是临时地从旧地址A跳转到地址B,搜索引擎会抓取新的内容而保存旧的网址。原创 2023-09-02 07:30:42 · 1886 阅读 · 0 评论 -
说说你了解的 Nginx
所谓“代理”,是指在内网边缘 设置一个硬件/软件转发请求;“正向”还是“反向”的说法,取决于转发的是"出站请求"还是"入站请求".下面的例子表明 静态资源在/usr/share/nginx/html, 动态资源路径包含api或swagger。前端可以自行开发、测试,自行使用nginx形成静态资源服务器,后端服务仅作为附加资源。如有好的面试知识或技巧期待您的共享!动静分离与现在火热的前后端分离概念火热相关,一站式解决面试问题,你可以搜索微信小程序。负载均衡一般伴随着反向代理, 起到了。原创 2023-09-02 07:30:22 · 1158 阅读 · 0 评论 -
Nginx 和 网关的关系是什么
Nginx也可以实现网关,可以实现对api接口的拦截,负载均衡、反向代理、请求过滤等。网关功能可以进行扩展,比如:安全控制,统一异常处理,XXS,SQL注入等;权限控制,黑白名单,性能监控,日志打印等;如有好的面试知识或技巧期待您的共享!一站式解决面试问题,你可以搜索微信小程序。原创 2023-09-02 07:30:01 · 1050 阅读 · 0 评论 -
断点续传和下载原理
断点下载是由客户端告诉服务器已经下载的大小,然后服务器会将指针移动到相应的position,继续读出,把文件返回给客户端。当然为了下载的更快一下,也可以多线程下载,那么基本实现就是给每个线程分配固定的字节的文件,分别去读。断点续传是由服务器给客户端一个已经上传的位置标记position,然后客户端再将文件指针移动到相应的position,通过输入流将文件剩余部分读出来传输给服务器。断点续传和断点下载都是用的RandomAccessFile, 它具有移动指定的文件大小的位置的功能seek。原创 2023-09-02 07:29:09 · 449 阅读 · 0 评论 -
Rest和Http什么关系?
REST 定义了一组体系架构原则,您可以根据这些,包括使用不同语言编写的客户端如何通过 HTTP 处理和传输资源状态。如有好的面试知识或技巧期待您的共享!一站式解决面试问题,你可以搜索微信小程序。原创 2023-09-02 07:28:45 · 1802 阅读 · 0 评论 -
HttpClient默认重试机制
如有好的面试知识或技巧期待您的共享!一站式解决面试问题,你可以搜索微信小程序。原创 2023-09-02 07:28:16 · 676 阅读 · 0 评论 -
说说TIME_WAIT和CLOSE_WAIT区别
根据TCP状态机,服务器端收到客户端发送的FIN,则按照TCP实现发送ACK,因此进入CLOSE_WAIT状态。此时,可能是系统忙于处理读、写操作,而未将已收到FIN的连接,进行close。TCP协议规定,对于已经建立的连接,网络双方要进行四次握手才能成功断开连接,如果缺少了其中某个步骤,将会使连接处于假死状态,连接本身占用的资源不会被释放。假设最终的ACK丢失,server将重发FIN,client必须维护TCP状态信息以便可以重发最终的ACK,否则会发送RST,结果server认为发生错误。原创 2023-09-02 07:27:19 · 1776 阅读 · 0 评论 -
说说IO多路复用
epoll是linux2.6内核的一个新的系统调用,epoll在设计之初,就是为了替代select, poll线性复杂度的模型,epoll的时间复杂度为O(1), 也就意味着,epoll在高并发场景,随着文件描述符的增长,有良好的可扩展性。select 和 poll 监听文件描述符list,进行一个线性的查找 O(n)epoll: 使用了内核文件级别的回调机制O(1)原创 2023-09-01 08:39:55 · 446 阅读 · 0 评论