NiceOffer

面试面经 · 华为

【华为】C++后端二面(项目深挖+OS场景+手撕翻转数字)

华为C++后端校招面经二面

【华为】C++后端二面

基本信息

项目内容
公司华为
岗位C++ 软件开发(OD/校招)
轮次技术二面
时间2025年6月
面型体感有压力面倾向,但面试官会耐心引导
结果通过

面试题目(按提问顺序)

  1. 自我介绍
  2. 项目深挖:项目的整体架构、负责的工作、整体技术选型
  3. 项目相比现有技术的优势是什么?有没有做过对比实验?
  4. 项目过程中遇到过什么困难?怎么解决的?
  5. CI/CD 了解吗?对持续集成持续部署的理解?
  6. 为什么选择这些技术栈?以后给自己什么定位?
  7. 栈和队列的区别?各自的应用场景?
  8. 满二叉树第 N 层有多少个叶子节点?
  9. 冒泡排序最好情况和最坏情况各交换多少次?
  10. 操作系统的存储管理?页面置换算法有哪些?LRU 有什么缺点?
  11. 进程间通信方式有哪些?分别怎么使用?管道有哪些类型?
  12. Linux 的文件系统了解吗?inode 节点的原理?
  13. Linux 常用命令:查看 CPU 占用率高的进程?查看占用某端口的进程?
  14. 怎么查询日志文件中的所有 IP?(正则表达式)
  15. MySQL 的存储引擎有哪些?有什么区别?使用场景?
  16. 手撕代码:翻转整数(LeetCode 7),要考虑正负号和溢出,时空复杂度尽可能优

面试感受 / 反馈

  • 二面明显比一面更难,项目追问非常细
  • 面试官会不断追问"为什么这么选""有没有更好的方案"
  • 手撕翻转数字看似简单,但溢出处理和空间优化容易翻车
  • 面试官很有耐心,会一点一点引导写出最优解
  • 整体面试约 1.5-2 小时

准备建议

  • 项目要能讲清楚完整叙事:背景→你的角色→技术选型→困难→解决方案→成果
  • 操作系统(LRU、死锁、进程通信)和 Linux 命令是高频考点
  • 手撕代码注意边界条件:溢出、空值、特殊输入
  • 对 CI/CD、容器化等工程实践也要有一定了解

反问示例

  • 如果通过了,能留在实习部门吗?
  • 培养机制和考核机制是怎样的?