正元智慧集团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。
  • 冲突解决
    1. 链表长度>8且数组长度≥64时,转红黑树(否则扩容)。
    2. 正元智慧的学生信息缓存可能用HashMap,需注意并发问题(推荐ConcurrentHashMap)。

3. 什么是Spring的事务传播机制?REQUIRED和REQUIRES_NEW有什么区别?

答案

  • REQUIRED(默认):当前有事务则加入,没有则新建。
  • REQUIRES_NEW:始终新建事务,原事务挂起。 正元应用场景
    • 校园缴费系统:主业务用REQUIRED,日志记录(需独立事务)用REQUIRES_NEW。

4. MySQL索引失效的常见场景?如何优化?

答案

  • 失效场景
    1. 对索引列使用函数(如WHERE YEAR(create_time)=2025)。
    2. 左模糊查询(LIKE '%张')。

5. Redis的缓存穿透、雪崩、击穿是什么?如何解决?

答案

  • 穿透:查询不存在数据(如恶意请求)。 解决:布隆过滤器+缓存空值。
  • 雪崩:大量key同时过期。 解决:随机过期时间+集群部署。
  • 击穿:热点key过期瞬间高并发。 解决:互斥锁(Redis的SETNX)。

6. 什么是ThreadLocal?内存泄漏问题如何避免?

答案

  • 线程局部变量,每个线程独立副本。
  • 内存泄漏
    • ThreadLocalMap的key是弱引用,但value是强引用。 解决:正元OA系统中,用完必须调用remove()

7. Kafka如何保证消息不丢失?

答案

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

大学四年面经(学院本) 文章被收录于专栏

大学全部面经从大一到大四,从实习、秋招、春招等等,各种岗位,中小厂,乃至大厂面经! 公粽号:程序员落叶,里面分享全部文章详情。

全部评论

相关推荐

评论
2
6
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务