测开面经 - Shopee
一面
基础八股
- 自我介绍
- 为什么选择测试?
- TCP 与 UDP 的区别
- TCP 面向连接,可靠传输;UDP 无连接,不可靠但高效
- 三次握手与四次挥手
- 三次握手:SYN → SYN+ACK → ACK
- 四次挥手:FIN → ACK → FIN → ACK
- 数据库:查询成绩前10名的学生信息sql
SELECT s.* FROM student s JOIN score sc ON s.id = sc.stu_id ORDER BY sc.score DESC LIMIT 10; - ACID 了解吗?说一下
- Atomicity(原子性)、Consistency(一致性)、Isolation(隔离性)、Durability(持久性)
- 索引是什么?用什么实现?
- B+ 树索引、哈希索引、全文索引
- 深拷贝与浅拷贝
编程题
- 字符串去重后排序
- 查询 Order_A 中有但 Order_B 中没有的订单sql
SELECT * FROM Order_A WHERE id NOT IN (SELECT id FROM Order_B); - 描述插入排序、堆排序、冒泡排序、快速排序的时间复杂度和稳定性
| 排序算法 | 最好 | 平均 | 最差 | 空间 | 稳定性 |
|---|---|---|---|---|---|
| 插入排序 | O(n) | O(n²) | O(n²) | O(1) | 稳定 |
| 冒泡排序 | O(n) | O(n²) | O(n²) | O(1) | 稳定 |
| 快速排序 | O(nlogn) | O(nlogn) | O(n²) | O(logn) | 不稳定 |
| 堆排序 | O(nlogn) | O(nlogn) | O(nlogn) | O(1) | 不稳定 |
- 四个人过桥问题(智力题)
- 一次最多过两人,手电筒维持17分钟
用例设计
- 邮箱登录页面设计测试用例
- 接口(GET/POST)设计测试用例
二面
项目深挖
- 自我介绍
- 项目细节:具体怎么实现?应用场景?有什么难点?怎么解决?(聊30min+)
编程题
- 10万个数据里找出前100个数(TopK 问题,用最小堆)
- 数据库分页查询:每页10条,查第3页sql
SELECT * FROM table_name LIMIT 10 OFFSET 20;
用例设计
- 优惠券创建页面怎么测试?
- 智力题:9个球一个偏轻,天平最多几次找到? → 2次
HR面
- 职业规划
- 为什么选 Shopee
- 期望薪资
高频考点汇总
| 类别 | 高频题 |
|---|---|
| 计算机网络 | TCP/UDP区别、三次握手四次挥手、HTTP/HTTPS |
| 数据库 | SQL查询、索引、ACID、分页 |
| 编程 | 字符串处理、TopK、排序算法 |
| 用例设计 | 登录页面、优惠券、接口测试 |
| 智力题 | 过桥问题、9球称重 |
