正元智慧集团2025Java开发工程师
正元智慧集团2025Java开发工程师
硕士才给8-9k,有工作年限10-15K....
面试45分钟。
1. 请简述Java集合框架中ArrayList和LinkedList的区别?适用场景?
答案:
- ArrayList:基于动态数组,随机访问快(O(1)),但插入删除慢(需移动元素)。
- LinkedList:基于双向链表,插入删除快(O(1)),但随机访问慢(O(n))。
2. HashMap的底层原理?JDK1.8后如何解决哈希冲突?
答案:
- 数组+链表+红黑树结构,默认负载因子0.75。
- 冲突解决:
- 链表长度>8且数组长度≥64时,转红黑树(否则扩容)。
- 正元智慧的学生信息缓存可能用HashMap,需注意并发问题(推荐ConcurrentHashMap)。
3. 什么是Spring的事务传播机制?REQUIRED和REQUIRES_NEW有什么区别?
答案:
- REQUIRED(默认):当前有事务则加入,没有则新建。
- REQUIRES_NEW:始终新建事务,原事务挂起。 正元应用场景:
- 校园缴费系统:主业务用REQUIRED,日志记录(需独立事务)用REQUIRES_NEW。
4. MySQL索引失效的常见场景?如何优化?
答案:
- 失效场景:
- 对索引列使用函数(如
WHERE YEAR(create_time)=2025)。 - 左模糊查询(
LIKE '%张')。
- 对索引列使用函数(如
5. Redis的缓存穿透、雪崩、击穿是什么?如何解决?
答案:
- 穿透:查询不存在数据(如恶意请求)。 解决:布隆过滤器+缓存空值。
- 雪崩:大量key同时过期。 解决:随机过期时间+集群部署。
- 击穿:热点key过期瞬间高并发。 解决:互斥锁(Redis的
SETNX)。
6. 什么是ThreadLocal?内存泄漏问题如何避免?
答案:
- 线程局部变量,每个线程独立副本。
- 内存泄漏:
- ThreadLocalMap的key是弱引用,但value是强引用。 解决:正元OA系统中,用完必须调用
remove()。
- ThreadLocalMap的key是弱引用,但value是强引用。 解决:正元OA系统中,用完必须调用
7. Kafka如何保证消息不丢失?
答案:
剩余60%内容,订阅专栏后可继续查看/也可单篇购买
大学四年面经(学院本) 文章被收录于专栏
大学全部面经从大一到大四,从实习、秋招、春招等等,各种岗位,中小厂,乃至大厂面经! 公粽号:程序员落叶,里面分享全部文章详情。

查看6道真题和解析