搞定技术面试:计算机网络基础知识全面整理

https://code-freedom.github.io/NetWorkNotes/

计算机网络基础是技术面试中必问知识点之一,我刚开始准备面试的时候,花费了很大功夫。总体来说,计算机网路知识比较基础、能够形成很好的框架。

这本笔记是我在准备的过程中参考书籍、面经、笔记做的笔记。里面既有知识框架、基础知识、也有面试题目。针对面试题目,我也给出了相关的基础知识,正所谓知其所以然。

这是一份精要的笔记,可以帮助快速掌握面试中常考的基础知识。

有一点必须强调的是,技术面试考察的不是背书能力,即使背过了基础知识,也不能说万无一失,因为面试是对应聘者的综合考量,掌握基础知识是最基本的要求,融会贯通的解决实际问题才是最重要的。

我将这份笔记制作成了一份文档,每天更新一到两个章节,大家可以把网页收藏起来慢慢看。

这是笔记的1.0版本,由于时间紧凑,错误之处在所难免。我开了一个issue链接issue,还请在这里提出issue。

Contents

  • 计算机网络体系结构
    • 1.体系结构
    • 2.各层对应的协议
  • 数据链路层
    • 1.功能
    • 2.流量控制与可靠传输机制
    • 3.协议
    • 4.设备
    • 5.适配器的作用是什么,网络适配器工作在哪一层
  • 网络层
    • 1.功能
    • 2.IP地址及其表示方法
    • 3.有哪些私有(保留)地址
    • 4.ARP(地址解析协议)是什么?作用是什么?简单讲述一下ARP协议的工作过程
    • 5.IP数据报的格式
    • 6.路由表是什么?
    • 7.路由表的建立
    • 8.路由表中存的是什么?
    • 9.子网掩码是什么?作用是什么?
  • 传输层
    • 1.功能
    • 2.运输层在通信协议栈的中的地位和作用?
    • 3.运输层的通信和网络层的通信有什么不同?为什么说运输层是必不可少的?
    • 4.应用层服务-端口号-协议
    • 5.TCP协议
    • 6.TCP首部格式
    • 7.TCP可靠传输的实现
    • 8.TCP的流量控制
    • 9.传输层流量控制和数据链路层流量控制的区别
    • 10.TCP的拥塞控制
    • 11.拥塞控制和流量控制的关系
    • 12.拥塞控制的机制
    • 13.拥塞算法
    • 14.TCP连接管理
    • 15.三次握手中A为什么要再发送一次确认?
    • 16.A在TIME-WAIT状态必须等待 2MSL 的时间?
    • 17.TCP三次握手安全隐患有哪些?
    • 18.UDP协议
    • 19.UDP首部格式
    • 20.TCP协议与UDP协议的比较
    • 21.应用层使用UDP完成可靠传输可能吗?
    • 22.使用TCP的协议和使用UDP对应的协议
    • 23.TCP和UDP能不能用同一个端口号?
  • 应用层
    • 1.DNS域名系统
    • 2.域名的解析过程
    • 3.DNS在域名解析上使用TCP还是UDP?
    • 4.高速缓存域名服务器
    • 5.超文本传输协议HTTP
    • 6.HTTP协议的工作过程
    • 7.请求一个万维网文档所需要的时间
    • 8.HTTP1.0、HTTP1.1 和HTTP2.0
    • 9.断点续传原理
    • 10.现代浏览器在与服务器建立了一个 TCP 连接后是否会在一个 HTTP 请求完成后断开?什么情况下会断开?
    • 11.一个 TCP 连接可以对应几个 HTTP 请求?
    • 12.一个 TCP 连接中 HTTP 请求发送可以一起发送么(比如一起发三个请求,再三个响应一起接收)?
    • 13.在 HTTP/1.1 时代,浏览器是如何提高页面加载效率的呢?
    • 14.为什么有的时候刷新页面不需要重新建立 SSL 连接?
    • 15.浏览器对同一 Host 建立 TCP 连接到数量有没有限制?
    • 16.收到的 HTML 如果包含几十个图片标签,这些图片是以什么方式、什么顺序、建立了多少连接、使用什么协议被下载下来的呢?
    • 17.当使用鼠标点击一个万维网文档时,若该文档除了有文本外,还有一个本地.gif和两个远程.gif,问:需要使用哪个应用程序,以及需要建立几次UDP连接,几次TCP连接?
    • 18.HTTP报文结构
    • 19.HTTP请求报文的一些方法
    • 20.HTTP响应报文的状态码
    • 21.GET和POST的区别
    • 22.缓存的作用
    • 23.在服务器上存放用户信息Cookie
    • 24.Cookie的用途
    • 25.Session
    • 26.浏览器禁用 Cookie
    • 27.Cookie 与 Session 选择
    • 28.简单文件传送协议TFTP与文件传送协议FTP有什么区别,各用在什么场合?
    • 29.动态主机配置协议DHCP
    • 30.DHCP工作过程是怎样的?
    • 31.Soket——应用进程跨越网络的通信
  • 网络安全
    • 1.各种安全协议
  • 其他
    • 1.I/O模型
    • 2.五种I/O模型
    • 3.同步I/O和异步I/O
    • 4.阻塞I/O和非阻塞I/O
    • 5.I/O多路复用
    • 6.select函数
    • 7.select vs poll
    • 8.epoll
    • 9.select、poll、epoll的应用场景