华为OD Java开发面经
- 轮次
- 技术面、主管面与HR面
- 时间
- 2026-09
- 来源
- 牛客网
《面试题目》
- 机考应该如何准备?
- 综合测评中如何选择最符合和最不符合的描述?
- 请做一下自我介绍。
- 你有没有考虑考研?
- 介绍一个项目。
- Kafka 异步处理的机制和原理是什么?
- 排序算法的时间复杂度如何分析?
- 常见设计模式有哪些?
- 接口如何暴露?
- 如何改善 MySQL 性能?
- MyBatis-Plus 如何扩展?
- 如何保证哈希结构的线程安全?
- ArrayList 和 LinkedList 有什么区别?
- 你学过哪些基础算法?
- 数据挖掘中的聚类是什么?
- RAG 如何计算向量相似度?还有哪些相似度指标?
- JVM 常用命令有哪些?
- 跳跃游戏 II 如何实现?
- 删除一个字符后如何判断字符串是否为回文串?
- 你做过哪些项目?未来如何选择工作地点和岗位?
《参考解析》
- Kafka 异步处理:生产者将消息写入分区日志,消费者以 offset 拉取并提交消费位置。通过分区键保证同一业务键的顺序,结合生产者确认、持久化和消费者幂等处理可靠性问题。
- MySQL 性能优化:先用监控和慢查询日志定位,再通过 EXPLAIN 检查索引、扫描行数与排序,结合覆盖索引、合理分页和连接条件优化;修改前后要用真实数据对比耗时。
- RAG 相似度:余弦相似度衡量向量夹角,点积适合已归一化向量,欧氏距离衡量几何距离。选择指标应与 embedding 模型训练目标和向量归一化方式一致。
- 跳跃游戏 II:维护当前可达区间的最远位置,遍历到区间末端时增加步数并切换到下一层,时间复杂度 O(n)、空间复杂度 O(1)。
- 删除一个字符判回文:双指针从两端向中间比较,首次不相等时分别尝试跳过左指针或右指针一个字符,再检查剩余区间是否为回文。