华为OD-java开发岗位 面经
- 时间
- 2026-08
- 来源
- 牛客网
《面试题目》
- 本软件工程专业考研下岸gap。简历写的特别简单,就是自己在学校的小组项目还有毕设项目。然后找到hr阿鱼
- 只有第一题完整做出来了,第二题一个时间格式校验排序输出的,写的我都昏头了,后面总结才发现判断语句顺序有问题,不过使用用例大法也是强行通过一些用例,第三题是单源最短路径,一开始写成dfs就超时了,也是焦头烂额,依旧用例大法卡用例拿分,最后也是过线
- 简单询问求职意向,接着就是正常的一些日常的询问了,比如有什么爱好之类的,甚至聊到公司里面会有游泳比赛之类。总之比较轻松愉快就是了
- 在这之前也是恶补了一下算法和八股。上来就是两个男面试官,不过其实都挺和蔼的(个人认为),先是简单的自我介绍,就简历进行提问,主要询问了项目数据库的实现,表的设计,以及如何进行查询。然后延申到并发查询,怎么使用索引查询大批量数据以及索引失效场景。然后又问到jvm,gc,还有springboot里面bean的生命周期,以及bean是否有状态,询问使用过那些设计模式。另外一个就是上来给我一道
- 单词拆分 II(困难)说实在,我当时看到真的完全没有思路,然后就申请换题了,
《参考解析》
- MySQL索引通常使用B+树,叶子节点按顺序连接,适合范围查询;设计索引时结合选择性、最左匹配原则和执行计划,避免无效索引与回表开销。
- 并发问题应先明确共享状态和一致性边界,再选择锁、CAS或队列。线程池需要根据任务是CPU密集还是IO密集设置核心线程数、队列容量和拒绝策略,并监控活跃数与队列长度。
- 算法题先写出不变量和边界条件,再分析复杂度;常见数组、链表和树问题可分别使用双指针、哈希表、递归或迭代遍历,目标是在线性或对数复杂度内完成。