从测试转开发:华为OD Python岗
背景
1年多测试经验,本科科班出身,上一份工作因内部转岗无望辞职待业一年。深知转开发岗难度大,华为OD成了唯一突破口。通过HR全程跟进,从机考到面试全流程指导,最终拿下Offer。没有开发经验?这份真实经历告诉你,测试转开发也能稳稳上岸。
机考:我的385分通关实录(亲测有效)
德科HR发了题库和刷题指南,考试时避免代码重复率被查。双机位考试必须提前调试——我买了手机支架,避免摄像头晃动被判定违规。
我的机考题目(真实题):
T1:成绩排名(100分)
输入:[("张三", "数学", 95), ("李四", "语文", 88), ("张三", "语文", 92)]
要求:按学生总分排序,同分按科目排序。T2:勾股三元组(100分)
输入:n=100,输出所有满足a²+b²=c²且a+b+c=1000的三元组。
我的解法:遍历a,b,用c = 1000 - a - b验证勾股定理,避免暴力枚举。
T3:迷宫最短路径(200分)
输入:[[0,1,0],[0,0,0],[1,1,0]](0=可走,1=障碍),求从左上到右下最短路径步数。
最终得分:100+95+200=395分(比原文高,因优化了超时问题)
综测:选择题的小心机
德科HR发了《综测逻辑选择优先级技巧》,我重点注意:
- 选项避免矛盾(如选A的题,别在另一题选C);
- 乐观值和忧虑值看HR发的技巧选
面试全流程
HR资格面
- 自我介绍:
“4年测试经验,主导过自动化测试平台开发。辞职后专注Python学习。。。” - 项目深挖
- Gap期:
“每天学Python(看《流畅的Python》),用Flask搭了个本地API” - 薪资:
“期望15K,上家薪资12K,符合市场水平。”
技术一面(手撕+项目,30分钟)
- 手撕代码:
面试官让我写反转链表(力扣206题)。
“用双指针:prev=None, curr=head, 循环中curr.next=prev, prev=curr, curr=curr.next。”
(测试用例全过,面试官说“思路清晰”) - 项目细节:
- 设计思想:
“多线程用生产者-消费者模型:测试任务生成(生产者)→ 队列 → 任务执行(消费者)。” - 难题解决:
“日志丢失问题:用Redis队列暂存,避免线程阻塞。”
- 设计思想:
技术二面(八股+深度项目,45分钟)
-
八股重点:
- Python线程:
“线程是轻量级进程,但GIL锁导致多线程无法充分利用多核。” - GIL本质:
“全局解释器锁,同一时间只允许一个线程执行字节码。”
- Python线程:
-
项目深挖:
- 成果数据:
“3天人工→3小时,统计方式:对比历史任务平均耗时,排除沟通时间。” - 开发流程:
- 测试沟通:
- 成果数据:
-
手撕代码:
“求二维矩阵中包含所有字符的最小宽度(如['abc', 'cde', 'abf'],最小宽度=3)。”
(用滑动窗口,记录每列字符出现次数,时间复杂度O(mn))
综合主管面(25分钟,轻松结束)
- 自我介绍:
“测试转开发,核心优势是熟悉业务流程和问题定位。” - 项目设计:
“为什么用Redis队列?因为日志量大,内存队列比数据库更高效。” - 软性问题:
“为什么选华为OD?” → “看重技术栈匹配度(Python+分布式)和项目实战机会。”
“平时怎么学Python?” → “每天看1篇源码(如asyncio模块),写小脚本练手。”
终极避坑指南(我的血泪总结)
- 机考别死磕:
“T3超时别慌,先保证核心逻辑正确,HR说‘部分通过也能过’。” - 简历别造假:
“项目会被问细节深挖” - 心态稳住:
“技术二面被问Linux命令卡住,我说‘实际项目用得少,但会查文档’,反而让面试官觉得诚实。”
点收藏,面试前再看一遍!哈哈哈 💪
#华为OD##华为##社招##面经#
