计算机网络面试题库

这里记录了计算机网络与协议相关的核心面试题:

TCP/IP 与传输层

  • 简述 OSI 七层模型和 TCP/IP 四层模型?
  • TCP 和 UDP 的区别是什么?各自的应用场景?
  • 详细描述 TCP 的三次握手过程?为什么不能是两次?
  • 详细描述 TCP 的四次挥手过程?为什么需要 TIME_WAIT 状态?
  • 如果已经建立了连接,但是客户端突然出现故障了怎么办?(保活机制 KeepAlive)
  • TCP 是如何保证可靠传输的?
  • 详细讲讲 TCP 的滑动窗口机制?
  • 详细讲讲 TCP 的拥塞控制机制(慢启动、拥塞避免、快重传、快恢复)?
  • 什么是粘包和半包问题?如何解决?

HTTP 与应用层

  • 浏览器输入 URL 到页面渲染出来的整个过程是怎样的?
  • HTTP 常见的状态码有哪些(200, 301, 302, 401, 403, 404, 500, 502, 504)?
  • GET 和 POST 请求的区别是什么?
  • HTTP 1.0、HTTP 1.1、HTTP 2.0、HTTP 3.0 的主要区别和演进?
  • HTTP 和 HTTPS 的区别?
  • 详细描述 HTTPS 的加密过程(TLS/SSL 握手过程)?
  • 什么是对称加密和非对称加密?HTTPS 为什么要结合使用它们?
  • 什么是 WebSocket?它和 HTTP 有什么关系?
  • Cookie 和 Session 的区别是什么?
  • 什么是 JWT(JSON Web Token)?它和 Session 的优缺点对比?

网络基础与其他

  • DNS 的解析过程是怎样的?
  • 什么是 ARP 协议?它的工作原理是什么?
  • 什么是跨域问题(CORS)?如何解决跨域?
  • 常见的网络攻击有哪些(DDoS、CSRF、XSS、SQL 注入)?如何防范?