news 2026/4/18 13:12:14

面试题目记录

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
面试题目记录

我是一个小小的垃圾测试工程师,目前作为一个垃圾测试,想换工作,想慢慢积累属于自己的面试题目。

通用面试题

你们的测试流程是什么样的?

你在工作中可有遇到什么难题?

python面试题

C++面试题

设计用例面试题

题目一:存储用例设计

给你十六个视频源,接十六个存储盘,每次启动一个存储盘,每当一个存储盘存储满之后,再开启下一个存储盘,当十六个存储盘存满之后,再继续从第一个开始循环,你怎么设计测试用例。

这道题是最近面试官给的题目,我作为UFS存储芯片设计,小小外包,从来没接触过用例设计,所以没答上来,但这种题肯定会常问的,答案是我问的AI,仅参考参考。

一、 核心功能测试:验证“轮转存储”机制正确性
这是测试的基石,要确保系统最基本的行为符合设计预期。

单个循环基础流程验证:

用例1: 启动系统,向视频源写入数据。确认只有第一个存储盘被激活并开始存储,其余15个处于待命或未激活状态。

用例2: 持续写入,直到第一个存储盘达到其定义的“满”状态(如容量达到95%,或文件系统报满)。监控系统,确认在第一个盘满的瞬间或之后,系统能自动、无中断地切换到第二个存储盘,并继续写入。

用例3: 重复上述过程,依次验证第2个盘满后切换到第3个,第3个到第4个……直到第16个盘。记录每次切换的触发点(实际容量)、切换延迟和数据是否有丢失。

用例4(关键用例): 在第16个存储盘存满后,持续写入。验证系统是否能正确循环回第一个存储盘。这里需要明确:是覆盖第一个盘上的旧数据,还是清空后重新开始?根据设计不同,要验证其行为是否符合预期(例如,覆盖最早的视频文件)。

多轮循环稳定性验证:

用例5: 进行连续多轮(如3-5轮) 完整的16盘循环存储测试。检查系统在长时间、多周期运行下,轮转逻辑是否始终保持一致,没有出现跳盘、重复使用同一盘或顺序错乱的情况。

二、 边界与异常情况测试:挑战系统的鲁棒性
这是衡量系统是否成熟的关键,需要模拟各种“意外”。

存储盘“满”的边界定义:

用例6: 测试不同“满”的定义。是物理容量100%?还是预留管理空间后的“逻辑满”(如95%)?在临界点(如99.9%)持续写入小块数据,观察切换触发是否精准,是否会因缓存等原因导致切换前写入失败。

用例7: 慢盘测试:其中一个盘写入速度极慢,导致数据流入速率大于写入速率。系统是等待该盘缓慢写满,还是根据超时机制切换?这需要明确设计逻辑。

存储盘异常场景:

用例8: 盘中拔盘:在某个盘正在存储时,热拔除该盘。系统应能检测到错误,并尝试:a) 切换到下一个可用盘继续存储;b) 报警并暂停。需验证后续轮转是否跳过这个坏盘,还是将其保留在序列中。

用例9: 插入坏盘/未格式化盘:在轮转序列中预置一个无法识别的坏盘或RAW格式盘。当轮转到它时,系统应能跳过它并转到下一个好盘,同时产生明确告警。

用例10: 盘提前满:手动将一个未轮转到的盘填满,观察当轮转到它时,系统是尝试写入失败后切换,还是能智能识别其已满状态直接跳过。

系统与电源异常:

用例11: 切换瞬间断电:恰好在存储盘A满、切换到盘B的瞬间切断系统电源。重启后,检查:上次写入的文件是否完整?系统是应该从盘B开始继续写,还是回退到盘A的末尾?需验证数据的一致性和状态恢复的正确性。

用例12: 任意时刻断电:在循环中的随机时间点暴力断电重启,检查文件系统损坏情况,以及系统重启后是否能从正确的盘继续写入。

三、 性能与压力测试:评估系统的实际承载能力
吞吐量与实时性:

用例13: 十六路视频源同时满带宽写入:测试系统的聚合写入带宽是否满足要求。监控每个盘的写入速度,确保在切换期间和稳定写入期都没有性能瓶颈。

用例14: 切换延迟测试:精确测量从“盘N满”到“盘N+1成功写入第一个数据包”的时间差。这个延迟必须小于视频源的缓冲区,否则会导致数据丢失。这是核心性能指标。

压力与容量风暴:

用例15: 使用小容量盘进行高频切换:用16个小容量U盘进行测试,让系统在短时间内频繁触发盘满切换,考验状态机切换的稳定性和文件系统频繁挂载/卸载的可靠性。

用例16: 混合磁盘类型:模拟真实场景,使用不同品牌、型号、速度(HDD, SSD, UFS卡)的存储介质混合测试,观察系统兼容性和最慢磁盘对整体流程的影响。

四、 配置与兼容性测试
用例17: 变更存储盘数量:如果系统支持配置,测试配置为少于16个(如8个)、多于16个盘时,轮转逻辑是否正常。

用例18: 变更存储盘顺序:如果系统能识别盘符或槽位,打乱物理插入顺序,测试轮转顺序是基于物理槽位还是基于系统发现的顺序。

五、 数据完整性验证
这是存储系统的根本,所有功能都必须建立在数据正确的基础上。

用例19: 数据校验:在视频源端,对发出的每一帧数据植入校验码(如CRC)或使用固定测试 pattern。在存储盘上,随机抽查各个盘、各个时间段存储的文件,进行回读校验,确保数据比特级正确。

用例20: 文件系统与索引检查:检查每个盘上生成的文件是否完整(没有半截文件),文件命名、时间戳序列是否连续正确,能否被标准播放器正常解码播放。

---------------------------------------------------------------------------------------------------------------------------------

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 3:08:27

基于springboot+vue的农产品销售管理系统(源码+论文+部署+安装)

感兴趣的可以先收藏起来,还有在毕设选题,项目以及论文编写等相关问题都可以给我留言咨询,我会一一回复,希望可以帮到大家。一、程序背景随着农业生产规模化、市场化推进及信息技术迅猛发展,农产品销售逐渐突破地域限制…

作者头像 李华
网站建设 2026/4/18 7:53:05

快捷键:Ctrl+Shift+P打开命令面板

核心作用命令面板相当于一个 “功能总菜单”,你可以通过输入关键词快速搜索并执行 VS Code 的所有功能,无需在各级菜单中点击查找,大幅提升操作效率。常见用途(结合你的 ESP32 开发场景)执行开发命令:输入E…

作者头像 李华
网站建设 2026/4/18 4:03:10

线程并行控制CompletableFuture

并行执行两个任务A和B。主线程等待时间最长为3s。所以A和B,单独运行的时长最长也是3s。 且如果A和B都没有超时,那么优先取A的值。否者谁不超时,就取谁。 线程池单个提交 比如下面的代码,先提交了两个异步任务,此时都…

作者头像 李华
网站建设 2026/4/18 5:33:40

Transformer模型详解:从入门到掌握大模型必备基础知识

本文详细介绍了一个包含8个章节的Transformer模型讲义,从整体框架到具体实现,包括Encoder-Decoder结构、文字向量化、位置编码、多头注意力机制、残差连接与层归一化、前馈神经网络以及模型输出等核心内容。该讲义旨在帮助读者彻底掌握Transformer原理&a…

作者头像 李华