携程面试题 · Java
携程相关面试题,按最终去重题目聚合。
共 2142 道真题 · 当前筛选命中 274 道 · 更新 2026-08-05
筛选题目已选:Java
考察点
技术栈
第 41 题我们 new 一个对象的过程是怎样的,会分配哪里的内存? 考察 Java 对象创建流程及内存分配区域的理解第 42 题ArrayList和LinkedList的底层实现及适用场景分别是什么? 考察Java集合框架中线性表两种实现的原理与选型能力第 43 题谈谈 JVM 的内存模型 考察对JVM内存区域划分、对象内存布局及并发内存可见性的理解第 44 题你们当前项目主要使用哪个JDK版本,以及为什么选择该版本? 考察候选人关注项目技术栈及版本选择的合理性第 45 题请对比 synchronized 和 ReentrantLock 的异同,并说明各自适用的场景。 考察并发同步机制的理解与选型能力第 46 题请解释悲观锁和乐观锁的区别,以及各自适用的并发场景。 考察并发控制基本概念与实际应用判断第 47 题Java中有哪些创建线程的方式? 考察Java多线程基础API的掌握。第 48 题基于单例模式谈谈volatile 考察volatile在双重检查锁单例中的内存可见性与指令重排作用第 49 题请介绍 Java 对象头的基本结构,并结合 synchronized 的锁升级过程说明其作用。如果 JVM 已默认禁用偏向锁,锁升级路径会如何变化? 考察对象头理解与实际锁机制变化的掌握第 50 题使用线程池时如何保证任务执行正确性和避免资源泄漏? 考察线程池使用中的风险与防控措施第 51 题本地缓存为什么选择 Caffeine? 考察本地缓存选型的技术考量与性能优化意识第 52 题Collection和Collections有什么区别? 考察Java集合框架基础概念的准确理解第 53 题请说明 Java 的基本数据类型有哪些,每种各占几个字节,并说出其对应的包装类。 考察 Java 基础语法和类型系统掌握程度第 54 题请说明如何合理设置线程池的核心参数,并解释各参数的作用。 考察对线程池参数配置及并发调优的理解第 55 题ArrayBlockingQueue和LinkedBlockingQueue底层的锁有什么区别? 考察对Java并发队列锁机制的理解和区分第 56 题请解释volatile关键字的作用和适用场景。 考察对volatile语义的理解及其适用边界第 57 题聊一下HashMap的实现原理? 考察HashMap底层数据结构、哈希冲突处理与扩容机制第 58 题Java的HashMap数据结构与Redis的Hash数据结构有什么区别? 考察对两种Hash实现的数据结构、适用场景和底层机制的对比理解第 59 题请简单讲一下热部署的原理,并说明为什么 Tomcat 打破双亲委派模型来实现它? 考察对类加载机制与热部署实现原理的理解第 60 题volatile关键字在Java中的作用是什么? 考察对volatile可见性和有序性语义的理解