25届-Java开发面经-华为OD

前言

在开始分享具体的面试题之前,我想先给这份面经定个调,我更愿意称之为“方向”。

它不是什么万能宝典,而是专门写给这样一群人(基础可以,算法不行)的:

学历背景扎实: 公立一本毕业,双证齐全(学信网可查,硬门槛)

身份纯粹: 校招赛道,应届生身份

基础过关: 已经熟悉一门编程语言(无论Java、C++、Python还是Go,或者其它,只要不是邪门语言),具备最基本的开发素养

计算机素养: 具备基本的计算机功底——哪怕你不是科班出身比如我自己就是数学专业,像数据结构、操作系统、网络这些核心素养,都是靠自学补上的;如果你是科班出身,那这一条本该就是你的本能

写这份面经之前,得先提一个人——栗栗姐(嘿嘿,看到这儿,栗栗本人都脸红红的)。她是HR,我当初能拿到大厂offer,离不开她指的方向。

这里想重点说一下算法。刚毕业的时候,我不会算法——严格来说也不能说完全不会,数据结构我懂一些,基本的计算机素养也有,但仅此而已。而算法,恰恰是大厂面试的硬门槛,是那块敲门砖。栗栗姐给了我一些资料,让我在上面一边刷题一边学。哈哈哈,学习时间一个月左右,我们不是为了把题背下来,而是通过刷题真正理解算法,提升自己的计算机素养。背下来只能过机试,而学会算法才能过技术一二面!!!

所以,这份面经是写给谁看的?如果你是应届生,公立一本毕业,双证齐全,熟悉一门编程语言,有一定的计算机基础——但算法还没开始准备,或者正在准备但觉得无从下手。那栗栗姐当年给我的方向,应该也适合你。

找栗栗姐就对了!!!!!!!!!!!!!!!!!!!!

一、面试流程

面试轮次: 机试 / 综测 / HR面试 / 技术一面 / 技术二面 / 主管面试

面试形式: 网上面试

二、机试攻略

机试最好牛客在线考试,本地虽然有自动补全,但是一旦清理不干净,会有被判定作弊的风险,不过我想,如果你已经把算法题都刷熟练了,其实已经背下来了,哈哈。

时长: 150分钟

题型: 两道简单/中等难度的算法题,一道复杂题

这三道题,我在栗栗姐给的算法题库里都见过。

所以我想说的是:学习算法这件事,只要你在准备的时候,把任何一个A类、B类或者其他分类的题库全部做完、练熟,那么机试遇到的题,基本就在你练过的范围里。

我当时离我最近的题库是C类,所以我把C类的题都做完了。

三、综测

没什么好说的,和大学里的测试题一样。

四、远程面试通用环节

接下来的面试都是远程视频形式,而所有的开场都需要我们简单介绍自己。这个一定要提前几天打好草稿,每天练习说一说,到时候要能流畅表达。

我的自我介绍内容是:问候 + 姓名 + 毕业大学 + 学院 + 专业 + 什么时候开始学程序 + 将来打算在程序界的发展方向。

五、HR面试

HR面试的核心主要是:尊重所面试的公司,尊重其文化,工作地域倾向,肯加班,能吃苦,与人交流没什么问题就可以。

六、技术一面

接下来的技术面试会有手撕代码环节,用自己电脑上的编程软件就行。

流程如下:

1.自我介绍

2.项目或技术提问

  • 面试官会看简历问问题,如果有实习项目,大概率会让你介绍项目以及你在其中的具体工作
  • 所以简历上有项目,一定要提前准备好详细介绍
  • 如果没有实习项目,或者面试官选择问技术内容,那就是考察对应语言的“八股文”

3.手撕算法题(我遇到的是字符串类型的)

  • 这是一个协同的过程,不是一上来就要有思路,如果有那更好
  • 如果看了一会一点思路都没有,可以和面试官沟通,或者问问能不能换题
  • 在这个过程中,基本上可以看出我们的算法功底,以及对数据结构的理解
  • 最终先是向面试官介绍大致思路,随后编写代码

4.代码复盘

  • 如果最终写出了代码且跑通没问题,面试官会和你沟通代码,让你再一次介绍所写代码以及思路
  • 随后会询问有没有可以优化的地方,可以说出自己的想法

5.补充环节

  • 面试官还让我用绘图软件画了一个流程图,当时的具体情景我记不太清了,但本质上是线程设计相关的内容
  • 我当时按照Java线程的生命周期来画,画完后解释介绍

6.反问环节

  • 面试官会让我们反问,这点没什么特别需要介绍的

至此,技术一面结束。

七、技术二面

技术二面和技术一面的流程没什么不同。我遇到的是21点的编程题(我觉得很难,没遇到过,需要回溯算法)。

我想补充一点:我技术一面手撕算法过了,技术二面手撕算法差点儿意思,但我还是写了很多代码,并说清楚了自己的解题思路,同时这一面试的问答环节,我都回答出来了,最终技术一面和技术二面都是过了的。不过听说两个手撕算法都没写出来就不行(未求证)。

我想说的是:技术面试是综合的,手撕代码只是其中一环,不一定不完美就一定不过!

八、主管面试

能走到这一步,说明之前都过了。主管面试就是和所申请的部门主管进行沟通,内容主要是:介绍自己、个人规划、价值观、能否加班等,偶尔也会有一些简单的技术问题。这里基本没什么问题。

九、后续流程与注意事项

接下来等待HR通知。如果全部通过,就是谈薪资、等待审批。

这里我想多说一些:有时候我们申请的部门会一直卡着审批。一般来说,等三个礼拜还不行,并且他们除了我们之外其他人也一个人都没招,那我们就要主动向HR沟通换部门。换部门的话,HR面和主管面需要重新来一遍。

审批过后就是入职了。

栗栗姐,认真负责,找她就对了!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

#面经##内推##华为od##华为##发面经攒人品#
全部评论
话说现在老系统里,审批了两周还没结果是不是寄了而且如果一直不批要想换部门的话,是不是就得重新面试走新系统了呀
点赞 回复 分享
发布于 04-11 21:13 河北
你好,我想请问一下机试过后大概多久能收到面试通知了,为啥我机试之后hr说被退回来了
点赞 回复 分享
发布于 03-28 21:37 河南
姐 我能看看你简历吗
点赞 回复 分享
发布于 03-23 16:48 黑龙江

相关推荐

写在开头:这个人选是25年接触的,23年就毕业并gap至今;这个应该是我做的最后一个23届毕业空窗至今的人选了,4月新系统上线后毕业到一段工作之间gap超2年的搞不进了真不是海莉姐不努力,只是个打工的,规则卡死了搞不了以下是海莉姐跪求的面经,人选手搓,诚意满满:背景:23届末九三战失败,目标院校目标专业,超级gap大王语言:C++机考:我属于三天打鱼两天晒网的类型,所以备考期蛮久的,2月初机考,两道100分的题都是模拟类型,200分的题考了拓扑排序,机考是自己写输入输出综合测评:走流程,懂的都懂HR面:电话面试,面试官是非技术岗位的,问题比较轻松,主要是了解个人经历,没有为难技术面:两轮技术面安排在同一天,内容以八股文、手撕代码为主,项目问的蛮少,最后因为定级问题加面了一轮,三轮的手撕代码都是力扣中等难度,但都不是热门题,题号靠后,手撕代码是考官给你发一道题然后你打开屏幕共享在力扣或者自己的ide上完成主管面:没有涉及技术问题,主要是自我介绍、过往经历介绍以及个人情况说明总结:机考前的刷题阶段是最重要的,手撕代码的难度其实比机考要低,只要能过机试过手撕还是比较简单的;同时建议在刷题的同时认真准备一个项目,在github或者国内的网站上找一个跟着做也行,要求是能够清晰说出项目的实现和细节~~~~~~~~~~~~~我是分割线~~~~~~~~~~~~~现在考研也到尾声了,打算拿个保底offer的同学快来找海莉呀~全程保姆式护航毕业后2年内的gap都搞得定!
点赞 评论 收藏
分享
AI时代刷LeetCode不仅依然必要,而且它的意义正在经历一场深刻的**演变**:从单一的“求职通关密码”,升级为一项更根本的**底层思维能力训练**。刷题的重心,也必须从“背答案”转向“练思维”。### ⚔️ 辩论场上:为何“LeetCode已死”的论调高涨?说“LeetCode已死”并非空穴来风,其背后有几个硬核逻辑:*   **面试失效**:有数据指出,LeetCode分数与实际工作表现的相关系数仅为0.31,有超过80%的优秀工程师可能因不擅长算法面试而被筛掉。*   **AI降维打击**:能难倒人类的算法难题,对高级AI来说可能只需要几秒钟。这使得单纯考核“手写代码”的面试,其区分度大打折扣。*   **职场剧变**:Meta等公司已开始试点允许在面试中使用AI工具的新流程,直接改变了面试规则。### 💪 守卫擂台:为何LeetCode的“魂”并未消亡?尽管“形式”在衰退,但LeetCode所锻炼的“魂”——**结构化思维**,正变得空前重要。*   **思维可视化**:在AI能秒出答案的今天,面试官更看重你的思考过程。刷题训练的正是将模糊问题清晰拆解的能力,它比答案本身更重要。*   **“深潜能力”**:AI让开发变快,但也让人习惯浅层思考。刷题所训练的深层分析能力,能让你在AI出错时成为团队的“救火队员”。*   **高效驾驭AI**:能精准指挥AI的**提示工程**能力,正源于对问题的深刻理解。你的算法基础越扎实,指令就越精准,判断AI产出也就越高效。*   **硬通货价值**:短期内,LeetCode仍是衡量候选人基本逻辑能力的相对公平、可量化的标准。面试中“手撕代码”不过,通过概率会大幅趋近于0。### 🚀 行动指南:AI时代的“刷题”新范式如果你认同刷题的意义在于锻炼思维,那么你的方法也必须进化:1.  **刷题的“1:3”黄金比例**对于每一道题,遵循一个时间分配原则:*   **15-20分钟:独立思考,挣扎是精髓**务必关掉AI和题解,强迫自己独立思考、画图、写伪代码。这个“挣扎”的过程才是思维成长的时刻。*   **60分钟以上:复盘、理解、举一反三**无论是否解出,都要深入学习官方题解和社区高票答案。重点理解不同解法的核心思想和适用场景。2.  **和AI打“升级”配合,不做“作弊”工具***   **让AI当“教练”和“模拟面试官”**:让它解释复杂算法的核心思想,或在给出思路后请它模拟追问。*   **让AI当“Code Reviewer”**:写出代码后,让AI检查潜在Bug、代码风格和更优写法。*   **⚠️ 重要警示**:MIT的报告显示,过度依赖AI可能导致初级程序员的相关能力下降37%。务必把AI当协作工具,而不是“作弊”的捷径。3.  **超越LeetCode:构建AI无法替代的能力矩阵**将精力投入到AI难以企及的更高维度的技能上:*   **系统设计**:设计一个高可用、高扩展的系统架构,远比实现单一算法更复杂,也更能体现工程师的长期价值。*   **代码审计**:培养快速阅读、理解、审查和重构AI生成代码的能力,确保其正确、安全且高效。*   **沟通与协作**:AI可以写代码,但无法定义“做什么”和“为什么”。清晰沟通需求、进行技术权衡、领导团队协作,这些软技能是AI无法替代的。### 💎 总结AI时代,**“刷题”从“独木桥”变成了“基本功”**。建议你不再将它看作痛苦的“应试”,而是作为锻炼“思维肌肉”的日常训练。最理想的状态是:**用LeetCode训练出的深刻洞察力,去驾驭AI的强大生产力。**
AI时代还有必要刷lee...
点赞 评论 收藏
分享
评论
3
6
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务