24届年20w+C++开发-华为OD
背景:
24届某985院校。考研后未能如愿进入目标院校,随后选择进入职场积累经验。虽然在学校成绩不错,但实际项目经验较少,主要参与了学校的C++课程项目。
机考准备:
由于对基础的算法和数据结构有一定了解,因此我集中精力复习了牛课和CSDN上的高频考点,特别是动态规划、树结构、以及字符串处理的题目,确保能应对可能的机考题目。
机考:
机考的三道题目分布合理:
- 字符串匹配:考察了正则表达式的应用,题目要求判断一个字符串是否为另一个字符串的子集。通过了,做得相对顺利。
- 树结构:计算一个二叉树的最大深度,要求用递归来完成,问题较为直接,顺利通过。
- 动态规划:题目涉及到最小路径和问题,题目稍微有些复杂,但我通过动态规划的方式顺利解决,最后完成了90%的测试用例
综测:
综测内容主要是性格测试,难度不大。我根据HR提供的指导,答题时注意前后一致,最后顺利通过。
HR资面:
HR电话面试时首先让我做了简短的自我介绍,然后询问了我为什么选择华为OD岗位,接着聊到了我的大学经历和项目经验。HR还询问了期望薪资和对华为文化的认同感。面试官的态度非常友好,整个过程不超过15分钟,面试结束后我很快得到了通过的反馈。
技术一面:
技术面试围绕着C++的基础知识和我之前做过的项目展开:
- 基础问题:包括虚函数、STL的实现机制、指针与引用的区别等,这些都是我在大学中学到的知识,回答起来相对自信。
- 项目深挖:面试官详细询问了我一个图像处理项目中使用的C++技术,尤其是如何优化图像处理的效率。面试官对我的项目经验表现出了兴趣,给了我一些建议。
- 手撕代码:我被要求解决一道字符串反转的题目,我迅速写出了代码并讲解了我的思路,面试官对我的思路表示认可。
技术二面:
在这一轮中,面试官侧重考察了我对算法和多线程的理解:
- C++11新特性:我被问到了lambda表达式、智能指针的使用场景等问题,面试官还特别问了我关于多线程的知识。
- 手撕代码:这次手撕的题目是链表反转问题,面试官要求我优化代码,并询问了边界条件如何处理。我解释了处理方法并写出了代码。
主管面:
主管面试主要围绕着我的职业规划和对部门的了解展开:
- 主管问我为何选择技术岗位,以及未来的职业目标。我谈到了自己对技术的兴趣和希望不断提升的心态。
- 主管还问了我对于团队合作和部门文化的看法,我表示非常认同华为强调技术和协作的工作环境。
总结:
整个面试过程较为顺利,主要的挑战是在机考和技术面上。机考的题目难度适中,但需要在有限的时间内完成。技术面试时,我展示了对C++的扎实基础和项目经验。通过与面试官的交流,我发现自己在面试过程中也有不少收获。
心得:
- 刷题是关键:尤其是算法的基本功,确保能够在机考中应对各种题型。
- 项目经验:面试官对项目的细节非常感兴趣,提前准备好项目的技术方案和问题解决的思路非常重要。
- 心态稳:面试过程中遇到问题时不要慌张,展现出积极的学习态度和解决问题的能力才是最重要的。
最终,我成功通过了面试,获得了华为OD的offer
#java##找工作##华为od#