2024年JAVA开发工程师面试题

今天记录一下今年一家深圳上市公司java开发工程师的面试题,也是比较经典的一些问题,希望能帮助到大家

学习目标:

2024年JAVA开发工程师面试题


学习内容:

1.常见的集合有哪些?

常见的集合有list,set,map,其中:

list集合常见的有:ArrayList和LinkedList和Vector,区别就是ArrayList的底部是数组,查询速度快,删除效率低,LinkedList的底部是双向链表,增删操作快,查询较慢。Vector:底层数据结构是数组,查询快,增删慢,线程安全,效率低,可以存储重复元素(其区别经常会问)

set集合常见的有HashSet

map集合常见的有haspmap与ConcurrHashmap,后者比前者具有线程安全性。

2.== 和 equals 的区别是什么?

== 对于基本类型来说是值比较,对于引用类型来说是比较的是引用;

而 equals 默认情况下是引用比较,只是很多类重新了 equals 方法,比如 String、Integer 等把它变成了值比较,所以一般情况下 equals 比较的是值是否相等。

 3.HashMap 和 Hashtable 有什么区别?

hashTable同步的,而HashMap是非同步的,效率上比hashTable要高。

hashMap允许空键值,而hashTable不允许。

4.面对对象的特点

Java面向对象具有以下三个主要特征:

封装(Encapsulation)

封装是Java面向对象编程的基本特征之一。它将数据和相关的方法封装在一个对象中,并对外部提供公共接口来访问这些数据和方法。通过封装,对象的内部细节被隐藏起来,外部只能通过接口来与对象进行交互,而无需关心对象内部的实现细节。

封装的优势在于它提高了代码的可维护性和复用性。封装将数据和行为封装在一起,使得代码更加模块化和可组织。这种模块化的设计有助于代码的维护和调试,并且可以减少对其他代码的依赖性。此外,封装还可以保护数据的安全性,防止数据被意外修改或破坏。通过提供合适的访问控制,可以限制对数据的直接访问,从而确保数据的完整性和一致性。

继承(Inheritance)

继承是Java面向对象编程的另一个重要特征。继承允许创建一个新类,通过继承已有类的属性和方法,从而实现代

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值