双 9 非科班转码|华为 OD 软件开发岗面经:机考 360 分,HR 压力面 + 两轮技术面

个人背景

  • 学历背景:双 9 硕士,非计算机科班。
  • 工作经历:曾在某 FAB 企业工作,离职后通过社招转码。
  • 面试公司:华为 OD。
  • 面试岗位:软件开发工程师。
  • 机考语言:C++。
  • 机考成绩:360 / 400。

点击查看华为 OD 机试真题完整目录2026最新华为OD机试新系统卷 + 双机位C卷 真题题库目录|全覆盖题库 + 逐点算法考点详解

华为OD面试真题精选:点击立即查看

一、机考环节

机考成绩为 360 / 400,使用语言为 C++。整体通过机考后进入后续面试流程。


二、HR 面

HR 面整体更偏压力面。面试官重点围绕“非科班背景”进行追问,例如:

  • 非科班转码的动机是什么?
  • 硕士学历与本科相比,对软件开发岗位的帮助体现在哪里?
  • 如何证明自己具备软件开发岗位所需的能力?

过程中 HR 对非科班背景提出了较多质疑,整体氛围有一定压力,但最终通过。

建议:

非科班候选人在 HR 面中,需要重点准备以下内容:

  • 转码动机要清晰,避免只说“行业前景好”。
  • 要能说明自己为转码做过哪些系统性准备。
  • 要突出项目、刷题、实习 / 工作经历中与软件开发相关的能力。
  • 面对压力提问时保持稳定,不要急于反驳,可用事实和经历回应。

三、技术一面

技术一面以 项目经历 + C++ 基础 + 操作系统基础 + 手撕算法 为主,整体问题较偏基础八股。

项目相关

  1. 介绍项目经历。
  2. 围绕项目细节进行追问。

C++ 基础

  1. C++ 内存管理。
  2. 智能指针及循环引用。
  3. C++ 多态的实现机制。
  4. char 数组和 string 的区别。
  5. 什么是 double free?什么是悬垂指针?分别在什么情况下发生?
  6. C++ 类型转换。
  7. inlinedefine 是否有类型检查?
  8. new/deletemalloc/free 的区别。
  9. 构造函数能否是虚函数?析构函数是否可以是虚函数?为什么基类析构函数通常要声明为虚函数?

操作系统基础

  1. 进程和线程的区别。
  2. 死锁的概念、产生条件以及预防方式。

手撕算法

  • 无重复字符的最长子串。

四、技术二面

技术二面相较一面更偏综合能力考察,包括软件开发理解、问题解决能力、面向对象思想、STL 容器、调试工具以及项目深挖。

综合能力问题

  1. 你认为什么是软件开发?
  2. 工作中遇到无法解决的问题时,你会怎么办?
  3. 你如何理解面向对象编程?平时写代码时如何体现?

C++ / 数据结构基础

  1. mapunordered_map 的区别。
  2. 红黑树的定义。
  3. 红黑树查找过程。
  4. mapunordered_map 的时间复杂度。

工具使用

  1. 是否使用过 GDB?
  2. 常用 GDB 调试命令有哪些?

项目深挖

面试官对项目进行了较多深入追问,部分问题理解难度较高,需要结合项目实际尽量作答。

手撕算法

  • 正则表达式匹配。

五、整体感受

整体流程中,机考成绩较好,但技术面中部分八股问题回答不够系统。技术一面偏基础,技术二面更看重项目理解、工程能力和表达逻辑。对于非科班转码候选人来说,除了刷题和背八股,更需要准备好“为什么转码”“如何证明自己能胜任软件开发岗位”“项目中体现了哪些工程能力”等问题。

封面

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐