2020面试必知:中高级工程师面试题集整理(题目+答案)

这是一份中高级Java工程师面试题集合,涵盖Java基础、多线程、数据结构、Android等内容。适合面试复习,强调了线程安全、字符串操作、内部类、序列化等关键知识点,并探讨了线程池、同步机制和并发编程的实际应用。
摘要由CSDN通过智能技术生成

这些面试题是我准备换工作的时候整理,没有重点。包括java基础,数据结构,网络,Android相关等等。

适合中高级工程师。由于内容过多,将会分为上下两部分。

希望能够帮到一些朋友,如果帮助到你,希望能够点个赞,需要整个文档的朋友私信我【58】即可。
没有单独分出来,面试题目都是穿插的。因为有些事外面试过程中遇到的,我就又加上去了。总之你弄懂了这些,基本是没有问题了。如果是bat那些企业,你还得准备算法,jvm这些知识。好了,废话不多说了。

1、java中==和equals和hashCode的区别

基本数据类型的==比较的值相等.

类的==比较的内存的地址,即是否是同一个对象,在不覆盖equals的情况下,同比较内存地址,原实现也为 == ,如String等重写了equals方法.

hashCode也是Object类的一个方法。返回一个离散的int型整数。在集合类操作中使用,为了提高查询速度。(HashMap,HashSet等比较是否为同一个)

如果两个对象equals,Java运行时环境会认为他们的hashcode一定相等。

如果两个对象不equals,他们的hashcode有可能相等。

如果两个对象hashcode相等,他们不一定equals。

如果两个对象hashcode不相等,他们一定不equals。

2、int与integer的区别

int 基本类型

integer 对象 int的封装类

3、String、StringBuffer、StringBuilder区别

String:字符串常量 不适用于经常要改变值得情况,每次改变相当于生成一个新的对象

StringBuffer:字符串变量 (线程安全)

StringBuilder:字符串变量(线程不安全) 确保单线程下可用,效率略高于String

  • 1
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值