面灵AI→

华为 OD 测试岗社招复盘:机考、两轮技术面与主管面

轮次
技术面+主管面
base
成都
结果
已入职,定级 D2
时间
2026-10
来源
牛客网

《面试题目》

  1. 测试用例设计有哪些方法?现场给一个登录框设计用例。
  2. HTTP 常见状态码有哪些?GET 和 POST 有什么区别?
  3. 接口自动化框架怎么搭?数据驱动怎么做的?
  4. SQL 多表查询、左连接怎么写?索引什么时候会失效?
  5. Linux 常用命令有哪些?线上问题怎么看日志?
  6. 自动化测试中遇到过什么问题?怎么解决的?
  7. 考研失利后 gap 的大半年在做什么?为什么现在选择工作?
  8. 为什么转测试而不是继续做开发?
  9. 机考三道算法题分别考了什么?怎么准备?
  10. 主管面:为什么考研?现在还想不想考?能不能稳定下来?家里支不支持?

《参考解析》

登录框测试用例:按“功能、界面、易用性、兼容性、安全、性能”六类展开。功能上覆盖账号密码都正确、账号错、密码错、都错、为空、只填一项、大小写、前后空格、超长输入、特殊字符、验证码过期/错误、回车提交、连续点击、记住密码、找回密码、注册入口。安全上覆盖 SQL 注入、XSS、暴力破解锁定、密码明文传输、越权登录、验证码绕过。兼容性覆盖主流浏览器、分辨率、移动端键盘。性能看并发登录与响应时间。每条用例写清前置条件、步骤、预期结果,面试时先讲分类框架再举例,比零散背用例更加分。

HTTP 与接口基础:状态码按类记:2xx 成功(200、201、204),3xx 重定向(301 永久、302 临时、304 未修改),4xx 客户端错误(400 参数错、401 未认证、403 无权限、404 不存在、429 限流),5xx 服务端错误(500、502 网关错误、503 不可用、504 超时)。GET 用于获取资源、参数在 URL、可缓存、幂等;POST 用于提交或创建、参数在 body、默认不缓存、不保证幂等。接口测试还要关注鉴权头、Content-Type、超时、重试与幂等键。

接口自动化与数据驱动:典型分层是“用例层 + 业务封装层 + 请求层 + 数据层 + 报告层”。用 pytest 组织用例,requests 发请求,fixture 管理登录态与测试数据,参数化把测试数据从代码里抽到 YAML/Excel/数据库,断言覆盖状态码、业务码、字段 schema 和关键业务字段。数据驱动不是把数据塞进列表就完事,还要处理数据隔离(每个用例独立账号或事务回滚)、环境切换、失败重试与清理。持续集成里按 smoke/regression 分层跑,报告里保留请求与响应,失败能直接定位。

SQL 与 Linux:多表查询先讲清 join 语义:inner join 取交集,left join 保留左表全部、右表无匹配补 NULL,right join 相反,full join 取并集。索引失效常见于:对索引列做函数或运算、隐式类型转换、前导模糊 like '%x'、联合索引不满足最左前缀、OR 连接非索引列、范围查询后的列无法继续用索引、以及优化器判断全表扫描更便宜。Linux 看日志常用 tail -f、grep -n、awk、sed、less +F,再配合 df -h、top、netstat/ss、lsof 定位资源与端口。

gap 与转岗:如实说,不编经历。结构可以是“发生了什么 → 这段时间做了什么 → 为什么现在选这个方向 → 我能稳定做下去”。把 gap 期转成可验证的动作:系统学了接口自动化、刷了 SQL 和 Linux、做了练习项目,能讲出具体产出。面试官真正担心的是“停着”和“不稳定”,所以要把学习证据和职业动机讲清楚。转测试的理由不要贬低开发,而是讲匹配:测试需要开发能力做自动化、需要沟通与产品思维,自己的经历能复用。

OD 流程:机考通常三道算法题、满分 400、150 过线,分数不是唯一标准,后面的技术面与主管面能补回来;技术面一半测试基础一半项目,主管面看稳定性、动机与沟通。定级定薪由华为侧决定,和外包不是一回事。准备时按“测试理论 + 接口自动化 + SQL/Linux + 项目复盘 + 算法”五块分配时间,机考别拖到最后。