00:00
行,那接着的话呢,我们看后边这个题啊,这个呢练习五这呢也是一道网红题。嗯,这是在这个当时的这个卖卖上,然后有有很多这个麦卖上,其实有好多都是成员了哈,他们发出来的,你说诶没有啊,嗯,你你上来可能是陌陌是吧,我说的是正规的卖卖哈,呃,就是有好多都是程序员,然后天天吐槽公司这个那个的,然后呢,包括一些题目啊等等的,大家互相探讨啊,就是挺好玩的啊,然后这里边呢,就放了一道题,他把这个公司给引去了,然后那那一个时间节点啊呃,正经正经的还是呃宣传了一波,一个是麦麦上很多呢,就发到微博上,然后呢,后来就是朋友之间成员了,就开始发,公司里边也相互发啊,那几天好像这个这个题的传承度还是很高的。啊,看看这道题,我这呢写的叫貌似是考察方法的参数判定,嗯,看一下题面呢,看着似乎很简单,它是个附加题啊,一般附加题在这个高中的时候都是比较难的题是吧?啊你看看啊说没方法进来,然后印的一个A啊印的一个都是十掉一个method的AB。
01:12
嗯,然后下边说输出一下这个A等于B等于多少,它这写了说这个方法你要干什么事呢?需要在这个method的方法中被调用之后,诶仅打印啊,说希望呢,打印出来的是A等于100 B等于200啊请写出这个method的代码,就是你在这儿呢,其实一上来你就去public VO method。啊,然后in的一个a in一个B,主要呢,就是写这个方法的方法体。那么猛一看的话呢,说这个题好像有点。太弱智了是吧,你会感觉说挺简单的,写了行三以后直接在里边呢,把这个A呢,直接就重新的去,哎,乘等于它乘等于十,然后这个B呢去乘等于这个20,呃,以为呢就写出来了。
02:01
然后呢,呃就提交了,提交以后的话呢,凡是这样写的,呃,就会极度被鄙视了啊,你这道题呢,哪怕你写一个两个字不会也比你写这个强很多对吧?懂的人应该就懂了,就是你这样写的话呢,就是暴露你就很幼稚了是吧?你以为这道题很幼稚,实际上是你很幼稚了是吧?嗯,你这时候你想想你这个一个A一个B,咱们讲这个值传递了,你传递进去的相当于是复制的两个十,你里边乘完以后呢,出来以后打印是不是还是十啊。对,所以你这样写的话呢,反而是很幼稚的啊,你写个不会呢,最起码你知道这样写不对是吧?哎,所以这种写法呢,好歹还是得高看你一眼啊,至少你知道不能乱写啊,这个呢就是乱写了啊,那这个题呢,怎么做,大家网上呢也是互相讨论在这样那这种啊,其实这呢就像一个脑筋急转弯一样啊,怎么能达到这个题面要求,我这呢放了两个答案,这两个其实都是超纲的这个知识,但是咱们可以让大家拓展拓展思路啊,你有什么样的想法看看。
03:15
这个呢,就是写的这个方法了,这个方法里边这个static不用关注了啊,这个咱们后边去讲这个你看我直接在may里边调的,所以都得是static这种啊,这个先不说了,主要看这个核心的对方式一的话呢,就是我让A啊B也是相应的去乘,乘完以后呢,我在里边输出,这里边就是你要的这个结果,要完以后的话呢,我们不让他去输出这个main方法中的这个输出,所以我直接在这ex退出程序。不让他有机会去执行这两行语句,哎,这个X呢,我们看着这个API呢,只能找到哈system。System呢,有我们这个叫这个方法system。
04:01
哎,在这儿啊,嗯,这儿呢,我们就是,呃,相当于这个呢,叫终止了我们当前这个GVM的一个执行啊,你一旦终止它的执行输入零就是让它终止了啊,诶一终止的话呢,这个程序就算是退出了,诶这呢就是你要的结果就有了,诶这是比较阴险的啊,就不让它在这输出,这是一种思路,这个方式二这种思路的话呢,就是让它输出,那你只能是去这个这个printline这块去动手脚了,那这呢就得你懂个知识,后边我们会讲这个叫打印流啊,这个system.out呢,返回的是个打印流,这呢我们把这个打印流呢给重置了,就重新的给它造了一个对象,当他再去打印的时候呢,不是调那个默认的方法,而是调我们下边这个重写的方法,重写没有讲,呃,你先大概听一下啊,重写这方法里边,当你要是输出的是一个十,我就让你变成100,你要输出这个20呢,我就让你变成200,哎所以呢,哎,重新给它设置一下这个输出流,呃,打印流设置完以后呢,它再输出,这时候呢,你输出的就不是你想输出什么什么了。
05:02
是蹦到我那个新的那个方法里边去实施的啊,所以这道题根本就不是考察参数传递的。啊,就是这样的一个问题啊,这道题之所以火,就是说啊,很多问题就是看似很简单,一做就错啊,这就属于好题是吧?啊,这就有点像脑筋转急转弯一样啊,类似的题的话呢,还有你看我下边呢,列了一个啊。嗯,这个呢,是一个微软的题目,这个题目的话呢,猛一看可能也很简单,但是它有坑什么坑看一下,嗯,说定一个in的型的数组,在这呢,定义好以后,我们让数组的每个位置上的值去除以首位置的元素,得到的结果作为该位置上的心值,哎,然后编利一下数组,这都会啊,就上面这个,哎,每一个位置上的元素去除以你这个首位置上元素,得到这个值作为我们该位置上的心值,那这个事儿呢,大家都清楚啊,你要看成一道数学题,哎,想必大家都会做,但是从程程序的角度呢,哎,很多同学呢,一上来就这种写了。
06:09
就这样去写了,说从头到尾。然后呢,让每个位置上的值除以首位置上值,得到的结果呢,作为这个位置上的心值,诶写完了一提交,这实际上是错误的,为什么?哎,对你要自己呢,写过你有一跑,你会发现呢,只有这个首位置变成一了,因为12除12变成一了,后边这些呢,是不是都去除一了,那就不是去除以12了。哎,这个就错在这儿了。啊,你上来就拿第一项开刀,开刀完以后呢,它变成一了,你再除,那不就都除一了,成了不是除12,所以就错了,那应该怎么做呢?对,能想到倒着来的,那就是挺好的思路啊,哎,这个比较简单的做法呢,就是倒着来,我呢先让最后一个除以12,然后呢,在77除以12,再这样走走,走到你最后12的时候呢,你最后一次自己除自己,这是最好的一种方式。
07:12
啊,就是这就是思维惯性,你习惯上呢,从头到尾了啊,一一涉及到数组就从头到尾,但这里边儿呢,有个坑就个陷阱啊,那微软就很阴险是吧?啊但是这种题呢,就是好题啊,这个或者呢,就是你特意的把这个首位置的元素,这个重新赋给一个新的变量,然后呢,你再从头到尾,那也可以,但是多少呢,这块你得额外开辟个空间,没有这个方式一好。啊,这是一个题啊,哎,其实实际上类似的题的话呢,还有很多啊,就是在家在大家找工作的时候呢,不排除会出现这样的情况,就是给你出一到问题,你看着呢很简单,结果一说说错了啊,这个时候的话呢,他会非常平静的说一句,你会去看一看,你说的不对哇,你这时候这个心情一下子会折半,甚至会降到冰点是吧,你要说遇到一个这个很复杂的一个问题,或者你没见过,你说我不会,我没用过,我没见过,没使过,哎,都还好,但是呢,你看着这个题其实很简单,结果呢,他还用非常平静的语气告诉你说你说的不对是吧,那这个还是很打击人的啊,比如说你看我这给你出一个这个问题啊,出个什么问题呢?好,我这呢写个int型的数组啊,等于new一个int,这个我就不去给它赋值了啊,就写了一个动态初始化,然后此时我就system.out.print哎,我输出一下AR,好问输出什么,哎,先想着啊,然后呢我。
08:37
这又用了一个叉形的一个数组,长度是十,哎,我呢也去system。点点。哎,然后这呢,我输这A21问这个输出什么。啊,就这个题一看,哇,简单的要死是吧,那问了这个数是什么地址值是吧?这个呢,这个也应该是地址值,那要是都这么想的话呢,那这个题呢,就有点幼稚了,哎,实际上呢,是我们幼稚了是吧?哎,这个呢,你CTRLC一下放到咱们这个程序当中,这我就。
09:17
临时写一个吧。哎,这关于我们这个数组的啊,Ari,它的数组一个print吧,哎,它的一个测试啊。诶,CTRLV1下来我们执行。嗯,这个我我这样写吧,这样执行的话呢,这个里边呢,因为咱们差知道默认值它都是。那个零是吧,所以你看到这个效果可能不太好啊,这个我这样写吧。A。B。C啊,你要这样整的话呢,上面好像显得不公平似的啊,那上面也改一下吧,123好看一下。
10:00
OK,好,看它上面这个是地址值,那就算对了啊,答对了,第二个不是。你看会看到很诡异啊,说你这个放一个叉型的,竟然不出来的不是地址值。啊,他就告诉你这个结果不对啊,你回去看一下,你看的话,你都觉得这有点很诡异是吧,那你想想这个原因是什么呢?啊有同学说看都不知道该往哪看是吧,说回去看一下看什么不知道看什么是吧?嗯,这时候其实可以用这个debug断点调试啊,这个咱们后边给大家去讲啊嗯,你想想这候呢,它输出的这这没什么,这个去深究的,那就是这输出它了,这个呢咱们都知道啊呃,打印的是个地值这块不是的,诶其实你看我把光标往这一放,大家能看到啊,光源放这我们这调的叫普纳方法,它呢放在叫object类型的,然后呢,我把光源放这。
11:05
你会发现它掉的其实不是一个方法,哎,这就有意思了啊,你看我们点那个printline,看我们这个outline这块。咱们呢说过了,说这个普烂呢,这是一系列叫重载的方法,在这个重载方法里边呢,你传的是什么参数,它就会自动进行匹配,咱们咱们一开始传的呢,是一个int型的数组,它其实调用是这个结构啊,这个其实涉及到我们后边要讲的一个多态的一个知识了哈,啊就是,但是大家呢,目前都知道咱们调的都是一个输出地址值,其实用的都是这个方法啊,输的是地址值,但是当我们放进去的是一个差形数组的时候,你会发现啊,它为什么写插上数组呢?就是因为你看这里边呢,它就只有一个是放数组的,还真就是个差型的。哎,当你把这个放进去的时候,哎,按按说啊,它也该是地址的,但是呢,它里边呢,写的方法体就是给你去遍历这个数组了。
12:00
哎,所以就输出个ABC啊,当你明白以后,你发现这个题好low啊是吧,感觉有点侮辱你的感觉,但是呢,你就是被侮辱了是吧,谁让你不知道这个知识点呢,就这种是吧?哎,他就这个题呢,就是看的很简单,但其实它这个点呢,又不是说多么高深,或者说很很很高大上的这个点啊,就是因为你不知道这个方法而已啊,仅此而已啊呃,当然他通过这样的问题呢,确实很容易把你这个自信心一下打消的很低是吧?哎,这个题的话呢,这是咱们,呃,之前有一个同学去去去面试的时候就被考这个题了,他呢是西北工业大学的,呃,学校呢,应该算不错啊,数学系的本科毕业学完以后呢,他去应聘的单位叫乐视。当初的乐视啊,对,现在倒了,那时候还是这个非常嚣张的啊啊,然后去乐视以后呢,就被问了,其实还有一道题,还有一道题呢,也是类似的这种就是题面很简单,但是现在没法讲,因为咱们还没有学那个内容啊,哎,包包装类的一道题,然后问完以后呢,嗯,他们那个班正好特殊,是我给他们讲面试题之前,他们去面试了,那是至两天,忘了是啥事儿了,正常来讲是我先要讲面试题的,讲完面试题他要去的话,其实他就都会做对,那很遗憾的就是他那个班正好赶上呢,就是他提前去面的,提前面的就这两道题都没讲,其实我那个PPT里边都有对,结果他正好赶上了,赶上以后的话呢,这两道题都问,一下子就给打消的,就是特别不爽,你知道吗?就那种感觉哈,就是看着很简单的两道题,其中就一道是这个,然后呢,这个一下子就被打消的这个,呃,信心就稍微差一些,然后谈薪资的时候呢,他这人提了一个这个11K。
13:38
啊,11K的话呢,然后这个项目经理就要他了,找这个人事的时候呢,说这个人事跟他这个,最后碰到这个说嗯,就是说这个11K了,当然人事呢,还是比较神奇的啊,一般很少大家出现这种情况,到人事这块来说说你这个11K有点太少了,人事说的啊,啊不是他说的啊,人家说的说你这11K有点少,我给你写成13码,就这样莫名其妙的涨了2000块钱啊这种情况基本上不会出现啊,啊说呢,你省得你后边还得再涨薪,干脆直接一步到位吧,就给写了个13K,然后他就莫名其妙的就回来了,然后呢,这个过了一年多乐视就黄了是吧,就嗯,对,我觉得他们那管理也有问题是吧?啊一般都往下压薪的,项目经理好不容易压下来了,然后到他那就给你提上去了是吧,啊这种啊,哎成就是有很多面试当中的一些比较好玩的一些情况啊,还有的同学呢,过去以后是这个。
14:39
这个咱们Python的一个学生啊,他呢就是想过去做这个Python web,结果过去以后呢,那家公司是好像还有是外资投资的啊,里边呢,在北京是刚成立的,其实在上海已经做的都挺好了,那几个创始人的这个学历都很高,都有海外背景,然后做这个人工智能的,过去以后呢,就跟他显卡也没聊技术,聊了一个多小时,说最后你过来吧,我给你开18K,他就莫名其妙的你知道吧啊,就是有很多不一样的这个情景啊,有的时候你可能过去以后呢,他就感觉这个人就特别靠谱,就对上眼了是吧,对上眼了那就没得说了,那就怎么着都都是都行是吧,哎,有这样的哈。
15:17
但是绝大部分的那你都得是技术得得够才行,你别指望着说找对眼的这个是吧,找不着那就麻烦了哈,嗯,行这呢,就是咱们说的这个,呃,这几道这个网红题啊。
我来说两句