尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

华为OD面试全流程经验:机试、技术面、薪资与转正避坑指南

华为OD面试全流程经验:机试、技术面、薪资与转正避坑指南 先声明一句我不是华为员工也不是猎头就是一个前两年自己走完华为OD全部流程、最终拿到offer并入职过的普通人。写这篇东西的起因很简单身边陆陆续续有朋友问我“华为OD到底值不值得去”“机试难不难”“学历一般能不能过”。与其一个个回复不如把整个流程、踩过的坑、总结出来的经验一次性写清楚。这篇东西不吹不黑只讲实际操作层面的事情从简历怎么投、机试怎么准备、技术面问什么、薪资怎么谈到入职前后的真实状态能写的我都会写。如果你也是学历普通、背景一般但想进大厂体系里历练一下的开发者这篇文章应该能帮你少走不少弯路。1. 华为OD是什么为什么值得普通人认真考虑1.1 先搞清楚OD和正式员工的真实区别华为OD的全称是Outsourcing Developer也就是外包开发工程师。虽然挂着“外包”两个字但OD和传统意义上的项目外包、人力外包有很大不同。传统外包通常跟着项目走项目结束可能就换地方而OD是华为内部统一招聘、统一管理的研发岗位岗位本身在华为的各个业务线下工作使用的系统、开发流程、协作方式跟正式员工几乎没有区别。很多人一听到“外包”就排斥这个心态我能理解但也要分情况看。华为OD从定级到薪酬体系都是独立的和正式员工确实有差距主要体现在工号前缀不同、部分内部权限受限、长期稳定性不如正式员工以及没有股票激励。但它同时提供了一个非常明确的转正式通道入职后表现好、绩效连续拿A、所在部门有正式编制名额就有机会转为正式员工。这不是画饼身边确实有人走通这条路只是竞争激烈概率不能说得太高。1.2 什么人适合走OD这条路什么人要慎重结合我自己和周围同事的背景来看华为OD最典型的候选人是学历在本科及以上但非顶尖院校、科班或非科班出身、工作两三年想跳槽进大厂体系、或者应届毕业没拿到更好offer想先积累经验的这批人。特别说一句OD对学历的要求比正式校招宽松很多。正式校招基本卡985/211硕士而OD本科就有机会部分岗位甚至接受专升本这是很多普通背景的人能接触到华为项目的一条现实路径。如果你学历背景很强、手里有大厂正式offer那没必要考虑OD但如果你背景普通想进大厂看看完整的研发流程、参与大体量系统的开发OD是一个值得认真考虑的跳板。反过来如果你特别在意“名分”、无法接受和正式员工在工号、权限上的差异或者对工作强度比较敏感那OD可能不适合你这个心理准备要提前做好别等入职了再纠结。2. 华为OD完整面试流程拆解从投简历到拿offer要过几道关2.1 简历筛选阶段学历普通的人怎么让HR多看两眼投OD岗位的渠道主要有两个一个是华为官方招聘平台另一个是找在华为工作的朋友或同事内推。内推的效率远高于海投因为内推简历会被业务部门直接看到HR处理速度更快而且内推人可以帮你跟进流程进度。如果没有认识的人去技术社区或论坛找正在华为工作的OD或正式员工帮忙递简历也是很常见的操作只要简历匹配度高大多数人愿意帮这个忙。简历筛选环节最需要注意的不是学历而是技术栈匹配度。OD招聘是按业务线走的同一个岗位在不同部门手里的需求可能完全不同。比如同样是前端岗有的部门侧重React有的部门侧重Vue有的部门大量使用TypeScript和跨端方案。简历上把自己最熟悉、项目里最常使用的技术栈写在前面项目和经历尽量量化比如“负责XX系统重构首屏加载时间从3.2秒优化到1.1秒”这种描述比“负责系统优化”有说服力得多。学历短板在这里会被看但不会被一票否决。HR主要确认的是工作年限是否真实、技术栈是否匹配、跳槽频率是否过高、有没有明显的诚信问题。我见过只有普通二本学历但项目经验非常扎实的人顺利走到后面也见过简历写得花里胡哨但一问项目细节就露馅的人被中途刷掉。简历阶段的核心原则就一条真实、匹配、可验证。2.2 机试环节决定你能走多远的硬门槛机试是华为OD面试流程中淘汰率最高的环节没有之一。整个流程大概是简历筛选通过后HR会约一个机试时间给你一个在线考试链接在规定时间内完成编程题。机试没过后面的流程根本不会启动所以这一关怎么重视都不为过。关于机试的具体规则不同时期、不同部门会有微调但整体框架是稳定的。通常是三道题分值分布大概是100分、100分、200分总共400分及格线通常在150分上下部分部门或批次可能浮动到160分甚至更高。考试时间一般是150分钟允许使用本地IDE有的批次还允许使用自己的编译器。第一题、第二题基本是偏基础的编程题第三题会更复杂涉及更综合的算法设计。很多人看到“算法题”三个字就头大其实OD机试的难度整体低于大厂校招的算法题难度更贴近实际工作中的编码场景考的是基本的逻辑能力、常见数据结构的运用和一些经典算法的套用。我自己的感受是认真准备三到四周每天保证两到三小时刷题时间把常见题型练透过及格线是有把握的。2.3 性格测试与综合测评看似不起眼却真的会刷人机试通过之后HR会发一个性格测试链接这个环节往往被很多人忽略。实际上性格测试是有淘汰率的而且不低。它重点考察的是你的抗压能力、情绪稳定性、团队协作倾向、责任感和成就动机。性格测试最容易出现的问题是“前后不一致”。比如前面题目问“遇到困难时你是否容易焦虑”你选了“从不”后面换个方式又问类似的问题你选了“经常”这种不一致很容易被系统标记为作答不真实直接导致失败。所以做这个测试的时候不要刻意去“演”一个完美员工尽量按照自己的真实情况作答保持前后一致性。同时可以适当偏向华为比较看重的特质比如奋斗意愿、团队合作、主动性强但不要每个题都往极端方向选虚假的高分反而容易暴露。2.4 技术面试、主管面试与HR谈薪最后一公里怎么走性格测试通过后通常会安排两到三轮技术面试和一轮主管面试最后是HR谈薪。技术面试一般有两轮第一轮偏基础第二轮偏项目深挖主管面试关注的是你的综合素质和稳定性HR面则重点谈薪、谈入职时间、谈定级。整个流程走下来顺利的话一到两周能结束慢的话可能拖一个月。中间每个环节之间都可能要等这是正常现象不用太焦虑但也要做好“随时可能追加一轮面试”的心理准备。后面我会详细拆解技术面和主管面的考察重点。3. 机试备考全攻略算法题到底刷多久能过怎么刷才高效3.1 机试的题型分布与目标分数拆解先明确一个目标过线即可不用追求满分。很多人备考机试有个心态误区非要每道题都做出来结果在某一道题上死磕浪费了大量时间。实际操作中更合理的策略是保第一题、争第二题、第三题尽量拿部分分。第一题通常是字符串处理、简单数组操作、数学计算这类基础题逻辑不复杂属于送分题目标是百分百拿下。第二题难度会上去一些常见的是模拟题、排序题、简单的数据结构应用比如链表操作、栈和队列的应用这一题目标是尽量全对即使不能全对也要保证拿到大部分分数。第三题往往涉及动态规划、DFS/BFS搜索、贪心算法这些比较综合的算法设计难度最高短时间内不一定能AC但哪怕只能通过部分测试用例也能拿到一部分分数。按这个策略算账第一题100分全拿第二题保底拿60到80分第三题只要能通过部分用例拿到30到40分总分就在190到220之间过150的及格线绰绰有余。所以机试备考的核心不是“刷难题”而是“把中等题做熟”。3.2 刷题路线按优先级从高到低安排结合我自己的备考经历和周围通过机试的同事的经验刷题路线可以按优先级分为四个阶段。第一阶段是基础数据结构数组、字符串、链表、栈、队列、哈希表。这一阶段的目标是把语言层面的操作练熟尤其是字符串的切割、拼接、正则替换、字符统计这些高频操作很多题本质上就是在处理字符串。第二阶段是经典算法模板排序快排、归并、堆排序、二分查找、双指针、滑动窗口。这几个算法模板在OD机试中出现的频率非常高而且代码量不大背熟模板之后套用场景很广。比如双指针解决有序数组问题、滑动窗口解决子串问题几乎每场考试都有一道题能用到。第三阶段是搜索与动态规划DFS、BFS、回溯、基础的动态规划背包问题、最长递增子序列、编辑距离。这是第三题的常客也是大多数人觉得最难的部分。这一阶段不求把所有题都吃透但至少要把DFS/BFS的模板代码和最简单的DP状态定义方法搞清楚。第四阶段才是针对性地刷华为OD真题。牛客网上有大量的华为OD机试真题汇总包括历届考生回忆的题目和测试用例把这些真题按照题型分类过一遍效果比刷任何其他题库都好。LeetCode上的hot 100也建议刷一遍不过重点放在中等难度及以下的题目上。3.3 刷题周期与每天的时间安排经常有人问“OD算法题刷多久能过”这个问题没有标准答案取决于你的算法基础和平时写代码的熟练度。从周围案例看科班出身、平时工作有算法基础的认真刷三到四周、每天两小时基本就能过线非科班、算法几乎没碰过的建议至少留出两个月每天保证三小时以上的时间。我自己是非科班转行的当时的节奏是每天下班后刷两到三小时周末全天刷坚持了大概五周。前两周打基础中间两周专项训练最后一周做整套模拟题。第五周做模拟题的时候已经能稳定在200分以上了最后实际考试拿了220多分顺利过关。这里有一个很重要的提醒刷题不是做题越多越好而是要通过做题掌握规律。遇到一道题做不出来很正常关键是看完题解之后要自己重新写一遍隔两天再做一遍。只刷不总结刷两百道题也可能过不了线。3.4 机试现场最容易犯的坑我自己考试和后来帮朋友内推时总结过几个机试现场的常见问题这里集中说一下。第一审题不仔细。OD机试的题目描述往往很长包含很多边界条件很多人看了一半就开始写写到一半发现漏了关键条件返工浪费时间不说还容易把代码改乱。第二没有提前想清楚就用暴力解法。部分题目数据量很大暴力解法在测试用例少的时候能过但遇到大数据量的隐藏用例就会超时。考试时如果发现一个思路写完超时了优先考虑优化关键循环而不是推翻重来。第三不重视输入输出格式。OD机试对输入输出格式的要求很严格多一个空格、少一个换行都可能导致判题失败。平时刷题的时候就要养成从标准输入读、向标准输出写的习惯不要依赖自己本地调试的输入方式。第四第三题不要直接放弃。即使不会完整的解法也要根据题目写一个能跑出部分结果的代码比如暴力枚举、贪心尝试。只要通过部分测试用例就能拿分数20分在及格线面前可能就是决定性的。4. 技术面试核心考点解析重点考察你的什么能力4.1 技术面第一轮基础知识的“广度扫描”技术面第一轮通常由部门里的正式员工或资深OD担任面试官时间在40到60分钟之间重点考察基础知识的扎实程度。以开发岗为例语言基础是必考的。如果你是Java岗集合框架、JVM内存模型、并发编程、异常处理是高频考点如果是前端岗JavaScript的闭包、原型链、事件循环、this指向这些基础概念几乎是必问的如果是Python岗装饰器、生成器、GIL、深拷贝浅拷贝这些概念出现频率很高。除了语言本身计算机基础也会被问到。网络方面TCP三次握手四次挥手、HTTP与HTTPS的区别、DNS解析过程是高频题操作系统方面进程与线程的区别、死锁条件、虚拟内存这些概念也可能被抽到数据库方面索引原理、事务特性、SQL优化则取决于岗位方向是否涉及存储。这一轮的通过策略其实很简单基础概念要能用自己的话说清楚不要背官方定义要能举例子。面试官问“闭包是什么”时你不仅要说出定义还要能现场写一个闭包的例子并说明它的应用场景这在面试中会非常加分。4.2 技术面第二轮项目深度与真实编码能力第二轮技术面通常会更聚焦面试官可能是你将来所在小组的技术骨干或主管考察点从“你会什么”变成了“你实际做过什么、做到什么程度”。项目深挖是这一轮的重头戏。面试官会从简历上挑一个你最熟悉的项目然后一层层追问。比如你说做了一个秒杀系统他会问QPS大概多少、瓶颈在哪、为什么选择Redis而不是本地缓存、缓存穿透和雪崩怎么处理、数据库挂了怎么办。这些问题没有标准答案但能看出你是真的做过还是只写在了简历上。这里有一个特别重要的建议简历上写的内容一定要能扛住追问每个项目都要准备一个“技术难点”和一个“踩坑经历”。讲技术难点时用“当时遇到了什么问题—我采取了什么方案—为什么这么做—效果如何”的结构讲逻辑清楚远比技术炫酷重要。除了项目深挖这一轮往往还有手撕代码环节。手撕代码的难度低于机试常见的是实现一个函数、写一个排序算法、实现一个防抖节流或者深拷贝。重点考察的不是你会不会“算法”而是你写代码的规范和熟练度。变量命名是否清晰、边界条件是否考虑到位、代码结构是否整洁这些细节都会被看在眼里。4.3 前端开发岗高频考点与OD机试避坑因为前端岗是OD招聘的热门方向这里单独说一下前端面试的考点和机试准备的特殊之处。前端技术面的高频考点大致可以分为四块第一块是JavaScript语言基础闭包、原型链、继承、事件循环、Promise原理是重中之重第二块是浏览器相关浏览器缓存机制、渲染过程、回流与重绘、跨域解决方案第三块是框架原理React的虚拟DOM与diff算法、Hooks实现原理、Vue的响应式原理与nextTick至少要精通一个框架另一个要有所了解第四块是工程化与性能优化Webpack构建流程、打包体积优化、首屏加载优化、前端监控方案。前端方向的OD机试有个特点题目本身和语言无关但时间紧张尤其是第三题。所以建议前端岗的考生备考时直接用自己最熟悉的语言刷题不要因为觉得“算法题要用Java写”临时换语言这个想法只会让你更手生。再补充一个前端岗避坑点很多前端同学机试过了、技术面也过了却在HR面环节被问到“你愿意接受转语言吗”时很纠结。OD部门里前端要做的事情比较杂有时候需要你写小程序、做跨端方案、甚至在Node层做BFF开发如果你坚持只做纯Web页面面试官会担心你的上手速度。可以表达自己愿意学习和拓展边界但也要把技术方向的基本盘说清楚。4.4 主管面试稳定性比技术更重要主管面试通常是最后一轮技术相关面试面试官是你未来部门的直接主管或更高级别的负责人时长大概30到50分钟考察的核心不是技术深度而是“这个人进来之后能不能稳定干活、好不好配合”。主管面经常问的问题包括为什么离开上一家公司、为什么选择华为OD、你对工作地点有没有要求、能不能接受加班、未来三到五年的规划是什么。这些问题看似简单实际处处是坑关键是回答的时候要表现得既真实又积极。特别提醒一个高频问题“你怎么看待OD和正式员工的区别”这个问题回答得好坏直接影响主管面结果。不建议说“我觉得OD和正式员工没什么区别”这显得你对岗位认知不清也不建议抱怨“感觉OD就是血汗外包”这会让主管怀疑你的稳定性。更稳妥的回答思路是承认OD和正式员工在体系上确实有差异但你看重的是华为的业务平台、项目体量和成长空间希望通过实际表现争取转正式的机会。这个回答既理性又有上进心。5. 薪资与定级华为OD的base结构到底怎么算5.1 OD的定级体系和薪资构成华为OD的薪资体系和正式员工的13级到22级不同它有自己的级别体系通常用D1到D5表示分别对应不同的能力档位。D1一般是初入职场的应届生或工作经验一两年以内的候选人D2是能独立承担模块开发的成熟开发人员D3基本是小组内的技术骨干能带小团队或负责核心模块设计D4、D5则是专家级或管理方向的角色。绝大多数通过社招进入OD的普通开发人员定级在D1到D3之间。薪资构成方面OD的offer通常是基本工资加绩效工资部分岗位还有年终奖和项目奖。基本工资是每月固定发放的部分绩效工资根据月度或季度的绩效评价浮动。年终奖通常和部门效益、个人绩效挂钩金额一般在两到四个月工资之间。整体来看OD的薪资水平和中小型互联网公司的中上水平接近但和华为正式员工同级别相比仍有差距主要差在股票和长期激励部分。5.2 怎么谈薪才不吃亏谈薪是一个很容易被忽略但非常重要的环节。很多人在HR面问“期望薪资多少”的时候不好意思开口或者直接报一个过低的价格最后入职了才发现自己拿的是同级别同事的下限这种心理落差很难受。谈薪的核心原则是给出一个合理范围而不是一个具体数字。比如你调研后觉得自己应该能拿18K到20K就报“我的期望range在18到20之间”这样HR在给offer时有一定操作空间你也留下了议价余地。报范围的时候要注意HR通常会在你报的范围内就低给所以最好的策略是报一个比自己真实预期略高的范围比如真实预期18K就报19到21。另外一个很容易被忽略的点是绩效工资的比例。同样的总包A公司月薪16K加绩效2KB公司月薪18K没有绩效两个offer的总包一样但每个月到手差异很大抗风险能力也完全不同。建议在谈薪时明确问清楚base是多少、绩效占比多少、试用期薪资是否打折、年终奖的大致范围。尤其是试用期打折这件事很多公司试用期只发80%如果事先不问清楚前几个月的现金流会很紧张。6. 常见问题与避坑技巧实录上岸后才知道的那些事6.1 机试到入职全流程常见问题速查这一节把身边人被卡过、问过我最多的几个问题整理成一张速查表方便你在不同阶段对照排查。环节常见问题原因与应对策略简历筛选投递后长时间没有反馈大概率是技术栈不匹配建议找内推人帮忙确认或主动调整简历技术栈方向后重新投递机试环节总分差一点没过线多数是第三题完全放弃、前两题粗心失分建议复盘时重点看字符串处理和边界条件机试环节题目读不懂、题干特别长OD机试部分题目描述确实偏长平时养成画关键条件的习惯提取输入输出格式后再动手性格测试提示作答无效需要重测基本是前后选项不一致重测时尽量放松按真实情况作答不要刻意放大人设技术面试被问到底层原理答不上来说明平时停留在API使用层面面试前找时间系统过一遍语言核心机制这部分逃不掉HR面对定级不满意可以在合理范围内用offer进行对比但不能态度强硬OD的定级复核空间有限入职之后工作内容与面试描述不符面试时可以多问一句“具体负责的业务线是什么、当前团队的研发重心是哪块”降低偏差概率6.2 入职后真实工作节奏与转正式员工的可能性关于OD入职之后的工作体验不同部门差异巨大这个必须诚实说。有的部门业务发展稳定、管理规范、同事氛围好OD的工作感受接近正式员工有的部门项目压力大、赶工期的时候连轴转OD干的活和正式员工也几乎没区别。整体而言华为体系内的研发强度都不低月度版本迭代、周度联调排期、线上问题响应都是日常工作的组成部分。说到转正式员工这个问题几乎每一个入职OD的人都会关心。从我了解到的实际情况来看转正式的名额是部门层面动态分配的和部门的编制情况、招人计划、你的绩效表现都有关。一般情况下入职一年以上、绩效连续拿A或A减、手头负责的核心模块有突出贡献、并且部门刚好有转正名额才有机会进入转正流程。注意转正不是“到了一定年限自动转”而是有名额、有竞争、有评审的有运气成分在里面。所以我的建议是把OD当作一块跳板而不是终点。在OD期间可以最大限度利用华为的平台和资源系统学习大厂的工程规范、代码审查机制、项目管理和交付流程这些经验对未来无论是转正式还是跳槽去其他公司都是非常宝贵的。身边也有同事在OD岗位上干了一两年后拿着在华为积累的经验跳去了更好的平台薪资翻倍这条路同样走得通。6.3 给正在准备面试的人几条掏心窝的建议最后说说我自己走过一遍流程之后最想说的话。第一不要因为学历背景而自我设限。华为OD的面试尤其是机试环节是非常“结果导向”的代码能不能跑通、测试用例能不能过跟你是什么学校毕业的没有任何关系。机试高分通过本身就足以证明你的编码能力这会直接抵消面试官对学历的顾虑。第二整个流程中机试永远是最值得花时间投入的环节。技术面试可以靠项目经验和工作积累补HR面可以靠表达补唯独机试是硬碰硬的没有速成的捷径。与其焦虑学历、焦虑背景不如把这些时间都投入到刷题上那是投入产出比最高的一步。第三面试过程中保持坦诚。华为的面试官普遍经验丰富你简历上有没有水分、项目是不是真做过几轮追问基本就清楚了。与其在被追问时支支吾吾不如主动把自己的边界说清楚。“这块我做过大概了解但具体细节记不太清”比硬着头皮编一个答案要安全得多。面试也是一个筛选的过程你在被面试也在面试这家公司保持坦诚和自信最后的结果往往不会太差。最后再分享一个真实的小体会我入职前也纠结过“OD到底是不是外包”这个问题进去之后才发现与其纠结名分不如看自己能在平台上学到什么、做出什么、把路越走越宽。对于普通人来说华为OD是一个靠实力可以够到的机会抓住它、利用它然后在合适的时机做出最适合自己的选择这才是最重要的。
返回列表