00:00
各位同学大家好,欢迎大家来到上硅谷大厂学院,跟着杨哥学习大厂相关的高阶知识和相关的面试题,那么下面如前所述,我们为了庆祝哈2020年10月24号程序员节。回馈广大股粉和相关的同学们,那么我们拿出了我们在大厂高阶班所讲的部分知识以及相关的面试题提前暴露给大家,希望大家在疫情结束之后,也就是国庆之后,金九银十的求职期间能够有一定的帮助和技术上的提升。好。那么下面。我们呢,进入到我们今天的第一个维度,就是加法和算法相关的。重点和经典高频平面试题。来,同学们请看一下五八同城考过的一道关于Java字符串产量池相关的题目,那么话不多讲,我们植物主题与题目来带动知识,那么来看一下啊。貌似我这个杨哥都打明牌了,考的是字符串常量池,那么大家看一下大厂除了考。
01:04
面上的Java相关的计算机知识以外,还会不会考其他的东西?那么他到底在筛选什么样的人?这么多年的直角,长期跟这些大厂的各种比面试题相关接触,我发现他们的责人的标准也在慢慢的发生了变化。好,那么同学们来看看他到底在考些什么?两层哦,走起。先看面试题。就这么一个好。那么在这块,由于各位亲已经是今天哈能够登录上来学习的同学,基本上是两年工作经验,已经是找到工作的了,不再是零基础,所以说我们主要是给大家讲解核心关键的知识点。就不在手敲这么一行代码,相信大家都看得懂,我们下面要看的是它到底考的什么,那么抖起来,那么同学们。第一个STR1这个字符串引用第二个in这个方法,好,这是我们的第十二十三行,请问打出来什么?那么再来ST22。
02:07
那么再来s tr in称这个方法,那么为了保证大家待会儿的这个哈,在上面回复我的这个答案的。正确性,我们先复习一下inter这个方法,到底他讲了些什么,我们打开源码。那么在这块可以看得出它是死类里面的一个方法,是native的,OK。不再废话,绝对讲过native调的是底层的native接口好,那么巴拉巴拉,这对对。返回一个字符串常量池的对象,那么基本上啊,简单的复习一象,当我们调用这个方法的时候,这个池子如果已经包含了一个类似的对象,那么它呢,直接返回。这个时候string将会从这个池子里面直接返回。否则的话,如果这个对象。是没有的,那么将会新建并添加到这个池子里面,并返回它的引用,那么好,这个是形态方法一个最简单的说明,那么下面呢,我们呢来看一下啊。
03:06
引吞方法呢?我们刚才解读了源码,为了保证大家能够把这道题目啊,我们尽量的提升正确率,希望你们都能答对,那么来,同学们来走一眼,这是刚才的源码解读,那么它的意思我们呢,来看一下。首先啊。运行是常量池,已经是方法区的一部分了啊,这个呢,是我们从gbm那本书,周志明老师的摘抄出来的权威的理论知识的基础。当然。我们来看。JAVA8完全使用了什么云空间来替代永久区?在座各位都懂吧?OK,很好啊。下面的问题还是对这个方法,它是一个什么native本地方法作用。就是刚才我们所说的,如果说已经包含了一个,那么返回这个常量池中的子重对象的引用,否则。子针对象包含了字符串,添加到常量池中,相当于说新建并且返回此磁针对象的引用,OK,这个够清楚了吧,那么所以说呢,各位同学,我们呢,给大家十秒钟在对话窗口上写出你的答案,我先暂停一下录屏,那么感谢各位同学的回复,我们下面跑一下看看。
04:18
一个呢叫五八同城,一个呢叫Java Java。不废话,我相信这个呢,很简单吧,在座各位同学几乎100%都答对了。下面。正式来了,前面快快的过,只是搭建个架子,根本没有讲五八的考点呢,这个大厂到底考什么?那下面同学们。我关心的是现在。大家告诉我。它又会变成什么样的结论?OK。兄弟们,这一波没问题吧,那么请大家思考一下,他现在的结果应该又是什么样的东东么?请大家思考,我先暂停一下录屏,来,我们继续。
05:09
不要忘了啊,上面。分步骤给大家拆解了以后,5858同城,五八同城加吧加吧两个字符串都打出来了,下面问你的是第14行和第21行分别打出什么好,那么同学们呢?已经在对话窗口打出了你自己的判断,有说错有说first的,那么下面我们来看看最终答案是什么东东。来。5858。错,五八同城当然等于五八同城了,它是错,但是下面的加吧。Fourth。很神奇这道题目。我明说了,只有Java是副,其他的全是错。不相信的同学,我们走起。阿里。爸爸。换一家公司没问题吧,出现五八同城的时候是初Java的时候是false,我们再来跑一下。
06:06
阿里巴巴它是什么?是处五八同城的时候告诉我他又是什么?阿里的时候是出Java的时候是什么?For OK,好,Java又是for,那么下面这个时候。我们换成美团。没问题吧,再跑一次啊,各位同学。来看看现在又是什么样的结论和效果呢?还是错?还是first?只有Java是force,其他都是错,你要是还不相信,我们不用公司。走起。来看看他现在打出来什么,是不是一样啊。true和副。那么这个到底是什么意思啊,你说我。没有讲理论,不可能吧,已经拿拿着这个东西都给大家来说了,你要说你不懂,你不可能刚才也做对,打出了五八同城和我们相关的Java吧,可为什么现在这道题目Java就是force,或者美团阿里巴巴等等就是true呢?那么按照我们刚才所讲的理论,他自己的说法。
07:23
否则会将此次中对象包含了字符串添加到乘量值当中,并且返回此次中对象的引用。那么换句话说,如果说我们现在的这个str和这个str打出来的是false,那就说明这两个加吧。字面上看的是相等的,但实际而言,他们根本就不设,也就是说,它们是两个。能跟上,因为我们前面啊恢复到肝。
我来说两句