核心技能考察
2026/7/23大约 3 分钟
计算机网络
TCP/IP 协议栈(TCP 三次握手 / 四次挥手、滑动窗口、拥塞控制)、HTTP/HTTPS/HTTP2/HTTP3、DNS 解析、CDN 原理、负载均衡(四层 / 七层区别);
TCP
https://www.yuque.com/kinger-wwnro/tfdven/nxmygfgezb8w47ha
滑动窗口的核心作用(TCP 三大核心能力,贴合高并发场景)
你的项目中涉及高并发 TCP 连接调优、LVS 四层流量调度,必须明确窗口对高并发的关键价值:
- 可靠传输:通过窗口实现累计确认,接收方只需对收到的最后一个有序字节确认,发送方就知道该字节之前的所有数据都已送达,减少 ACK 报文数量,降低网络开销;
- 流量控制:接收方根据自身接收缓存(RcvBuffer) 大小,动态告知发送方接收窗口(rwnd) 大小,防止发送方发得太快,导致接收方缓存溢出、数据丢失(解决 “发送方速率> 接收方处理速率” 问题);
- 拥塞控制:发送方根据网络拥塞状态,维护拥塞窗口(cwnd) 大小,网络通畅时扩大窗口、提升发送速率,网络拥塞(丢包)时缩小窗口、降低速率(解决 “发送速率> 网络承载速率” 问题);实际发送窗口:TCP 真实的单次发送最大字节数 = min (接收窗口 rwnd, 拥塞窗口 cwnd),取两者最小值,兼顾接收方和网络状态。
HTTP 的演进:从 1.0 到 3.0
| 版本 | 传输层 | 核心改进 | 痛点解决 |
|---|---|---|---|
| HTTP/1.1 | TCP | 持久连接 (Keep-Alive)、管道化请求 | 减少了握手开销。 |
| HTTP/2 | TCP | 多路复用 (二进制分帧)、头部压缩 (HPACK)、服务端推送 | 解决了 1.1 的“队头阻塞” (HoL Blocking) 问题。 |
| HTTP/3 | UDP (QUIC) | 基于 UDP 重新实现可靠传输,连接迁移 | 解决了 TCP 层面的队头阻塞,握手更快(0-RTT)。 |
DNS 解析与 CDN 加速
- DNS 解析过程:主机 -> 本地 DNS -> 根域名服务器 -> 顶级域名服务器 -> 权威 DNS -> 返回 IP。
- CDN (内容分发网络) 原理:
- 用户发起 DNS 请求,DNS 将解析权交给 CDN 的 GSLB (全局负载均衡)。
- GSLB 根据用户的 IP 地址(地理位置) 和各节点的 负载情况,返回离用户最近、最健康的边缘节点 IP。
- 用户直接向边缘节点请求数据,命中缓存则直接返回,否则由边缘节点回源抓取。
负载均衡:四层 vs 七层
这是你项目中的核心考点,请务必区分清楚:
-
四层负载均衡 (LVS):
-
协议层:传输层(TCP/UDP)。
-
原理:根据 IP + 端口 进行转发。不拆包,只改写报文首部(IP/MAC),效率极高。
-
场景:作为整个集群的总入口,处理极高并发。
-
七层负载均衡 (Nginx/HAProxy):
-
协议层:应用层(HTTP/HTTPS/SSL)。
-
原理:解析报文内容。可以根据 URL、Cookie、Header 信息做复杂的路由转发。
-
场景:动静分离、灰度发布、WAF 防护。
Linux 系统
进程管理(进程调度 / 守护进程 / 僵尸进程处理)、内存管理(虚拟内存 / 页缓存 / 交换分区)、文件系统(ext4/xfs)、网络配置(iproute2 / 网卡绑定)、系统启动流程;
数据结构 & 算法
运维开发对算法要求低于纯开发,但链表、数组、哈希表、排序(快速 / 归并)、查找(二分) 是必掌握的,还要会用 Python 实现简单算法,字节会有手撕代码题(初面 / 复面都会考)。
