【AI加油站】AI面试专题二十一:TCP UDP Socket Http网络编程的面试题资料(附PDF下载)
- 2025-07-19 08:00:00

一、TCP 和 UDP 的区别及应用场景
二、TCP 的三次握手和四次挥手
三次握手(建立连接)
客户端发送SYN:客户端向服务器发送SYN包,请求建立连接。
服务器返回SYN+ACK:服务器收到SYN后,回复SYN+ACK包,确认连接请求。
客户端发送ACK:客户端收到SYN+ACK后,发送ACK包,连接建立。
意义:确保双方的发送与接收功能正常,避免失效请求报文段引发错误。
四次挥手(断开连接)
客户端发送FIN:客户端发送FIN包,请求断开连接。
服务器返回ACK:服务器收到FIN后,回复ACK包,确认收到断开请求。
服务器发送FIN:服务器处理完请求后,发送FIN包,请求断开连接。
客户端返回ACK:客户端收到FIN后,发送ACK包,连接断开。
TIME_WAIT状态:防止丢失的ACK报文引发错误,客户端需等待2MSL时间。
三、Socket 编程
定义:Socket 是网络通信的端点,由IP地址和端口号唯一确定。
分类:
TCP Socket:基于连接,适用于可靠数据传输。
UDP Socket:无连接,适用于快速数据传输,可容忍一定错误。
常用类:
Socket
和ServerSocket
:用于TCP通信。DatagramSocket
和DatagramPacket
:用于UDP通信。
四、HTTP 协议
定义:超文本传输协议,用于客户端与服务器之间的数据传输。
请求结构:由请求行、请求头、请求体组成。
响应结构:由状态行、响应头、响应体组成。
常见状态码:
200:请求成功。
404:资源未找到。
500:服务器内部错误。
HTTP 版本对比:
HTTP/1.0:无状态、无连接。
HTTP/1.1:默认持久连接、支持管线化。
HTTP/2.0:二进制分帧、首部压缩、多路复用。
五、HTTP 与 HTTPS 的区别
六、Cookie 和 Session
Cookie:存储在客户端的键值对数据,用于跟踪用户信息,大小限制为4KB。
Session:存储在服务器端的会话数据,通过SessionID标识,安全性更高。
区别:
Cookie 数据存放在客户端,Session 数据存放在服务器。
Cookie 大小受限,Session 无硬性限制。
七、网络编程模型
C/S 模型:客户端发起请求,服务器响应请求。
Socket 编程:基于TCP/IP协议,实现客户端与服务器的双向通信。
八、面试实战经验
面试官关注点:
TCP/UDP 的区别及应用场景。
TCP 的三次握手和四次挥手过程。
HTTP 和 HTTPS 的区别,状态码的理解。
Cookie 和 Session 的区别。
回答技巧:
用生活中的例子解释技术概念(如打电话类比TCP,广播类比UDP)。
结合实际项目经验,展示对网络编程的理解和应用能力。
九、总结
这份文档提供了网络编程的全面知识点,涵盖TCP/UDP协议、Socket编程、HTTP协议及其安全性、Cookie与Session等内容,并结合面试经验分享了回答技巧。通过理解这些核心概念和应用场景,可以更好地应对网络编程相关的面试和技术挑战。


本书免费下载地址
关注微信公众号“人工智能产业链union”回复关键字“AI面试21”获取下载地址。

- 点赞 0
-
分享
微信扫一扫
-
加入群聊
扫码加入群聊