Raina测试学习指南

学习

导读
面试题
对话式面试题
AI 测试教程
软件测试教程

社群

知识星球
学习交流群

更多

其他工具
关于作者
粤ICP备2026144526号-1
Raina测试学习指南Raina测试学习指南
导读
面试题
对话式面试题
AI 测试教程
软件测试教程
知识星球
学习交流群
  • Raina测试工具集
  • Raina常用网站&工具合集
  • 小红书
  • B站
  • 作者介绍
导读
面试题
对话式面试题
AI 测试教程
软件测试教程
知识星球
学习交流群
  • Raina测试工具集
  • Raina常用网站&工具合集
  • 小红书
  • B站
  • 作者介绍
  • 基础测试方向

    • 测试基础理论面试题
    • 测试用例设计面试题
    • 功能测试面试题
    • 性能测试面试题
    • 自动化测试面试题
    • 接口测试面试题
    • 移动端测试面试题
    • 安全测试面试题
    • 测试管理面试题
    • 测试工具面试题
    • 敏捷测试面试题
    • 数据库测试面试题
    • 兼容性测试面试题
    • 测试环境管理面试题
    • 测试文档面试题
    • 测试编程语言面试题
    • 测试最佳实践面试题
    • 项目实战面试题
  • AI 测试方向

    • AI测试基础与AI辅助测试面试题
    • 大模型LLM应用测试面试题
    • AI Agent与AIGC评估面试题
    • 机器学习模型与AI安全测试面试题
    • AI Agent协议与扩展机制测试面试题
  • 业务领域专项

    • 电商交易系统测试面试题
    • IM即时通讯系统测试面试题
    • 支付与金融系统测试面试题
    • 直播与短视频系统测试面试题
    • 社交Feed系统测试面试题
    • 外卖与出行系统测试面试题
    • 在线教育系统测试面试题
    • RTC实时音视频系统测试面试题
    • 办公SaaS与多租户系统测试面试题
  • 大厂面试题

    • 字节跳动测试面试题
    • 阿里巴巴测试面试题
    • 腾讯测试面试题
    • 美团测试面试题
    • 快手测试面试题
    • 百度测试面试题
    • 华为测试面试题
    • 京东测试面试题
    • 拼多多测试面试题
    • 网易测试面试题
    • 小红书测试面试题
    • 滴滴测试面试题
    • 小米测试面试题
    • 蚂蚁集团测试面试题
  1. Raina测试学习指南
  2. /面试题
  3. /大厂面试题

快手测试面试题

本题清单

  1. 购物车如何设计测试用例?
  2. 压测关注什么?工具与抓包?
  3. 消息队列怎么选型?RocketMQ vs Kafka?
  4. Kafka 如何保证有序、不丢、可靠?测试怎么做?
  5. RocketMQ 如何保证有序?
  6. Redis 分布式锁线程挂了怎么办?
  7. 针对一个杯子设计测试用例
  8. 大表拆成多个小表后怎么测?
  9. 白盒测试你怎么理解?给代码设计用例
  10. MySQL 索引类型?越多越好吗?查询慢原因?
  11. MySQL 事务隔离级别?脏读、不可重复读、幻读怎么测?
  12. 短视频点赞高并发怎么测?要防哪些问题?
  13. 线程池核心参数有哪些?怎么结合测试验证?
  14. Linux 上磁盘打满或 inode 耗尽怎么排查?
  15. 接口签名防篡改怎么设计测试用例?
  16. 消费消息「至少一次」语义下,业务如何保证正确?怎么测?

1. 购物车如何设计测试用例?

参考答案:

主流程:加购、改数量、删除、全选、去结算、再次返回车内状态。
商品态:下架、无库存、限购、区域不可售、价格变更后的提示。
价格:单品活动、满减、券、运费、精度(分)。
并发:两端同时改同一 SKU 数量;结算瞬间库存被抢光。
登录态:未登录本地车、登录合并、切换账号。
安全:篡改商品单价/数量请求;改别人的 cartId。
性能:上百 SKU 加载、频繁刷新。

结算链路与库存、优惠强一致是 P0。


2. 压测关注什么?工具与抓包?

参考答案:

指标同性能题:QPS/TPS、RT 分位、错误率、资源、业务成功。

工具:JMeter(脚本与生态)、Locust(Python 灵活)、内部平台。

抓包:Charles/Fiddler 看 HTTPS 业务包;Wireshark 看网络层。弱网、断点、改包测校验,都要在安全允许范围内做。


3. 消息队列怎么选型?RocketMQ vs Kafka?

参考答案:

按需求四象限选:

诉求更倾向
超高吞吐日志/大数据Kafka
业务顺序消息、延时消息、事务消息RocketMQ
Java 业务生态、运维习惯看团队栈
金融级可靠性(同步刷盘等)仔细评估 RocketMQ 事务与刷盘配置

答题结构:「先问业务要不要顺序/延时/事务,再问峰值吞吐,再谈运维成本。」


4. Kafka 如何保证有序、不丢、可靠?测试怎么做?

参考答案:

  • 有序:单分区内有序;同业务键哈希到同分区。跨分区不保证全局有序。
  • 不丢:生产者 acks=all,ISR 同步;消费者提交位点要在业务成功之后(至少一次语义时还要业务幂等)。
  • 可靠:多副本、监控 ISR、磁盘与配额。

测试:杀 leader、网络分区、消费失败重试、重复消费是否幂等、堆积告警、顺序敏感业务的乱序注入。


5. RocketMQ 如何保证有序?

参考答案:

发到同一 MessageQueue(分区顺序);全局有序则强制单队列,吞吐下降。消费者要单线程或按队列串行消费,否则仍可能乱序。

测试:同一订单状态消息(创建→支付→发货)乱序到达时状态机是否拒绝非法迁移。


6. Redis 分布式锁线程挂了怎么办?

参考答案:

风险:锁未释放导致死锁;或锁过期后业务仍在跑,另一线程加锁成功造成并发。

手段:

  1. 锁 value 用唯一 token,释放只删自己的锁(Lua)。
  2. 合理 TTL;长久任务用看门狗续期(如 Redisson)。
  3. 业务仍要幂等,锁只是互斥增强。
  4. 谨慎时钟回拨。

测试用例:持锁进程 kill -9;续期失败;锁过期后原进程仍写;误释放他人锁。


7. 针对一个杯子设计测试用例

参考答案:

展示质量模型即可:

  • 功能:盛水不漏、盖子密封、刻度准确。
  • 安全:食品级材质、高温不开裂、破损刮手。
  • 性能:保温时长。
  • 易用:单手开盖、清洗。
  • 外观:印刷耐磨。
  • 环境:极冷极热、跌落、洗碗机。
  • 边界:超满、空杯加热(若宣称可微波则测)。

P0 是安全与不漏。


8. 大表拆成多个小表后怎么测?

参考答案:

  1. 路由:同一用户/订单是否总落到正确分表;边界 shard key。
  2. 迁移:双写/校验阶段旧新数据一致;切换后读新。
  3. 查询:跨分片分页、聚合、排序是否仍正确或产品降级。
  4. 事务:跨库事务是否改为最终一致,补偿是否测到。
  5. 性能:单表变小后的 RT;热点分片是否倾斜。
  6. 回滚:切回方案。
  7. 运维:扩容加分片时的再均衡。

9. 白盒测试你怎么理解?给代码设计用例

参考答案:

白盒基于内部结构设计用例,关注语句/分支/条件/路径覆盖,补充黑盒看不到的分支。

例如判断链表是否有环的快慢指针:

  • 空、单节点、两节点互指、无环长链、环在开头、环在中部、大输入性能。
  • 若有调试开关或计数器,也可断言「相遇次数」等。

测开岗常在手撕后立刻问这题,要准备好。


10. MySQL 索引类型?越多越好吗?查询慢原因?

参考答案:

类型:主键(聚簇)、唯一、普通、联合、前缀等;了解覆盖索引、最左前缀。

不是越多越好:写入要维护索引;空间占用;优化器可能选错。应按慢查询与基数来建。

慢查询常见原因:没走索引、索引失效(函数、隐式转换、模糊前导 %)、数据量大、锁等待、统计信息过旧、深分页、回表过多、单机资源瓶颈。

排查:EXPLAIN、慢日志、show processlist,再针对性优化。


11. MySQL 事务隔离级别?脏读、不可重复读、幻读怎么测?

参考答案:

级别脏读不可重复读幻读
READ UNCOMMITTED有有有
READ COMMITTED无有有
REPEATABLE READ无无可能有
SERIALIZABLE无无无

怎么测:开两个会话,按定义构造——A 更新未提交 B 是否读到(脏读);A 提交后 B 再读是否变化(不可重复读);A 插入新行 B 范围查询是否多行(幻读)。结合 InnoDB 当前默认 RR 与间隙锁说明。


12. 短视频点赞高并发怎么测?要防哪些问题?

参考答案:

功能:点赞/取消、计数展示、是否幂等(连点)。
并发:同用户连点只计一次;多用户点赞计数最终正确(允许短暂延迟要说明)。
热点:明星视频计数器、Redis 与 DB 对账。
安全:刷赞、未登录、越权给他人内容点赞。
体验:弱网连点、列表与详情计数一致。


13. 线程池核心参数有哪些?怎么结合测试验证?

参考答案:

参数:corePoolSize、maximumPoolSize、keepAliveTime、workQueue、拒绝策略、线程工厂。

设置:CPU 密集约核数+1;IO 密集可更大,但看下游。

测试:打满队列触发拒绝策略;任务堆积告警;慢任务占满线程导致接口超时——用压测与线程栈验证。测开常被追问「拒绝后业务是否可感知」。


14. Linux 上磁盘打满或 inode 耗尽怎么排查?

参考答案:

  • 空间:df -h,再 du -sh * 找大目录;查日志是否无限增长。
  • inode:df -i,小文件过多也会写失败。
  • 已删但未释放:lsof | grep deleted,重启或结束占用进程。
  • 测试侧:日志轮转、磁盘水位告警、填满磁盘看服务是否优雅失败。

15. 接口签名防篡改怎么设计测试用例?

参考答案:

  1. 正确签名通过。
  2. 改任意参数、改签名、重放旧签名、过期 timestamp。
  3. 缺字段、乱序拼接(若算法对顺序敏感)。
  4. 时钟偏移边界。
  5. 越权:用 A 签名访问 B 资源。

安全测试要在授权环境下进行。


16. 消费消息「至少一次」语义下,业务如何保证正确?怎么测?

参考答案:

至少一次 ⇒ 可能重复消费 ⇒ 业务必须幂等(唯一键、状态机守卫、Redis 去重)。

测:同一消息投递多次;消费成功后再次投递;消费半成功进程崩溃再投递。断言副作用只发生一次(积分只加一次等)。


速查: 多练「MQ/Redis 故障怎么测、购物车场景」;少踩「中间件只背概念」。

最近更新: 2026/9/30 15:13
Prev
美团测试面试题
Next
百度测试面试题
MIT Licensed|Copyright © 2026 Raina测试, All rights reserved.