面试真题

技术面高频问题 · 企业真题标题 + 校招宝自研参考答案
面试真题
641 道
覆盖企业
49 家
技术方向
16 个
当前筛选
36 道

按技术方向点选即筛,再点「全部」还原

按难度

按企业49 家企业的真题,点选查看该公司全部题目

分类:Java · 难度:中等36 道 · 点击进入查看参考答案

中等Java
@Transactional` 注解的原理?
结论:@Transactional基于Spring AOP和代理机制实现声明式事务。要点:1.原理:Spring容器扫描该注解,为Bean创建代理(JDK动态代理或CGLIB),在方法调用前通过TransactionIn…
🎤 百度
中等Java
常见的内存泄露场景?
结论:内存泄露指已分配内存因引用未释放而无法回收,常见场景多样。核心要点:C++中new/delete不匹配、忘记释放指针或析构函数未清理;Java中静态集合(static Map)长期持有对象、未关闭数据库/IO流、T…
🎤 京东
中等Java
常见设计模式,你用过哪些?
结论:设计模式分创建型、结构型、行为型三类,项目中常用单例、工厂、策略、观察者等。核心要点:单例确保全局唯一(双重检查锁注意volatile);工厂解耦对象创建;策略封装可互换算法(如支付路由);观察者实现事件通知(如S…
🎤 阿里巴巴
中等Java
分布式锁、Redisson 的实现
结论:分布式锁常用Redis,Redisson是Java客户端封装。核心原理:1. 加锁用Lua脚本向Redis Hash结构写入锁名、线程UUID+重入计数,同时设置过期时间,保证原子性;2. 看门狗机制:未指定lea…
🎤 京东
中等Java
介绍一下 AOP
结论:AOP(面向切面编程)将日志、事务等横切关注点与核心业务逻辑分离,通过动态织入实现模块化。核心要点:切面Aspect封装横切逻辑;切点Pointcut定义植入位置(如方法执行);通知Advice包括前、后、环绕等;…
🎤 京东
中等Java
垃圾回收机制,JVM 常见的垃圾回收器?
结论:JVM GC通过可达性分析判垃圾并分代回收;常见回收器Serial、ParNew、Parallel Scavenge、CMS、G1等。原理:1.以GC Roots搜引用链,不可达即回收;2.堆分年轻代(复制算法Mi…
🎤 阿里巴巴
中等Java
类加载,双亲委托机制
结论:双亲委托机制指类加载器收到请求时优先委派父加载器加载,父无法加载时才自己加载。核心要点:1)Java有三层加载器:Bootstrap(核心库)、Extension(扩展)、Application(应用);2)好处:…
🎤 阿里巴巴
中等Java
什么是动态代理?
结论:动态代理是在程序运行时动态生成代理对象,在不修改原类代码的情况下增强方法功能,常用于AOP场景。 核心要点:JDK动态代理基于接口,通过Proxy.newProxyInstance和InvocationHandle…
🎤 京东
中等Java
手撕:得到两个线程的计算成果
结论:通过Callable+Future或CountDownLatch等并发工具获取多线程执行结果。核心要点:1. Runnable无返回值,需用Callable接口配合FutureTask或线程池submit返回Fut…
🎤 京东
中等Java
手撕定时器实现
结论:基于优先队列(最小堆)和单线程轮询实现简单定时器。核心要点:1. 定义任务类包含执行时间戳和执行体Runnable;2. 用PriorityQueue按执行时间升序排序;3. 工作线程循环:取堆顶,若队列空则wai…
🎤 百度
中等Java
手撕读写锁(ReadWriteLock)
结论:通过状态计数与条件等待实现允许多读单写的读写锁。核心要点:1. 维护readCount读计数、writeCount写计数(或AQS state高低位);2. 获取读锁:当writeCount==0时CAS增加rea…
🎤 快手
中等Java
逃逸分析的原理、应用场景和优缺点
结论:逃逸分析是编译器(如JVM JIT)判断对象作用域是否逃出当前方法/线程的技术。原理:通过数据流分析,若对象仅方法内局部使用且不被外部引用(不逃逸),则可栈上分配、同步消除、标量替换。应用场景:方法内创建局部对象未…
🎤 哔哩哔哩
中等Java
为什么链表要转换成红黑树?
结论:链表长度过大时查找复杂度退化为O(n),转换为红黑树可将查找、插入、删除稳定控制在O(log n)。原理:以HashMap为例,当桶中节点数超过8且表容量≥64时链表转红黑树;红黑树是自平衡二叉搜索树,通过颜色翻转…
🎤 网易
中等Java
线程池的核心参数,给了一个线程池问有什么问题?
结论:线程池核心参数有7个,给定线程池需检查参数组合是否合理。核心参数:corePoolSize(核心线程数)、maximumPoolSize(最大线程数)、keepAliveTime(空闲线程存活时间)、workQue…
🎤 阿里巴巴
中等Java
序列化写入后读出的对象变化(版本不一致问题)
结论:序列化写入后若类版本不一致,反序列化可能失败或字段丢失。要点:Java靠serialVersionUID标识版本,读写值不同抛InvalidClassException;兼容变更(增删字段)可保持同serialVe…
🎤 阿里巴巴
中等Java
一条 Java 语句从创建到执行的全过程,类加载流程,JDK 内置类如何被启动类加载器加载?
结论:Java语句执行经历编译、类加载、执行三阶段。类加载流程:1. 加载:ClassLoader读.class二进制入方法区,建Class对象;2. 链接:验证字节码、准备静态变量零值、解析符号引用;3. 初始化:静态…
🎤 阿里巴巴
中等Java
针对 Hashtable 的问题,有什么更好方案?
更好方案是ConcurrentHashMap。核心要点:Hashtable全表synchronized锁导致并发阻塞;ConcurrentHashMap(JDK1.8)用CAS+桶头synchronized细粒度锁,支持…
🎤 腾讯
中等Java
HashMap 扩容机制?
结论:HashMap默认初始容量16,负载因子0.75,元素数超容量*负载因子时触发扩容,新容量为旧容量2倍。原理:resize()方法创建新数组,重新分配节点;JDK1.8使用(e.hash & oldCap) == …
🎤 京东
中等Java
HashMap 源码分析,是不是线程安全?
结论:HashMap线程不安全,禁止在多线程并发写场景下直接使用。原理:JDK1.8源码中putVal()无同步控制,多线程同时put时可能出现:1) 同桶位节点覆盖导致数据丢失;2) 扩容期间线程A转移链表,线程B同时…
🎤 阿里巴巴
中等Java
hashmap底层原理,有哪些线程安全的map
结论:HashMap底层为数组+链表+红黑树,线程安全Map有Hashtable、Collections.synchronizedMap、ConcurrentHashMap。原理:HashMap对key的hashCode…
🎤 百度
第 1 / 2 页下一页 ›
题目整理自公开面经,答案由校招宝自研生成,仅供参考