携程面试题 · 问题拆解 · Java

携程相关面试题,按最终去重题目聚合。

2142 道真题 · 当前筛选命中 44 · 更新 2026-08-05

筛选题目已选:问题拆解 · Java
第 1 题equals与==的区别是什么? 考察对Java对象比较机制的理解问题拆解技术原理Java第 2 题Thread.join 方法作用? 考察对线程协作控制机制的理解问题拆解技术原理Java第 3 题用 Java 实现一个栈,完成入栈、出栈、查看栈顶元素三个方法。 考察栈数据结构的实现和 Java 基础编程能力编码实现问题拆解技术原理Java第 4 题CAS 下面一层是什么?(基于 unsafe) 考察对 CAS 底层实现和 unsafe 机制的理解问题拆解技术原理Java第 5 题CompletableFuture 和 Future 的区别是什么?它们的返回结果如何获取?怎么捕获异步任务中的异常? 考察对 Java 异步编程模型的理解,包括 Future 与 CompletableFuture 的差异、结果获取方式及异常处理问题拆解技术原理Java第 6 题我们 new 一个对象的过程是怎样的,会分配哪里的内存? 考察 Java 对象创建流程及内存分配区域的理解问题拆解技术原理JavaJVM第 7 题Feign 是怎么做 RPC 调用的,为什么可以用一个 @FeignClient 注解声明接口,就能转成 HTTP 请求? 考察对 Feign 动态代理与 Ribbon/Hystrix 集成原理的理解问题拆解技术原理FeignJavaSpring Cloud第 8 题能否自行定义一个与 java.lang.String 同名的类,并与原有 String 类共存? 考察类加载机制与类路径加载顺序的理解问题拆解技术原理Java第 9 题synchronized的实现原理是什么? 考察对Java内置锁机制的底层实现理解,包括锁升级、内存语义和底层指令问题拆解技术原理Java第 10 题两个类User1和User2是同一个类的不同版本,如何让它们同时被JVM加载? 考察JVM类加载机制与隔离加载的设计能力问题拆解技术原理JavaJVM第 11 题请手写实现一个LRU缓存,要求支持get和put操作,并在容量满时淘汰最久未使用的键。 考察LRU缓存的核心设计、数据结构选型和编码实现能力编码实现问题拆解技术原理Java第 12 题请解释一下Java中类加载机制具体做了哪些事情? 考察对JVM类加载流程的理解和表述清晰度问题拆解技术原理Java第 13 题请用代理模式实现一个场景:汽车工厂生产汽车、4S店代理销售、消费者到4S店购车。要求使用简单工厂创建汽车,4S店作为静态代理持有工厂引用,并说明四个类(Car、CarFactory、FourS、Customer)各自的设计职责。 考察代理模式、简单工厂的组合运用及代码实现能力编码实现问题拆解技术原理Java第 14 题除了反射,你还了解哪些Java的元编程或动态特性? 考察对Java反射机制之外动态编程能力的了解与扩展问题拆解技术原理Java第 15 题请描述 HashMap 在 Java 8 中的底层数据结构,并说明链表与红黑树之间转换的条件。 考察对 HashMap 底层数据结构及其转换机制的掌握问题拆解技术原理Java第 16 题Java中new一个对象的过程是怎样的? 考察Java对象创建的内存分配、初始化顺序与并发安全机制问题拆解技术原理Java第 17 题请解释AQS(AbstractQueuedSynchronizer)的核心原理及其在Java并发工具中的应用。 考察对AQS同步框架的理解,包括状态管理、等待队列和资源获取与释放机制问题拆解技术原理技术选型Java第 18 题线程池有了解吗,底层是如何运行的? 考察对线程池核心组件、执行流程与资源管理的理解问题拆解技术原理Java第 19 题请介绍线程池的工作原理及其核心参数。 考察对线程池执行流程、核心参数和任务调度机制的理解问题拆解技术原理方案权衡Java第 20 题请说明 NIO 和传统 IO 的区别。 考察对 Java IO 模型的理解及 NIO 特性的掌握问题拆解技术原理Java