Java 开发一面、二面面经
完整信息
本篇目录
个人情况
双非硕,研三才开始系统准备Java后端开发,之前主要做C++相关课题。秋招投递较晚,加上项目经验偏科研,只拿到几家中小厂offer,薪资和发展空间不理想。了解到华为OD对学历和技术成长比较友好,决定全力冲刺。
机考:380分通过
题目回忆:
• 匹配命令行前缀关键字(模拟)
• 物流仓库货物调货优化(并查集)
• 寻找重复子数据(DFS)
备考建议:刷题库里的高频题,重点掌握常见数据结构的应用,不用追求难题,中等难度足够。
hr面
视频面试,约15分钟。先自我介绍,然后问:• 为什么选择华为OD而不是其他公司?
• 研究生课题和Java开发关系不大,怎么补上来的?
• 项目里遇到过哪些协作上的困难?怎么解决的?
• 期望薪资是多少?对工作地点和加班怎么看?
• 有没有其他offer,为什么还没签?
整体氛围轻松,主要是确认稳定性和意愿度。
技术面
技术一面时长约1小时。
• 自我介绍后,让我详细讲一个自己最熟悉的项目(微服务电商后台)。
• 问了项目架构、数据库表设计、Redis缓存策略、接口幂等性怎么实现。
• 穿插八股:Spring Boot自动配置原理、MyBatis一级二级缓存区别、HashMap线程安全问题。
• 手撕代码:实现一个简易版的LRU缓存(LeetCode 146),要求写出get和put方法,并分析时间复杂度和优化思路。
• 全程1小时,代码写了20分钟,其余时间都在聊项目和扩展。
技术二面时长约40分钟。
• 上来先手撕一道力扣原题:合并两个有序链表(递归+迭代两种写法),5分钟搞定。
• 然后让我介绍另一个项目(RPC框架),问:注册中心选型为什么用Zookeeper?序列化方式对比?如何保证服务调用超时处理?
• 八股:JVM内存区域划分、垃圾回收算法、线程池参数含义及拒绝策略。
• 最后反问环节,我问了团队技术栈和新人培养机制。
综面
时长35分钟,压力感较强。• 一上来就问项目中的最大挑战,我讲了分布式事务一致性问题,面试官连续追问了3个场景:如果TCC第二阶段失败怎么办?如何保证幂等?有没有考虑过Seata AT模式的优缺点?
• 接着问毕业设计(基于深度学习的推荐系统),让我解释特征工程怎么做,冷启动问题怎么解决,和传统协同过滤的区别。
• 然后转向综合素质:
• 研究生期间最让你挫败的一件事?怎么走出来的?
• 如果导师安排的任务和你自己的求职计划冲突,你怎么平衡?
• 如果同事把责任推给你,你怎么处理?
• 压力大的时候有什么排解方式?
• 全程几乎没有闲聊,每个回答都会被深挖,建议提前演练多轮追问的场景。
个人心得
- 机考:刷题不在多在精,重点练熟数组、链表、树、哈希、动态规划的常见题型。hr给的题库覆盖够用,建议每道题至少自己敲一遍,不要只看思路。
- 技术面:项目是核心。无论是不是商业项目,都要能讲清楚:项目背景、你的角色、技术选型原因、遇到的难点及解决方案。八股不用死记硬背,但常见知识点(Spring、JVM、MySQL、Redis、并发)要能说清原理。
- hr面和综面:这两面看似聊天,实则在考察逻辑表达、抗压能力和价值观匹配。建议提前梳理:
• 一个完整的项目故事(痛点→方案→结果)
• 一个真实的挫折/成就事件(STAR法则)
• 对自己职业规划的清晰认知
• 对加班、任务冲突等实际问题的成熟态度
心态:华为OD面试整体节奏快、流程紧凑,但面试官普遍专业且尊重候选人。只要基础扎实、项目准备充分、表达清晰,通过率很高。加油!
本篇目录
当前问题0137
- 01
先自我介绍
- 02
为什么选择华为OD而不是其他公司?
- 03
研究生课题和Java开发关系不大,怎么补上来的?
- 04
项目里遇到过哪些协作上的困难?怎么解决的?
- 05
期望薪资是多少?对工作地点和加班怎么看?
- 06
期望薪资是多少?对工作地点和加班怎么看?
- 07
有没有其他offer,为什么还没签?
- 08
有没有其他offer,为什么还没签?
- 09
自我介绍后,让我详细讲一个自己最熟悉的项目(微服务电商后台)。
- 10
自我介绍后,让我详细讲一个自己最熟悉的项目(微服务电商后台)。
- 11
问了项目架构、数据库表设计、Redis缓存策略、接口幂等性怎么实现。
- 12
问了项目架构、数据库表设计、Redis缓存策略、接口幂等性怎么实现。
- 13
Spring Boot自动配置原理
- 14
MyBatis一级二级缓存区别
- 15
HashMap线程安全问题
- 16
实现一个简易版的LRU缓存(LeetCode 146),要求写出get和put方法,并分析时间复杂度和优化思路。
- 17
合并两个有序链表(递归+迭代两种写法)
- 18
然后让我介绍另一个项目(RPC框架)
- 19
注册中心选型为什么用Zookeeper?
- 20
序列化方式对比?
- 21
如何保证服务调用超时处理?
- 22
JVM内存区域划分
- 23
垃圾回收算法
- 24
线程池参数含义及拒绝策略
- 25
线程池参数含义及拒绝策略
- 26
我问了团队技术栈和新人培养机制。
- 27
我问了团队技术栈和新人培养机制。
- 28
一上来就问项目中的最大挑战
- 29
如果TCC第二阶段失败怎么办?
- 30
如何保证幂等?
- 31
有没有考虑过Seata AT模式的优缺点?
- 32
接着问毕业设计(基于深度学习的推荐系统),让我解释特征工程怎么做,冷启动问题怎么解决,和传统协同过滤的区别。
- 33
接着问毕业设计(基于深度学习的推荐系统),让我解释特征工程怎么做,冷启动问题怎么解决,和传统协同过滤的区别。
- 34
研究生期间最让你挫败的一件事?怎么走出来的?
- 35
如果导师安排的任务和你自己的求职计划冲突,你怎么平衡?
- 36
如果同事把责任推给你,你怎么处理?
- 37
压力大的时候有什么排解方式?