京东 Java 二面面经

最近参加了京东的 Java 岗位二面,整体时长大约 60 分钟。相比一面更偏向基础知识点考察,二面更加注重 项目经验的深度挖掘对技术选型的思考,同时也会穿插一些进阶的八股文内容。

一、项目深挖

面试官首先围绕我之前提到的高并发下订单处理的项目,进行了深入追问,重点包括:

  1. 系统架构设计为什么选择分布式架构,服务拆分的依据是什么?如果订单服务出现单点故障,如何保证高可用?数据库与缓存双写一致性的具体实现方案。
  2. 高并发处理如何保证下单接口的幂等性?高并发写入数据库时如何避免热点行锁问题?使用了哪些限流、降级、熔断手段?限流算法是如何实现的(令牌桶/漏桶)?
  3. 消息队列项目中是否用过消息中间件?选择 Kafka、RocketMQ 还是 RabbitMQ 的原因。如何保证消息不丢失、不重复消费?消息堆积时的解决办法。
  4. 监控与运维系统运行过程中的监控指标如何设计?如何排查线上接口延迟或超时问题?

可以明显感觉到二面对于 实际场景下的问题处理能力 要求更高,面试官会从一个点不断深入,直到确认你是否真的在项目中思考和解决过。

答案都在:

全网最全面的java八股文专栏:https://www.nowcoder.com/creation/manager/columnDetail/0n9XOd

二、Java 基础与八股文延伸

除了项目,面试官还会抽查一些核心知识点,但问题会更有深度:

  1. Java 内存模型(JMM)happens-before 原则有哪些?synchronized 与 volatile 在内存语义上的区别。
  2. 集合与并发容器ConcurrentHashMap 的分段锁到 CAS 的演进过程。CopyOnWriteArrayList 的底层机制,适用场景和缺点。
  3. 多线程与锁机制ThreadLocal 的原理以及可能导致的内存泄漏问题。AQS 的实现原理,ReentrantLock、公平锁与非公平锁的实现区别。Condition 的使用场景。
  4. JVM 调优线上遇到 Full GC 频繁的问题,如何排查?内存泄漏的常见场景,如何利用工具(如 jmap、MAT)定位。CMS 和 G1 的对比,为什么生产上更多选择 G1。

三、数据库与缓存

数据库和缓存部分的问题更多聚焦在 实际设计与优化

  1. 数据库如何设计表结构避免大事务?分库分表后的主键生成策略有哪些?MySQL InnoDB 的行锁与间隙锁区别,什么时候会出现死锁?
  2. 缓存Redis 的持久化方式 RDB 与 AOF 的差异。如何避免 Redis 热点 key 问题?Redis 集群中的一致性哈希与槽分配机制。

四、系统设计与场景题

面试官给了几个开放性问题:

  1. 如何设计一个秒杀系统,保证库存不超卖?
  2. 如果下单量暴增,数据库写入撑不住,怎么优化?
  3. 如果 Redis 挂掉,如何保证系统可用性?

这些题目考察的不是单一知识点,而是你是否能结合 缓存、数据库、消息队列、分布式锁 等技术,设计出合理的解决方案。

五、总结

京东二面的整体感觉是:

  • 比一面更注重 项目实践能力,会从细节不断深入。
  • 八股文不再是单纯背诵,而是考察 原理与实际场景的结合
  • 面试官很看重 架构设计能力,尤其是在高并发、高可用场景下的解决方案。

因此,准备京东二面时,不仅需要对 Java 基础、集合、多线程、JVM、数据库、缓存有较深理解,还要能够结合实际项目,给出合理的设计思路和取舍依据。

#发面经攒人品#
全部评论
同学,瞅瞅我司,医疗独角兽,校招刚开,名额有限,先到先得,我的主页最新动态,绿灯直达,免笔试~
1 回复 分享
发布于 09-16 08:19 广东
这么好的帖子怎么没热度
点赞 回复 分享
发布于 09-16 10:13 北京

相关推荐

评论
点赞
4
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务