2023java远程面试题(实战-业基科技)

1、hashmap与hashTable的区别

(1)HashTable的每个方法都用synchronized修饰,因此是线程安全的,但同时读写效率很低
(2)HashTable的Key不允许为null
(3)HashTable只对key进行一次hash,HashMap进行了两次Hash
(4)HashTable底层使用的数组加链表

2、ArrayList与LinkedList的区别

ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。
对于随机访问get和set,ArrayList效率优于LinkedList,因为LinkedList要移动指针。
对于新增和删除操作add和remove,LinkedList比较占优势,因为ArrayList要移动数据。 这一点要看实际情况的。若只对单条数据插入或删除,ArrayList的速度反	而优于LinkedList。但若是批量随机的插入删除数据,LinkedList的速度大大优于ArrayList. 因为ArrayList每插入一条数据,要移动插入点及之后的所有数据。

3、线程的几种状态

	5种,分别是 新建=》就绪=》运行=》阻塞=》死亡

拓展:
在这里插入图片描述

4、==和equals区别

 ==
如果比较的是基本数据类型,那么比较的是变量的值;
如果比较的是引用数据类型,那么比较的是地址值(两个对象是否指向同一块内存);
equals
如果没重写equals方法比较的是两个对象的地址值;
如果重写了equals方法后我们往往比较的是对象中的属性的内容;
equals方法是从Object类中继承的,默认的实现就是使用==。

5、线程池的工作原理/工作过程

在这里插入图片描述

6、什么是死锁/平时工作中多线程这块有遇到死锁吗

死锁指多个线程在执行过程中,因争夺资源造成的一种相互等待的僵局

7、redis你们有哪些应用场景

强引用:new的对象。哪怕内存溢出也不会回收
软引用:只有内存不足时才会回收
弱引用:每次垃圾回收都会回收
虚引用:必须配合引用队列使用,一般用于追踪垃圾回收动作

8、JVM中有哪些引用?

强引用:new的对象。哪怕内存溢出也不会回收
软引用:只有内存不足时才会回收
弱引用:每次垃圾回收都会回收
虚引用:必须配合引用队列使用,一般用于追踪垃圾回收动作

9、说下mysql有哪些索引类型?讲下索引为什么快?

单值索引、唯一索引、主键索引、复合(联合)索引;
因为以聚合索引的B+tree进行存储的。

拓展:
在这里插入图片描述

在这里插入图片描述

10、你们什么场景用到rabbitMq?

11、你认为你有什么优势?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值