面试题总结-网络编程

1. TCP三次握手和四次挥手的过程及意义

  • 三次握手:客户端发送SYN,服务器回复SYN+ACK,客户端发送ACK。
  • 四次挥手:客户端发送FIN,服务器回复ACK,服务器发送FIN,客户端回复ACK。
  • 意义:确保连接可靠建立和释放,防止数据丢失或重复。

2. TCP与UDP的区别

  • TCP:面向连接、可靠、有序、流量控制、拥塞控制。
  • UDP:无连接、不可靠、无序、速度快、适用于实时通信。

3. HTTP与HTTPS的区别

  • HTTP:明文传输,数据易被窃取,端口80。
  • HTTPS:基于SSL/TLS加密传输,安全,端口443。

4. SSL/TLS握手过程

  • 客户端发送ClientHello,服务器回复ServerHello、证书、公钥。
  • 客户端生成预主密钥,用服务器公钥加密并发送。
  • 双方生成会话密钥,开始加密通信。

7. HTTP GET与POST的区别

  • GET:数据在URL中传递,适合获取资源,数据大小受限。
  • POST:数据在请求体中传递,适合提交数据,数据大小不受限。

8. DNS解析过程

  • 浏览器缓存 → 操作系统缓存 → 本地DNS服务器 → 根DNS服务器 → 顶级DNS服务器 → 权威DNS服务器 → 返回IP地址。

9. 如何实现断点续传

  • 通过HTTP头部的Range字段指定下载范围,服务器返回对应的数据块。
  • 客户端记录已下载的字节位置,重新连接时继续从该位置下载。

10. 如何保证数据传输的完整性

  • 使用校验和算法(如MD5、SHA-256)计算文件的哈希值。
  • 下载完成后对比哈希值,确保文件未被篡改或损坏。

12. HTTP常见状态码及含义

  • 200(成功)、301(永久重定向)、404(未找到)、500(服务器内部错误)。

13. 浏览器输入URL后发生了什么?

  • DNS解析 → 建立TCP连接 → 发送HTTP请求 → 服务器处理请求并返回响应 → 浏览器渲染页面。

14. 什么是长连接和短连接?

  • 长连接:一次TCP连接支持多次HTTP请求,减少连接建立的开销。
  • 短连接:每次HTTP请求后关闭TCP连接。

17. 什么是CDN?它的作用是什么?

  • CDN:内容分发网络,将内容缓存到离用户更近的节点,加速访问速度。
  • 作用:降低服务器负载、提高访问速度、提升用户体验。

19. 什么是WebSocket?它与HTTP的区别?

  • WebSocket:全双工通信协议,适用于实时通信(如聊天、游戏)。
  • 区别:HTTP是请求-响应模式,WebSocket是持久连接,双向通信。

相关推荐
飞哥的AI笔记4 小时前
热题精讲:字节/阿里面试真题-如何设计AI Agent的负载均衡?附完整思路
面试
绝无仅有5 小时前
面试真实经历某商银行大厂Java问题和答案总结(四)
后端·面试·github
绝无仅有5 小时前
面试真实经历某商银行大厂Java问题和答案总结(六)
后端·面试·github
uzong12 小时前
一次慢接口背后,竟藏着40+种可能!你中过几个
后端·面试·程序员
倔强青铜三14 小时前
苦练Python第66天:文件操作终极武器!shutil模块完全指南
人工智能·python·面试
倔强青铜三14 小时前
苦练Python第65天:CPU密集型任务救星!多进程multiprocessing模块实战解析,攻破GIL限制!
人工智能·python·面试
怪兽201415 小时前
SQL优化手段有哪些
java·数据库·面试
第七种黄昏18 小时前
前端面试-箭头函数
前端·面试·职场和发展
沐怡旸19 小时前
【算法】725.分割链表--通俗讲解
算法·面试
沐怡旸19 小时前
【底层机制】【Android】深入理解UI体系与绘制机制
android·面试