华为OD二本Java开发岗技术面与主管面面经

华为OD · Java开发工程师 · 技术面+主管面 · 2026-06

《面试题目》

  1. 讲一下 private 和 protected 的区别
  2. 手撕代码:N 个括号匹配问题(成功 AC,追问有没有更好的思路)
  3. 机考中三道题目的解题思路

《参考解析》

  1. private vs protected 访问修饰符private 修饰的成员只能在本类内部访问,外部(包括子类)都无法直接访问,是最严格的封装级别;protected 修饰的成员可以在本类、同包类,以及不同包的子类中访问,访问范围比 private 宽松、比 public 严格,常用于希望子类能够复用/重写但不希望完全暴露给外部的场景。
  2. 括号匹配(生成有效括号):N 对括号的合法组合生成问题经典解法是回溯法——维护左括号已用数量和右括号已用数量,只有当左括号数量小于 N 时才能放左括号,只有当右括号数量小于左括号数量时才能放右括号,这样保证生成过程中始终合法,避免了先生成再校验的低效方式。
  3. 机考解题通用套路:简单判断题直接按条件分支处理;带去重需求的组合类问题优先想到回溯+Set/排序去重;涉及层级结构删除的问题先建树(可用哈希表存父子关系)再做删除,比直接在原始数据结构上操作更清晰。