02 计算机基础
2026/8/25...大约 4 分钟
02 计算机基础
网络、操作系统、数据结构与算法。测开面试的技术底座,尤其是校招、实习和大厂面试的必考项。
为什么重要
测开面试也会问计算机基础,尤其是校招、实习和大厂面试。更重要的是:这些基础直接决定你后续的排障能力。接口偶发超时、页面加载慢、服务内存泄漏,这些真实问题都要用网络和操作系统的知识去定位。
不用按考研 408 的深度全啃一遍,但要能讲清楚下面清单里的东西。
知识清单
计算机网络【必须掌握】
- HTTP/HTTPS:请求方法、状态码、Header、Cookie、报文结构;HTTPS 的握手过程和证书作用。
- TCP/UDP:三次握手、四次挥手、TIME_WAIT;TCP 和 UDP 的适用场景。
- DNS:域名解析过程,本地缓存、递归查询。
- 会话机制:Cookie / Session / Token / JWT 的区别和适用场景。
- 常见状态码:200 / 301 / 302 / 400 / 401 / 403 / 404 / 500 / 502 / 503 / 504 各代表什么。
- 经典问题:浏览器输入 URL 后发生了什么(能顺着 DNS → TCP → TLS → HTTP → 渲染完整讲下来)。
计算机网络【了解即可】
- HTTP/1.1、HTTP/2、HTTP/3(QUIC)的演进。
- WebSocket 与长连接。
- CDN、代理、网关的基本作用。
操作系统【必须掌握】
- 进程和线程的区别,进程间通信方式。
- 上下文切换是什么,为什么频繁切换会损耗性能。
- 死锁的四个必要条件,怎么避免。
- 内存管理:虚拟内存、页表、堆和栈的区别。
- 基本 I/O 模型:阻塞、非阻塞、I/O 多路复用(select / epoll 的名字听懂即可)。
操作系统【了解即可】
- CPU 调度策略。
- 文件系统基本原理。
- Linux 下的信号机制。
数据结构与算法【必须掌握】
- 数据结构:数组、链表、栈、队列、哈希表、树(重点二叉树)、堆。
- 算法:常见排序、二分查找、双指针、DFS / BFS、动态规划基础(爬楼梯、背包入门即可)。
- 复杂度分析:能说出自己写法的时间 / 空间复杂度。
系统设计意识【必须掌握(概念级)】
不用会设计大系统,但要能解释这些名词的作用和场景:
- 缓存、限流、超时、重试、熔断、降级、幂等。
- 日志、监控、告警为什么是质量保障的基础设施。
学习建议与常见误区
- 计网要贴着排障场景学。 测开被问计网,很少问纯概念。典型问法:页面加载慢怎么查?接口偶发超时怎么定位?App 抓包看到 401 / 403 / 500 分别可能是什么原因?你不能只背概念,要能顺着请求链路说:客户端 → DNS → 网络 → 网关 → 服务 → 数据库,每一层可能出什么问题、用什么手段验证(ping、curl、traceroute、抓包、看日志)。
- 算法不用刷到后端岗那么极限,但基本题要做。 测试开发依然是技术岗,笔试和一面遇到算法题很正常。LeetCode 简单全刷 + 中等热门 100 题左右是够用的基线。哈希表、双指针、二分是测开笔试最高频的三类。
- 别陷入「先把基础全学完再往下走」。 计算机基础可以和编程语言并行,学语言累了换基础课换换脑子,两线交叉推进。
- 误区:背面试题答案。 「四次挥手为什么不能三次」这类题背下来的和理解的,面试官两个追问就能分辨。用「为什么这样设计、解决什么问题」的方式理解每个知识点。
自查清单
- 浏览器输入 URL 到页面展示,完整讲一遍过程,标出每一步可能出错的场景。
- 401 和 403 的区别是什么?分别在测登录接口时意味着什么?
- Cookie、Session、Token 的区别?接口自动化里怎么维护登录态?
- 三次握手为什么是三次?TIME_WAIT 太多可能说明什么问题?
- 进程和线程的区别?测试并行执行时为什么要关注进程/线程数?
- 死锁的四个必要条件?举一个测试场景里的「死锁」类问题(如两条用例互相等待对方释放数据)。
- 手写:快排或归并、二分查找、用哈希表找两个数组的交集。
- 缓存、限流、熔断、降级分别解决什么问题?测试时要分别验证什么?
推荐资源
- 小林coding《图解网络》《图解系统》:中文计算机基础入门第一推荐,图解友好,贴合面试。
- Hello 算法:开源免费的动画图解数据结构与算法,支持多语言示例。
- LeetCode:算法练习主力,按「热题 100」+ 简单题全刷的节奏来。
- 《计算机网络:自顶向下方法》:想系统补理论时的教材级选择,选读。
- AI 测试开发导航 · 教程专栏:与本章配套的计算机基础实战教程。