笔试真题复盘:traceroute 怎么用 UDP 和 TTL 把整条路由摸出来
先说明属性:这是一篇历史笔试题复盘,题目出自本地历史笔试资料,与任何公司的当前招聘无关。题目大意:traceroute 是如何工作的,为什么默认用 UDP。这道题漂亮在它不需要任何特权协议——只用 IP 头部一个字段和两种现成的 ICMP 报文,就把整条转发路径反推了出来。
先说明属性:这是一篇历史笔试题复盘,题目出自本地历史笔试资料,与任何公司的当前招聘无关。题目大意:traceroute 是如何工作的,为什么默认用 UDP。这道题漂亮在它不需要任何特权协议——只用 IP 头部一个字段和两种现成的 ICMP 报文,就把整条转发路径反推了出来。
先说明属性:这是一篇经典题解析,题目出自本地历史面试资料,与任何公司的当前招聘无关。这类题有两个经典考法:一是「一个 C 类地址分给 6 个子公司、最大的一家有 26 台机器,子网掩码设多少」,二是「给定一个地址和掩码,判断另一个地址是否同属一个网段」。
先说明属性:这是一篇历史笔试题复盘,题目出自本地历史笔试资料,与任何公司的当前招聘无关。题面大致是:TCP 连接的拥塞窗口 16KB、对端通告的接收窗口 8KB、MSS 1KB,问发送方此刻还能发多少数据。这是一道定量计算题,但算对的前提是先搞懂两个窗口各管什么。
先说明属性:这是一篇经典题解析,题目出自本地历史面试资料,与任何公司的当前招聘无关。题目问法很朴素:一个 HTTP 请求发出去,线上跑的到底是什么?很多人能说出「有 header 有 body」,但让他说清每一段的职责和边界规则,就开始含糊。
先说明属性:这是一篇经典题解析,题目出自本地历史面试资料,与任何公司的当前招聘无关。题面很具体:水平触发和边沿触发有什么区别;边沿触发下,一个 socket 有 500 字节数据,读了 200 就不再处理,剩下 300 是不是永远读不到了?
先说明属性:这是一篇经典题解析,题目出自本地历史面试资料,与任何公司的当前招聘无关。「什么是连接的半打开、半关闭状态」看起来像概念背诵题,实际上是长连接编程的生死线:搞不清这两个状态,就会在流式传输里截断数据,或者对着一个对端早已崩溃的连接空等。
先说明属性:这是一篇经典题解析,题目出自本地历史面试资料,与任何公司的当前招聘无关。「50X 错误码的内涵」是网络面试的常见题,背出「服务器内部错误」只能拿一半分——面试官想听的是:在「客户端—网关—上游」这条链路上,每个码各自把锅扣在谁头上。
先说明属性:这是一篇经典题解析,题目出自本地历史面试资料(原题问「使用反向代理服务器的优点是什么」),与任何公司的当前招聘无关。它看起来是名词解释,实际上考的是你能不能画清一个系统的流量入口——说不清代理层职责的人,架构图里入口永远是一团云。
先说明属性:这是一篇经典题解析,题目出自本地历史面试资料,与任何公司的当前招聘无关。它考的不是「会重传」三个字,而是你能不能把丢包之后发送端、接收端、应用层三方各自在干什么讲成一条完整链路。
先说明属性:这是一篇经典题解析,题目出自本地历史面试资料,与任何公司的当前招聘无关。「301 和 302 有什么区别」看起来是送分题——一个永久一个临时。但面试官想听的是「永久和临时」这四个字在三处产生的实际后果:浏览器缓存、搜索引擎、请求方法。