4·每日面试实录·京东·社招·JAVA

📍面试公司:京东
面试岗位:后端开发工程师
面试时长:约 50 分钟
🔄面试轮次:第 1 轮技术面

✅ 面试整体节奏:

这场京东的后端一面主要聚焦在 Java 基础 + 中间件使用 + 项目实战。整体问得较快,尤其是项目细节和基础原理结合点非常多,建议提前对项目实现做深入梳理,避免被追问时卡壳。


✅ 面试题目逐题整理与解析:


1. 如何实现一个函数,找出一个字符串中最长的不重复子串?

考察点:字符串处理、滑动窗口算法
面试公司:京东
答案:使用双指针滑动窗口法,借助 HashSet 记录字符窗口,维护最大长度。时间复杂度 O(n)。


2. 你能展示下你项目里的某段核心代码,并简单讲讲它的实现原理吗?

考察点:项目理解、代码实现能力
面试公司:京东
答案:建议选择项目中自己写的核心模块代码,如接口调用链路、数据处理逻辑等,重点突出“为什么这么写”“处理了哪些问题”。


3. Sentinel 是怎么用的?你知道它的底层机制吗?

考察点:限流熔断机制、Sentinel 原理
面试公司:京东
答案:Sentinel 通过注解或 API 实现流控规则,底层基于滑动窗口计数 + token bucket 进行限流,并支持多种降级策略(RT、异常比例等)。


4. 你项目里为什么选用 OpenFeign 进行服务调用?和其他 RPC 框架相比有什么优劣?

考察点:网络通信框架选型分析
面试公司:京东
答案:OpenFeign 接入成本低,支持声明式调用 + Ribbon + Hystrix。对比 Dubbo:Dubbo 性能好但部署复杂,适用于微服务较多场景。


5. 你在项目中有哪些 Redis 的典型使用场景?

考察点:缓存使用、业务落地场景
面试公司:京东
答案:如:接口缓存、热点数据预热、分布式锁、消息队列、排行榜等。


6. 如何解决 Redis 的缓存穿透问题?

考察点:高并发缓存设计
面试公司:京东
答案:可通过布隆过滤器、缓存空值、接口限流等方式解决。


7. Redis 提供哪些数据结构?你们项目中最常用的是哪些?

考察点:Redis 数据结构理解
面试公司:京东
答案:String、List、Set、SortedSet、Hash、Bitmap、HyperLogLog。常用如 Hash 存对象,String 缓存 JSON,Set 做标签关系等。


8. ArrayList 和 LinkedList 区别在哪?分别适合什么场景?

考察点:集合底层结构
面试公司:京东
答案:ArrayList 基于数组,查询快插入慢;LinkedList 基于双向链表,插入删除快查询慢。前者适合随机访问多,后者适合频繁插入删除。


9. 你了解线程池或连接池吗?为什么实际开发中需要使用池化?

考察点:池化机制原理
面试公司:京东
答案:池化可复用资源、减少开销,提高系统稳定性。线程池控制并发线程数量,连接池则复用数据库连接,避免频繁创建销毁。


10. JDK 8 默认的垃圾回收器是什么?你了解垃圾回收的基本流程吗?

考察点:GC 机制
面试公司:京东
答案:JDK8 默认使用 Parallel GC 或 G1 GC(后期替代)。GC 分代(新生代、老年代),使用标记清除、复制、压缩等算法。


11. JDK17 有什么新特性你知道吗?

考察点:Java 新版本特性关注度
面试公司:京东
答案:如 sealed class、switch 新语法(增强表达式)、pattern matching、record 类等。


12. 项目中你有没有使用设计模式?用的是什么?

考察点:设计模式落地能力
面试公司:京东
答案:常用如单例模式(Spring Bean)、工厂模式(创建实例)、策略模式(订单状态处理)、模板方法模式(通用业务流程封装)等。


13. 如果消息队列堆积了你会怎么处理?

考察点:消息中间件稳定性应对
面试公司:京东
答案:先查原因(消费者挂掉、消息积压),再考虑扩容消费者、提升消费并发、降级非核心消息。也可以使用死信队列等保护机制。


14. 你对 Java 泛型理解如何?能举例说明吗?

考察点:类型泛化能力
面试公司:京东
答案:泛型用于增强代码复用和类型安全。可定义类、接口、方法泛型。例:public <T> T get(T t) { return t; }


15. 如何理解线程安全?你项目中遇到过相关问题吗?

考察点:并发编程基础
面试公司:京东
答案:多个线程操作共享变量时不会导致数据不一致。用 synchronized、Lock、ThreadLocal、CAS、volatile 保证线程安全。


16. 什么是 MVCC?它的作用是什么?

考察点:数据库并发控制
面试公司:京东
答案:多版本并发控制,用于提升读性能。MySQL InnoDB 实现 MVCC,通过 undo log 实现快照读,避免加锁。


17. 聚簇索引是什么?底层是怎么实现的?

考察点:数据库索引结构
面试公司:京东
答案:主键索引即聚簇索引,数据和索引存储在一起,底层是 B+ 树结构。辅助索引存储的是主键值,通过回表查数据。


18. 给某个字段添加索引时,数据库背后发生了什么?你知道建索引的原则吗?

考察点:索引原理及优化
面试公司:京东
答案:创建 B+ 树,维护有序结构。建索引原则:选择高区分度字段、频繁查询/排序字段、控制索引数量避免影响写入性能。


19. 订单表的状态字段是否适合加索引?为什么?

考察点:实际建索引策略分析
面试公司:京东
答案:看状态字段值的基数。若状态值类型少(如3种),加索引效果不明显。若参与复杂查询或排序,则可考虑覆盖索引优化。


20. == 和 equals 有什么区别?

考察点:Java 基础语法
面试公司:京东
答案== 比较的是引用地址(基本类型比值),equals() 比较的是对象内容。重写 equals 需同时重写 hashCode。


21. 你对 Spring 框架有哪些了解?Spring 启动时做了哪些事情?

考察点:框架源码理解
面试公司:京东
答案:Spring 启动时完成配置解析、BeanDefinition 注册、实例化、依赖注入、AOP代理等。核心在于 IOC 容器的初始化与管理。


22. 你有什么要问我的吗?

考察点:反问环节,展示思考深度
建议反问

  • 团队技术栈和核心业务逻辑?
  • 当前项目遇到的最大挑战是什么?
  • 对候选人技术成长路径是否有规划?

总结 & 面试复盘:

这轮京东的后端一面,技术栈覆盖全面、节奏紧凑,从算法、项目实战到框架原理、数据库、缓存、中间件都有涉及,考察面偏深偏广。建议面试前加强以下几点准备:

  • 项目复盘要深入,清楚讲明“我做了什么+为什么这么做”;
  • 框架原理不要只停留在使用层,深入理解 Spring、Redis、MQ 等原理;
  • 数据库和并发是必问内容,需强化掌握;
  • 多准备几组有深度的反问,体现你对岗位的关注度和思考能力。

如果你也在准备 Java 后端社招,可以留言交流,我会持续整理类似的高频面试题+项目思路拆解,祝大家都能稳稳上岸 💪!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值