20250526 (上海)国泰产险面试问题:

发布于:2025-06-11 ⋅ 阅读:(44) ⋅ 点赞:(0)

1、自我介绍:

2、自己负责模块流程:

3、如何保证redis 和 数据库数据一致(回答混乱,通过mq,)

(后面说下这块流程)

4、如何保证单点登录在别的机器上无法登录(回答在token中保存了用户ip)

5、你们项目组几个人

6、你在工作中用到过哪些集合类:(回答ArrayList,hashmap ,linkList 、hashSet )

7、hashset 和 ArrayList 有什么区别(只说了hashset去重无序,ArrayList没说出啥)

8、hashset 和 hashMap有什么区别(胡乱回答hashet可以为null值存在,hashMap不可以为null值存在)

9、项目定时任务怎么做的?(不是我负责的)

10、如何限流的?sintinel如何实现限流

11、sintinel设置了哪些参数

12:jvm算法: 简历回答垃圾回收:垃圾回收算法:(可达性分析 和 程序计数器)

13、可达性分析 和 程序计数器 结果有什么不同?

反问

总结失败经验:过于紧张,面试太少,头脑空白。

对比arraylist 和 LinkList
维度 ArrayList LinkedList
数据结构 动态数组 双向链表
随机访问 ✅ O(1) ❌ O(n)
头尾操作 ❌ 尾部插入高效,头部/中间低效 ✅ O(1)
内存效率 ✅ 紧凑 ❌ 分散
适用场景 读多写少,索引访问优先 写多读少,频繁增删优先

对比hashmap 和 hashtable    
特性 HashMap HashSet
接口实现 实现 Map 接口(键值对存储) 实现 Set 接口(唯一元素集合)
存储方式 存储键值对(Key-Value 仅存储元素(元素作为 HashMap 的键)
数据冗余 键唯一,值可重复 元素唯一(依赖 HashMap 的键唯一性)
内存占用 较高(需存储键和值) 较低(值统一为固定对象 PRESENT
线程安全性 非线程安全

非线程安全(与 HashMap 一致)

hashset:
1. 基于哈希表的结构
  • 依赖 HashMapHashSet 内部封装了一个 HashMap,元素作为 HashMap 的键,值统一为固定对象 PRESENT
  • 哈希冲突处理:通过链表或红黑树(JDK8+)解决冲突,但元素的存储位置由哈希值决定,而非插入顺序。

 对比hashmap 和 hashtable对比

特性

Hashtable HashMap
线程安全性 线程安全(方法用 synchronized 修饰) 非线程安全(需手动同步)
null 支持 不允许键或值为 null 允许一个 null 键和多个 null 值
继承关系 继承 Dictionary 类(已过时) 继承 AbstractMap 类
初始容量与扩容 默认初始容量 11,扩容为 2n+1 默认初始容量 16,扩容为 2n
哈希值计算 直接使用 key.hashCode() 对 key.hashCode() 二次哈希(减少冲突)
迭代器 使用 Enumeration(不支持快速失败) 使用 Iterator(支持快速失败)
性能 低(同步锁开销) 高(无锁,哈希优化)
推荐使用场景 已过时,不推荐使用 主流选择(单线程或配合同步机制)

网站公告

今日签到

点亮在社区的每一天
去签到