第一次AI面试7.6
最近几次面试实在把自己搞得没脾气了,决定坚持做AI面试挑战,希望大家能监督我
1、GET和POST的区别
- GET:从服务端获取数据,参数在url中,低安全性,数据大小有限
- POST:用于发送数据到服务器,参数在请求体中,高安全性,数据大小没有限制
2、HashMap的实现原理
- 在JDK1.7之前:HashMap是基于数组和链表实现,并且是头插法
- 在JDK1.8之后:HashMap底层采用“数组+链表+红黑树”实现,当链表个数大于8并且数组长度大于64时,链表自动转化为红黑树
- HashMap是基于哈希算法来确定元素的位置,会首先根据Key计算哈希值,根据哈希值取余确定数组中的位置,如果发生碰撞,会使用链表将这些元素连接起来,如果碰撞进一步加剧,则会转化为红黑表树
- HashMap,数组的初始容量为16,当数组元素的比例达到负载因子时,每次扩容2倍,负载因子默认为0.75
- HashMap是非线程安全的
3、双亲委派模型的理解
- 双亲委派模型依赖于三类加载器:启动类加载器、扩展类加载器和应用类加载器
- 流程:一个类加载器收到类加载的请求,它首先判断当前类是否被加载过,已经被加载的类会直接返回。接下来将这个请求委派给父类加载器去完成,因此所有类加载请求最终都会传送到最顶层的启动类加载器,只有当父类无法完成这个请求时,才会交给子加载器处理
- 优点:避免类的重复加载并且保护API防止被篡改
- 双亲委派机制被破坏情况: