简介:这份计算机网络笔试题文档面向正在准备计算机考试、课程期末或求职笔试的学习者,聚焦网络基础知识的填空与选择训练。内容覆盖OSI参考模型七层结构、局域网与城域网划分、总线型与星形等拓扑结构、CSMA/CD与令牌环介质访问控制、双绞线传输距离、交换机转发方式、IP地址组成与ARP解析、RIP与OSPF路由算法、TCP与UDP服务特性以及DES、RSA加密与防火墙等安全要点,每道题均附标准答案,便于自测与查漏补缺。资源包共1个doc文件,大小约91KB,以纯文档形式呈现,适合打印或电子设备随时翻阅。目前已有396人学习,说明其在同类备考资料中具有一定参考价值。读者可借助这份习题快速梳理网络知识框架,定位薄弱环节,提升笔试应对效率。
1. 一份“计算机网络笔试题.doc”背后,藏着多少校招筛人的硬门槛
如果你正在准备校招或者社招跳槽,大概率在某个群里见过“计算机网络笔试题.doc”这个文件名。它可能来自学长分享、某机构整理,或者就是 HR 在笔试前十分钟丢进你邮箱的附件。别小看这份文档,它往往决定了你能否进入下一轮技术面。计算机网络基础是研发岗笔试的必考模块,从 TCP 三次握手到 HTTP 状态码,从子网掩码计算到拥塞控制算法,覆盖面极广。很多人复习时抱着谢希仁的教材或者王道考研书硬啃,结果笔试遇到“为什么 TIME_WAIT 要等 2MSL”这种题还是写不全。这篇文章不跟你谈虚的,直接拆解一份典型笔试题.doc 里高频出现的考点分布、每类题的解题套路,以及怎么用最短时间把正确率从 50% 拉到 85% 以上。适合应届生、转行后端/运维/测试的从业者,也适合工作几年但网络基础已经还给老师的工程师。
2. 拆解笔试题.doc 的题型分布:从八股文到计算题
2.1 选择题与填空题的考点权重
一份标准的计算机网络笔试题.doc,通常 60% 是选择与填空,30% 是简答,10% 是计算或综合分析。选择题里出现频率最高的五个知识块依次是:TCP 连接管理(三次握手、四次挥手、状态迁移)、HTTP 协议细节(方法、状态码、头部字段)、IP 地址与子网划分、路由协议(OSPF、BGP 基本概念)、以及网络分层模型(OSI 与 TCP/IP 的对应关系)。填空题则偏爱考察端口号(FTP 21、SSH 22、DNS 53、HTTP 80、HTTPS 443)、协议所属层次、以及常见术语的英文缩写全称。
我统计过近三年互联网公司笔试真题,发现一个规律:凡是考 TCP 的题,超过一半会围绕“为什么是三次握手而不是两次”和“TIME_WAIT 状态的作用”出题。这两个点几乎成了筛人的硬指标,答不上来直接判定基础不牢。HTTP 方面,状态码 301 与 302 的区别、304 的缓存机制、以及 HTTP/1.1 与 HTTP/2 的核心差异是高频考点。子网划分题通常给一个 IP 和掩码,让你算网络地址、广播地址、可用主机数,或者反过来给需求让你选掩码。
2.2 简答题的答题模板与踩分点
简答题最忌讳写成一锅粥。阅卷人通常按关键词给分,所以你的答案要像代码一样有结构。比如问“TCP 三次握手过程”,不要只写“客户端发 SYN,服务端回 SYN+ACK,客户端再发 ACK”,这样最多拿一半分。完整的踩分点包括:初始序列号的作用、SYN 洪泛攻击的防范、以及为什么第三次握手可以携带数据而前两次不行。
再比如“描述 OSI 七层模型并举例各层设备”,你需要按“层名-功能-典型协议-设备”四要素列表作答。我一般建议用表格形式在答题纸上呈现,阅卷人一眼就能找到得分点。简答题里还有一个隐藏考点:ARP 协议的工作过程。很多题会问“同一局域网内主机 A 访问主机 B 的完整流程”,这题实际考的是 ARP 请求与应答、MAC 帧封装、以及交换机自学习。答的时候要按时间顺序写,每一步标明源和目的地址的变化。
2.3 计算题:子网划分与吞吐量估算
计算题是拉开差距的地方。子网划分题有固定套路:先把掩码转成二进制,确定网络位和主机位,然后算块大小。比如 192.168.10.0/26,块大小是 64,所以子网有 4 个:.0、.64、.128、.192。每个子网可用主机数 62。如果题目问“哪个 IP 属于该子网”,直接看 IP 的第四段落在哪个区间。
吞吐量估算题常考 TCP 窗口与带宽时延积的关系。公式是:吞吐量 ≤ 窗口大小 / RTT。如果窗口 64KB,RTT 50ms,那么最大吞吐约 1.31MB/s,换算成比特约 10.5Mbps。这类题要注意单位换算,字节与比特差 8 倍,毫秒与秒差 1000 倍。我见过太多人因为单位写错丢分,血泪教训。
提示:笔试时遇到不确定的计算题,先把公式和单位换算写在草稿纸上,再代入数值,能避免 80% 的低级错误。
3. 用 Python 脚本自动整理题库:从 doc 到可检索的 CSV
3.1 解析 .doc 文件的工具选型
“.doc”这个后缀其实有两种可能:老式的二进制 Word 文档,或者只是 .docx 被改了扩展名。直接改后缀的 .docx 可以用 python-docx 读,但真正的二进制 .doc 需要 antiword 或 textract。我一般先用 file 命令看真实类型:
file 计算机网络笔试题.doc如果输出里有 “Microsoft Word 2007+”,说明是 zip 包,直接改回 .docx 用 python-docx。如果是 “Composite Document File V2”,那就得用 antiword 转文本:
antiword -m UTF-8.txt 计算机网络笔试题.doc > 题库.txtantiword 对中文支持一般,遇到乱码可以换 catdoc。Windows 上更省事,直接用 LibreOffice 无头模式转换:
soffice --headless --convert-to txt:Text 计算机网络笔试题.doc这一步的目的是把题目变成纯文本,方便后续用正则切分。不要指望一步到位,格式转换总会丢一些表格和编号,后面需要人工校对。
3.2 用正则切分题目与答案
拿到纯文本后,观察题目编号规律。常见的有“1.”“一、”“(1)”等。我一般写一个 Python 脚本,按行扫描,遇到编号行就开一个新题,直到下一个编号行或“答案”关键词。
import re with open('题库.txt', 'r', encoding='utf-8') as f: lines = f.readlines() questions = [] current = {'q': '', 'a': ''} # 匹配 1. 2. 或者 一、二、 或者 (1) (2) pattern = re.compile(r'^\s*(\d+[\.、]|[一二三四五六七八九十]+、|\(\d+\))') for line in lines: if pattern.match(line): if current['q']: questions.append(current) current = {'q': line.strip(), 'a': ''} elif '答案' in line or '解析' in line: current['a'] += line.strip() else: if current['a']: current['a'] += line.strip() else: current['q'] += line.strip() if current['q']: questions.append(current) print(f'共提取 {len(questions)} 道题')这段代码的逻辑是按编号行切分,把“答案”或“解析”之后的内容归入答案字段。参数说明:pattern 里的正则可以根据实际文档调整,比如有些文档用“第1题”开头,那就加一个分支。运行后打印题目数量,如果远小于预期,说明编号格式没匹配上,需要手动看几行样本再改正则。
3.3 导出 CSV 并做关键词索引
切分完题目后,导出 CSV 方便用 Excel 或脚本筛选:
import csv with open('题库.csv', 'w', newline='', encoding='utf-8-sig') as f: writer = csv.DictWriter(f, fieldnames=['q', 'a']) writer.writeheader() writer.writerows(questions)utf-8-sig是为了 Excel 打开不乱码。导出后,我习惯再加一列“关键词”,用 jieba 分词提取每道题的核心词,比如“TCP”“子网”“HTTP”。这样复习时按关键词排序,能把同类题集中刷。
import jieba import pandas as pd df = pd.read_csv('题库.csv') def extract_keywords(text): words = jieba.lcut(str(text)) return ','.join([w for w in words if len(w) > 1 and w.isalpha()]) df['keywords'] = df['q'].apply(extract_keywords) df.to_csv('题库_带关键词.csv', index=False, encoding='utf-8-sig')这一步的产出是一个可检索的题库表。你可以用 pandas 直接查df[df['keywords'].str.contains('TCP')],把所有 TCP 相关题拉出来集中突破。参数上,jieba 分词对网络术语识别一般,可以加载自定义词典,把“三次握手”“拥塞窗口”加进去,提高准确率。
注意:如果 .doc 里题目和答案混排严重,正则切分后需要人工过一遍,别直接拿去背,错误答案比没答案更可怕。
4. 高频考点逐个击破:TCP、HTTP、子网划分的避坑手册
4.1 TCP 状态迁移的常见错误
TCP 状态图是笔试最爱考的图之一。很多人背了“三次握手四次挥手”,但一画状态迁移就翻车。典型错误包括:把 CLOSE_WAIT 和 TIME_WAIT 搞混、不知道 SYN_RCVD 状态的存在、以及误以为四次挥手是客户端主动关闭的唯一路径。
正确的状态迁移:客户端发 FIN 后进入 FIN_WAIT_1,收到 ACK 后进入 FIN_WAIT_2,收到服务端 FIN 后进入 TIME_WAIT,等 2MSL 后关闭。服务端收到 FIN 后进入 CLOSE_WAIT,发完自己的 FIN 后进入 LAST_ACK,收到 ACK 后关闭。这里的关键是:谁先发 FIN,谁最后等 2MSL。如果服务端先发 FIN,那 TIME_WAIT 就在服务端。
避坑第一条:TIME_WAIT 等待 2MSL 不是为了“确保对方收到 ACK”,而是为了“让本次连接的所有报文在网络中消失”。这样旧连接的延迟报文不会干扰新连接。笔试简答题写这个点,能多拿 2 分。
避坑第二条:CLOSE_WAIT 大量出现说明服务端没有正确关闭连接,通常是代码里忘了调 close()。这个在运维面试里常问,笔试也可能出选择题。
避坑第三条:SYN 队列和 Accept 队列的区别。三次握手不占 Accept 队列,只占 SYN 队列。如果 SYN 队列满了,新连接会被丢弃或触发 syncookies。这个点常考“SYN 洪泛攻击的原理与防范”。
4.2 HTTP 状态码与缓存机制
HTTP 状态码背 200、404 没用,笔试考的是 301、302、304、307、308 的区别。301 是永久重定向,浏览器会缓存;302 是临时重定向,默认不缓存。但 302 在历史实现中可能被缓存,所以 HTTP/1.1 加了 307 和 308 来明确语义:307 临时重定向且不允许改变方法,308 永久重定向且不允许改变方法。
缓存机制考的是强缓存与协商缓存。强缓存用 Cache-Control 和 Expires,协商缓存用 Last-Modified/If-Modified-Since 和 ETag/If-None-Match。304 状态码表示协商缓存命中,服务端不返回 body。笔试常问“ETag 和 Last-Modified 哪个优先级高”,答案是 ETag 优先,因为 Last-Modified 只能精确到秒,且文件内容没变但修改时间变了会导致误判。
避坑:不要写“304 是重定向”,304 是 Not Modified,属于缓存命中。写错直接零分。
4.3 子网划分的快速心算技巧
子网划分题在笔试里必须秒算,否则时间不够。我总结了一个心算流程:先看掩码是 /25 到 /30 的哪种,记住块大小:/25 是 128,/26 是 64,/27 是 32,/28 是 16,/29 是 8,/30 是 4。然后看 IP 第四段落在哪个块区间。
比如 192.168.1.100/26,块大小 64,区间是 0-63、64-127、128-191、192-255。100 落在 64-127,所以网络地址是 192.168.1.64,广播地址是 192.168.1.127,可用主机 65 到 126。
如果题目给的是“需要 50 台主机,选什么掩码”,那就找块大小大于 50+2 的最小值。50+2=52,块大小 64 对应 /26,所以选 /26。加 2 是因为网络地址和广播地址不能用。
避坑:/31 和 /32 是特例。/31 用于点对点链路,两个地址都可用;/32 是主机地址。笔试如果考到,别按常规算。
提示:子网划分题做完后,把网络地址、广播地址、可用范围写全,即使题目只问一个,多写不扣分,还能防止粗心。
5. 从笔试到面试:用错题本把正确率刷到 85%
5.1 建立错题本的三个维度
刷题不复盘等于白刷。我建议用 CSV 建错题本,字段包括:题目、我的答案、正确答案、错误原因、关联知识点。错误原因分三类:概念不清、计算失误、审题偏差。关联知识点用来横向串联,比如“TCP 拥塞控制”关联到“慢启动、拥塞避免、快重传、快恢复”。
每周统计一次错误原因分布。如果“概念不清”占比超过 50%,说明需要回去看教材;如果“计算失误”多,就专门练 20 道子网划分;如果“审题偏差”多,就在题目上划关键词,比如“不正确的是”“属于网络层的是”。
5.2 用 Anki 做间隔重复
把错题本导出成 Anki 卡片,正面写题目,背面写答案和解析。Anki 的间隔重复算法能让你在快忘记的时候刚好复习。我一般设置新卡片每天 20 张,复习卡片不限。坚持两周,TCP 和 HTTP 的题基本不会再错。
Anki 卡片模板可以加一个“易错点”字段,用红色字体标出。比如“TIME_WAIT 等待 2MSL”卡片,易错点写“不是确保 ACK 到达,是让旧报文消失”。这样每次复习都能强化正确记忆。
5.3 模拟笔试的时间分配
真实笔试通常 60 分钟 40 道题,平均 1.5 分钟一道。我的时间分配是:选择题 40 秒一道,填空题 30 秒,简答题 5 分钟,计算题 3 分钟。遇到卡壳的题先标记,全部做完再回头。
模拟时用计时器,严格按考试节奏。做完后不仅对答案,还要算“如果这道题在考场上,我能不能在 1.5 分钟内做出来”。如果不能,说明熟练度不够,需要加练。
注意:不要在模拟时查资料,查了就等于没模拟。错题本里记下“当时为什么卡住”,比记答案更有价值。
6. 一个被低估的提分技巧:手写协议交互图
笔试简答题里,画图往往比文字更得分。我习惯在草稿纸上手写 TCP 三次握手和四次挥手的时序图,标出每个报文的 SYN、ACK、seq、ack 字段。这样答题时直接照着图写文字,不会漏步骤。
具体画法:左边客户端,右边服务端,两条竖线。三次握手画三根箭头:SYN=1, seq=x;SYN=1, ACK=1, seq=y, ack=x+1;ACK=1, seq=x+1, ack=y+1。四次挥手画四根箭头,标出 FIN、ACK、FIN、ACK 和对应的 seq/ack。TIME_WAIT 画在主动关闭方,标注 2MSL。
这个技巧在面试白板上同样管用。很多面试官让你“描述 TCP 挥手”,你直接画图,对方会觉得你基础扎实。我当年校招就是靠手画状态图,把面试官从“背题”的怀疑里拉出来,最后拿到 offer。
另一个技巧是给每个协议编一个“一句话场景”。比如 ARP 是“喊话问 MAC”,DHCP 是“租房拿 IP”,DNS 是“查电话簿”。这些口语化记忆在笔试紧张时能快速唤醒正确知识块。希望帮到你。
本文还有配套的精品资源,点击获取