Appearance
DNS 与 CDN
DNS 考察"域名怎么变成 IP",CDN 考察"内容怎么就近分发",两者合起来就是用户访问链路的起点。
Q1: DNS 解析的完整流程? 「🟢 校招/初级」
考察点:递归查询与迭代查询的区别。
参考答案:
- 浏览器缓存 → 操作系统缓存 → hosts 文件。
- 本地 DNS 服务器(LDNS,通常由运营商提供)。
- LDNS 缓存未命中则发起迭代查询:根域名服务器 → 顶级域服务器(.com)→ 权威域名服务器,逐级拿到 IP。
- 结果逐级缓存返回给客户端(受 TTL 控制)。
- 对客户端是递归(只问一次拿结果),LDNS 对上级是迭代(自己一步步问)。
追问延伸:
- DNS 用 TCP 还是 UDP?(默认 UDP,响应超过 512 字节或区域传输用 TCP)
- 什么是 DNS 劫持?怎么防?(DoH、DoT)
Q2: 常见的 DNS 记录类型有哪些? 「🟢 校招/初级」
考察点:运维与网络的基础认知。
参考答案:
- A:域名 → IPv4 地址;AAAA:域名 → IPv6。
- CNAME:域名 → 另一个域名(别名,常用于 CDN 接入)。
- MX:邮件服务器记录;NS:指定权威域名服务器。
- TXT:文本记录,常用于域名所有权验证(如 SPF、DKIM)。
追问延伸:
- 为什么 CDN 一般用 CNAME 而不是 A 记录?
- CNAME 能不能和 MX 记录共存?有什么坑?
Q3: 什么是 CDN?工作原理是什么? 「🟡 中级」
考察点:内容分发的基本架构。
参考答案:
- CDN 是把内容缓存到全球边缘节点,用户就近访问以降低延迟、减轻源站压力。
- 原理:域名解析到 CDN 服务商的 DNS,智能 DNS 根据用户地理位置/运营商返回最优边缘节点;未命中缓存时边缘节点回源拉取并缓存。
- 适合静态资源(图片、JS/CSS、视频);动态内容可用动态加速(专线优化路由)。
追问延伸:
- 缓存更新策略:刷新(主动失效)和预热?
- 多个用户访问同一资源,边缘节点之间怎么保证一致?
Q4: 负载均衡了解吗? 「🟡 中级」
考察点:流量入口的架构认知。
参考答案:
- 四层负载均衡:基于 IP + 端口转发(LVS、F5),性能高,不理解应用层协议。
- 七层负载均衡:基于 URL、Header 等做路由(Nginx、HAProxy),灵活但开销大。
- 常见算法:轮询、加权轮询、最少连接、IP 哈希(会话保持)、一致性哈希。
- 实际链路:DNS 轮询 → 四层 → 七层 → 服务实例。
追问延伸:
- 一致性哈希解决什么问题?虚拟节点呢?
- Nginx 的
ip_hash在客户端经过代理时有什么问题?
Q5: 什么是 DoS/DDoS 攻击?怎么防御? 「🟡 中级」
考察点:安全基础认知。
参考答案:
- DoS:通过海量请求耗尽目标资源(带宽、连接数、CPU),使其无法服务;DDoS 用僵尸网络从多源发起。
- 常见类型:SYN flood(利用三次握手)、UDP flood、CC 攻击(打应用层接口)、慢速攻击。
- 防御:流量清洗(高防)、限流、验证码、SYN Cookie、CDN 吸收流量、隐藏源站。
追问延伸:
- CC 攻击和 SYN flood 防御思路有什么不同?
- 怎么区分正常流量高峰和攻击?