Java高频面试题——Java基础篇,2024吊打面试官系列

大量字符操作的性能比较:
StringBuilder > StringBuffer > String
工作中的使用:
在工作中经常使用的是String,StringBuffer与StringBuilder基本上很少用到,因为没有大量的字符串拼接的业务场景。String都是用于保存数据,展示数据,也不存在线程安全的问题,故在我过往的项目中基本都是使用String

==与equals的区别?

==与equals的区别?
我的理解是这样:==号比较的是栈里面的值(基本数据类型比较的是值,引用类型比较的是地址值),可以用于基本类型比较与引用类型比较
equals用于引用类型比较,在没有重写equals方法的情况下,比较的是地址值,重写equals的情况下,按照重写的规则进行比较,一般用于比较内容。

ArrayList与linkedList的区别?List与Set的区别?

ArrayList与linkedList的区别?
我首先说一下它们两者的相同点:
都是List接口的实现类,都可以用于保存引用数据,都是非线程安全的
其次,在说一下他们之间的不同点
结构方面:
数据结构不同,ArrayList底层采用的数组结构,LinkedList采用的是双向链表结构
执行效率:
查询,修改:ArrayList要优于LinkedList
增加(插入),删除:ArrayList与LinkedList 有一个数据迁移的时间 VS 数据查询的时间
List与Set的区别?
概述:
List与Set都是Collection接口的子接口,都属于单列集合。
List中最常用的实现类有:ArrayList与LinkedList
Set中最常用的实现类由:HashSet(底层采用的是HashMap的key部分)
特点:
List:元素存储有序,具有索引,可以通过索引快速定位元素,可以存储重复的元素
Set:元素存储可以有序,可以无序(要看选择的具体子类 HashSet 无序 LinkedHashSet(有序),TreeSet(排序)),没有索引,不能通过索引获取元素(即也不能使用普通for循环遍历),不可以存储重复的元素
项目中的使用:
在项目中大部分的场景使用的都是List,在一些需要去重的场景可以使用Set,比如在RBAC权限模型中,查询用户具备的权限的时候,就推荐使用Set

hashSet集合无序不重复的原理?(hashMap的put操作做了什么?)

在这里插入图片描述
hashSet集合无序不重复的原理?(hashMap的put操作做了什么?)
hashMap的put操作时,有以下几步:
1.根据key的hashcode()计算key的hash值,将 hash值& (数组的长度-1) 确定hash表的位置。
2. 判断该位置是否有值,如果没有值,则创建一个节点,将该节点保存到该位置(此处可能出现并发问题)
3. 如果该位置有值,则进行hash,==,equals判断,判断key是否重复,如果不重复,则添加到该链表中
4. 如果当链表中元素的个数达到8,同时数组中的个数超过64时,就会进化成红黑树(进一步提高查询效率)

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数软件测试工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年软件测试全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上软件测试开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注软件测试)
img

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值