京东 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 回复 分享
发布于 昨天 08:19 广东
这么好的帖子怎么没热度
点赞 回复 分享
发布于 昨天 10:13 北京

相关推荐

微步在线一面,上来本来还行自我介绍的,结果都不要自我介绍,直接开始八股轰炸:1、介绍一下Java的Object对象有哪些方法?2、Object的equals方法和hashCode方法要一起重写,原因是什么呢?3、介绍一下HashMap4、你一般使用的JDK版本是多少?谈谈Java 8、11、17的新特性5、Java的异常分为哪几种?6、受检异常和非受检异常在使用上有何不同?7、介绍一下Java对象的创建过程8、创建对象过程的内存分配,是分配到哪儿?什么情况下会发生堆内存的溢出?9、对于内存溢出这种错误,Java不是有自己的垃圾回收器吗,它为什么不会把它回收掉?10、引用类型除了强引用还是有什么类型的引用?11、线上Java的服务,它报警CPU使用率100%,怎么去进行排查?12、使用过synchronized关键字吗?它修饰普通方法和静态方法上有什么区别?13、使用synchronized关键字锁一个代码块,括号里面能锁String对象或Integer对象吗?14、知道CopyOnWriteArrayList吗?它是怎么保证线程安全的?15、List有ArrayList和LinkedList,你认为有没有CopyOnWriteLinkedList呢?为什么没有?16、使用过线程池吗?谈谈线程池有哪些核心参数?17、假设最大线程数为10,核心线程8,正在运行,又来了一个任务,正常情况是先入队,能否不让其入队,先让其十个线程跑满再入队?我问为什么都不用自我介绍,他说面试的人太多了,根本筛选不过来,岗位一开没几天就有上百份简历了,只能通过这种方式快速筛选
查看17道真题和解析
点赞 评论 收藏
分享
评论
点赞
2
分享

创作者周榜

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