面灵AI→

华为OD Java 开发岗面经总结:技术面、HR 面与主管面考察要点

轮次
多轮合集
时间
2026-10
来源
牛客网

《面试题目》

准备阶段(简历与笔试)

  1. 简历上写的技能与项目,每一句对应的知识点能否讲清?不熟悉的内容为什么还要写?
  2. 笔试要不要集中刷题库?覆盖哪些核心考点就算够?

技术面(一面 + 二面)

  1. 请做一下自我介绍,说明个人背景、专业情况,跨专业或小众专业请补充专业介绍、计算机相关课程及转行/适配理由。
  2. 编程语言里常用注解有哪些,分别起什么作用?JVM 原理与垃圾回收机制了解吗?
  3. 常见排序算法的基本思想是什么?二叉树的层序、前中后序遍历怎么实现?
  4. 队列和栈各有什么特性?深度优先搜索的基本思路是什么?
  5. List 的常用方法有哪些?List 与数组的区别、时间复杂度与适用场景分别是什么?
  6. 常见异常有哪些?RuntimeException、Exception、Throwable 之间的关系是什么?
  7. 重载和重写的区别是什么?
  8. 进程和线程的定义分别是什么?线程有哪些状态与生命周期?
  9. 查询语句怎么写?索引创建的原则是什么,适合什么样的表?
  10. 查询速度优化的手段有哪些(SQL 语句优化、表结构优化、合理建索引)?
  11. Linux 常用命令掌握哪些(查看进程、查询 tomcat 日志异常、修改权限)?
  12. Git 基础操作掌握哪些(创建切换分支、提交项目)?

项目相关问题

  1. 项目使用的框架是什么?
  2. 项目的背景、你个人的职责、技术选型理由分别是什么?
  3. 框架之间怎么对比,技术细节上还有哪些延伸问题?

HR 面

  1. 核实基本情况:简历中的项目、技术栈能否详细复盘?

主管面

  1. 专业背景追问:跨专业或有考研经历者需说明专业适配性、考研原因。
  2. 对部门了解多少?
  3. 在校期间的项目经历是真实的吗,细节如何?
  4. 期望薪资多少?目前所在地?能否尽快到岗?
  5. 反问环节:部门业务范围、上班时间、办公地点。

《参考解析》

这场面试的考察结构。帖子里给出的核心判断是「面试围绕简历展开」:技术面重点在基础与项目,HR 面和主管面看适配度与稳定性。也就是说,简历不是一张用来过筛的纸,而是整场面试的提问清单——你写了什么,就要准备好被追问三层。准备方法上,把简历里每一个技能点和一个项目细节都写成「一句话描述 + 我做过什么 + 为什么这么做 + 踩过什么坑」的四段式,不熟悉的内容坚决不写,因为写上去的成本远高于不写:一旦被追问到答不上来,面试官会开始怀疑整份简历的真实性。

技术面的基础盘。帖子列出的考点其实是一份很典型的 Java 校招基础清单,可以按模块串起来复习。语言与 JVM:注解的元注解与运行时机(SOURCE / CLASS / RUNTIME,反射读取的成本)、类加载过程与双亲委派、运行时数据区、分代与常见 GC 算法及其适用场景。集合与算法:List 与数组的差别要落到内存与代价上——数组定长、内存连续、随机访问 O(1) 但增删要搬元素;ArrayList 扩容是 1.5 倍加拷贝,LinkedList 随机访问是 O(n)。排序要能说清快排的分治与最坏情况、归并的稳定性、堆排的思想,二叉树遍历要能当场写出递归与非递归版本。线程部分:进程是资源分配单位、线程是调度单位,线程状态与其转换条件(RUNNABLE / BLOCKED / WAITING / TIMED_WAITING)比背六种状态更重要,最好能结合锁与 wait/notify 讲出转换原因。异常体系:Throwable 是根,下面分 Error 与 Exception,Exception 再分受检异常与 RuntimeException,catch 顺序必须由子到父。

数据库与工程工具。索引部分要给出「为什么建、建在哪、什么时候别建」:区分度高的列、频繁出现在 where / join / order by 的列适合建;区分度低(性别、状态)或写多读少的表不适合,索引会拖慢写入并占空间。优化手段要分层说:SQL 层(避免 select *、避免函数与隐式转换导致索引失效、用 EXPLAIN 看 type 与 key、少用大 offset 分页)、表结构层(字段类型收敛、冷热字段拆分、适当冗余减少 join)、索引层(联合索引与最左前缀、覆盖索引)、架构层(缓存、读写分离、分库分表)。Linux 与 Git 要能报出具体命令:ps -ef | grep、top、tail -f、grep -n "Exception"、chmod、chown;Git 的 checkout -b、add/commit/push、merge/rebase、log --oneline,并且知道冲突怎么解。

项目题的回答要害。帖子点名「核心考察项目使用的框架」,说明面试官想听的不是业务流水账,而是技术决策:为什么选这个框架、它解决了什么问题、有没有对比过替代方案、性能瓶颈在哪、你具体写了哪一部分。面试时用「背景一句话 → 目标与约束 → 我的职责 → 关键设计与取舍 → 结果与量化 → 如果重做会改什么」的顺序讲,两分钟内说完主干,把细节留给追问。项目里出现的框架,至少要能讲清它的一条核心机制(比如 Spring 的 IOC 与 AOP 怎么实现、MyBatis 的映射与一级二级缓存、Netty 的线程模型),这是拉开差距的地方。

HR 面与主管面的答法。HR 面不考技术,考的是稳定性与沟通成本:离职原因、期望薪资、到岗时间要给一致、可核实的答案,别在不同轮次之间自相矛盾。主管面的问题更偏适配度,帖子里给的两条经验很实用:一是被问到不了解的部门,坦诚说明并请面试官介绍,既消耗了时间又加深了了解,比硬编要好;二是被问到考研或跨专业这类可能被质疑的经历时,说明外部客观因素与自己的适配性,别把原因全部归到自我否定上。到岗时间在实习/校招场景里是硬指标,能随时到岗就明确说;反问环节优先问业务范围、团队分工、办公地点这类实际信息,薪资与福利放在对方主动提或后续沟通里。

面试心态与临场。答错不必紧张——面试官更在意你能否意识到错误并修正,因为工作中判断力和自我纠错比不出错更难得。整场下来要做到「基础题不空、项目题有细节、软性问题口径一致」,这三点就足以拿到不错的评价。