关于Android初级面试(自述版)之二:java篇

今天是2020年6月18日

关于面经的作用和意义上一篇博客已经说了,这篇博客直接干货启动。

//第一篇博客先搞一些简单的高频的问题吧。这里博主是用自己的口吻说的,可能会出现语句不通的地方,望谅解。

1.说一下重写和重载的区别把

重写的话是,出现在两个类中的方法。就是说父类和子类的方法名和参数和返回值都相同的情况下,子类执行这个方法时执行的是子类中的逻辑而不是父类中的逻辑。而重载的话是出现在一个类中的两个方法,这两个方法的方法名相同但是参数不同的方法,返回值的话可以不同但是不能只有返回值不同,如果只有返回值不同的话就不知道走哪个逻辑了。使用的时候根据传入参数的不同来决定执行的是哪个逻辑。

2.说一下String和StringBuffer和StringBuilder的区别吧

这三个的话都是表示的为字符串,String的话为不可变的字符串,剩下两个的话为可变的字符串。在字符串进行操作的话,String都为生成一个新的字符串。而StringBuilder和StringBuffer都是在原字符串上进行操作,所以比较省空间。而StringBuffer为线程安全,StringBuilder不是线程安全,所以如果是单线程的情况下的话StringBuilder比较快,不涉及到同步锁的问题。//这里就提到了同步的问题,可能会问到锁的问题。

3.说一下数组和链表的区别

数组和链表都是保存数据的方式,数组的话访问的话比较快,而要是进行添加或者删除的话就比较麻烦了,因为要将添加或者删除的哪个地方后边的下边都要提前一个。而链表的话就恰恰解决了这个问题,链表的话可以将链断开然后再在别的地方接起来,有一个断链的操作比较方便,但是要是进行访问的话链表只能通过.next来访问,效率还是非常低的。所以对于一个数据要是要经常进行添加删除操作的话用链表,要是经常进行查找访问的话使用数组。//这里提到了链表问题,博主之前有一次面试的时候,面试官提出了链表成环的问题。

      这篇博客就先介绍三个问题把,因为感觉新人的话多了也记不太住。而且关于每个问题后的红字,就是博主上篇博客所说的延申问题,感兴趣的小伙伴们也可以查找看看,对自己很有帮助的。

//这篇博客是博主以自己的口吻来说的,就是所说的自述版,可能有小伙伴感觉博主说的上言不搭后语的。但其实自己面试的时候应该就是这样。(好吧,其实博主是这样<哈哈>)想到哪就说到哪,但是可能给观看的小伙伴们添麻烦了。这里先跟兄弟们说声sorry把。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值