杭州银行面经

大学学的专业课都是什么

1
除了通识的专业课,就是,Java,数据结构,计网,计组,数据结构等

HashMap的底层实现原理

1
2
3
4
5
6
7
8
9
10
11
12
13
14
Java中的HashMap是一种基于哈希表的Map接口实现,
它可以存储键值对,并且支持快速的插入、删除和查找操作。
HashMap的底层实现原理是数组+链表/红黑树。

具体来说,HashMap内部维护了一个Entry数组,每个Entry包含一个键值对。
当插入一个键值对时,HashMap会根据键的哈希值计算出该键值对在数组中的位置,
如果该位置已经有其他键值对了,则使用链表或红黑树来解决冲突。
当查找一个键值对时,HashMap会根据键的哈希值计算出该键值对在数组中的位置,
然后遍历链表或红黑树,找到对应的键值对。

在Java 8中,HashMap的底层实现原理进行了优化,
当链表长度超过一定阈值时,会将链表转换为红黑树,以提高查找效率。
此外,HashMap还支持动态扩容和负载因子等特性,以提高存储和访问的效率。

HashSet是如何检查重复的

1
2
3
4
HashSet底层还是HashMap,HashSet只考虑key的值,
value都指向一个全局object常量
比较过程:通过哈希法比较哈希值
哈希值相等再调用equals比较方法

equals和==的区别

1
2
3
==比较的是地址
equals如果不被重写,比较的是地址,底层调用==,
如果被重写,就按照重写的逻辑比较

Spring三件套框架

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Spring 三件套指的是 Spring 框架的三个核心模块,
分别是 Spring Core、Spring AOP 和 Spring MVC。

Spring Core:提供了 IoC(Inverse of Control)容器,
用于对象之间的解耦,通过容器自动将对象之间的依赖注入。
同时,Spring Core 还提供了对 AspectJ 的集成,
以及对基于注解的 Spring Bean 的支持。

Spring AOP:提供了基于 AOP(Aspect Oriented Programming)的编程方式,
能够在不修改源代码的情况下,
通过代理机制对对象进行增强,比如添加事务、日志、安全检查等功能。

Spring MVC:是 Spring 框架的 Web 模块,
提供了 MVC(Model-View-Controller)模式的支持,用于处理 Web 请求和响应。
Spring MVC 通过 DispatcherServlet、HandlerMapping、Controller
和 ViewResolver 等组件构成了完整的 MVC 模式的实现。