00:00
各位老铁早上好,今天的话呢,我们来聊第一个面试题,谈谈面向对象啊,那这道题的话我们怎么去聊的有意思,怎么聊的让面试官认可啊,那么到底该怎么聊下面的话呢?一起来看一下,我们今天的话呢,先在谈第一道题,就是叫谈谈面向对象思想的理解,好其实上来说啊,在近年来的话呢,这类问题的就这类问法的句式啊,很常见啊,经常被拿来作为面试官问的一种方式,什么意思呢?就是说基本上很喜欢把这个就这样来说啊,面向对象思想这个东西变成一个变量。就基本上来说,很常见的问法是谈谈对某某的理解,好,那这类问题的话,一般来说看起来是比较宽泛空泛的啊,那我发现呢,一般问到这类问题的时候呢,经常可以把很多的面试者难倒啊,OK,那这一类问题我该怎么办呢?因为很多面试者其实很喜欢,就是问些很具体性的问题,对吧?那问到这么宽的问题,实际上来说啊,这类问题是最好的问题,就是让你能够充分的发挥啊,没有拘束,没有拘束性,OK。
01:03
好,那么怎么答呢?其实要破解这些问题的话呢,最好的方式,什么是举例啊,就是通过你他理解的话,你要谈些文绉绉的东西,你可能很难说,但是举例是一个大家都会有东西,所以你要结合你平常开发性的东西去举例,举例拿出来去聊是最好的东西啊好,那么大家可以跟着我来看一下啊,那首先的话呢,这个问题的话,我发现通常呢,特点是什么?是大家会发现呢,自己一直处于开发代码的阶段,所以很难去用思想去阐述,对吧?好,那我这里说一下啊,我们今天会听到句话叫做不愿,呃,没有想做将军的士兵不是好士兵,对吧?诶,OK,所以即使你现在是呢,处在一个底层的一个马龙的阶段,那但是的话呢,未来你肯定是需要有一个全面把控的这么一个层次的。所以这个时候即使你是在做底层垒砖,但是呢,你也要心里有向往,你是在构建一套大厦啊,那么知道大厦未来长什么样子,OK,因该有这么一个,呃,向往,好,这样的话,一磊的每一块砖都有幸福的味道,OK,好,那么接下来我们来回头看一眼啊,那说到这的话呢,实际上我们来给大家举个例子,首先我们可以从一个角度来切入,比如说我们可以从面向过程和面向对象这个角度来切入,那这个角度有什么区别呢?很简单,是这样的,两者的角度是有差异的,面向过程的角度呢,更多是一个执行者。
02:26
就干活的,干具体活的人是吧?哎,这个是具体怎么干啊,就是这个事,那么面向对象的话呢,更多是一个领导的管管身份,这是一个组织者,就是这个活到底应该组织谁一起来干啊,把他们一起统一去协调这些资源,来把这个事干好,OK,具体怎么干,那么每个人负责每一块,那分工就行了,OK,那这里面的话呢,我们来举个例子,比如说现在我要有我有个需求,我说你给我去能够去干嘛呢?我希望能够产生零到十之间的随机数。对吧,诶我有这么一个需求,那面对这个需求的话呢,作为执行者的角度,就是面向过程的角度来说,他会认为说零到十之间的随机数,那怎么叫随机呢?怎么随机法呢?怎么更均衡呢?诶我应该怎么去设计一个算法呢?对吧,算法就很细节的东西了,对吧,OK,好,所以这个时候他会这么去考虑这个问题,就是面向过程作为执行者的时候,他会考虑的这么一个做法啊,他的第一点想到是这个点。
03:25
啊,如果是面对象的话,他会干嘛,他是组织者,他组织资源啊,他想要第一件事是这个事谁能帮我干呢?谁来帮我干。啊,实在不好干,所以他就发现了一下什么发现了哦,在JDK的API里面就有一个类叫,诶这个类能干这个活啊,找他干就完事了啊,他能给我给他传个餐,他能帮我返回来这么一个随机数完事对不对,诶对我来说的话就搞定了啊。看省事很多是吧,省事很多,所以这个就是它一个什么,就是一个随机啊,就是一个随机,所以但是对于内部来说的话,你看这个类啊,内部来说它是不是得考虑怎么去生成这个随机术啊,虽然内部来说的话,它实际上还是得去设计这么一个东西,才能够去产生这个东西,产生这个随机术,对吧,但是对于我们开发者来说的话,我只认为我只是找了RYM这类来干这个活搞定。
04:16
啊,这就是一个思想上的差异,对不对,就好比你周末想吃顿好的是吧,那么作为你来说的话呢,你可以面向你老婆,你的女朋友是吧,我今天想吃顿好的好了,这就是一个什么一个安排,然后的话呢,接下来你的女朋友,我老婆她就开始要去看什么叫安排什么叫什么一顿好的,诶他就开始去买菜啊,想菜单,买菜,然后洗菜做饭等等等等,对吧,这是一系列的过程啊。好,这就是一个什么面向对象和面向过程它两者的一个差异,诶你看通过这么一个举例,你是不是就有一点感觉了,对吧?好,那么再往后看啊,再往后看,那么大家这边就是举了一个生活例子啊,这个咱们就过啊,那么再往后看,其实上还有很多,你比如说什么呢?比如说你还可以通过面向过对象啊,这里面的话呢,还有封装,继承多肽是吧?诶你可以从这几个角角度去聊封装啊,继承多肽,再从这几个角度去聊,你看是不是有很多面可以聊,刚刚我们聊的是一个面向对象和面过程的区别,现在你可以聊这几者的差异。
05:20
对不对?好,这句的差异你可以怎么聊呢?很简单,在这里头的话,你可以去谈,比如说举个例子,我拿一个东西举个例啊,比如说继承。诶,等一下啊,继承。好,这个东西啊,同学们,我们在这里面的话,我强烈建议大家不要再给我举什么说,诶,比如说猫狗动物啊,动物是父类,猫狗是子类,所以这就是继承啊,这个一点问题都没有,其实这个打法是对的啊,但是的话呢,你想想看,如果说你要表现出你是一个什么,你是一个有开发经验的人这么一个姿态的话,那一般来说的话,你最好是拿开发中的案例来聊会更好一些,是不是这样?诶所以的话呢,这个地方我就望大家的举例呢,是什么,以开发中的案例来聊会更有说服力一些,我给大家简单举个例子,然后你就可以去延伸你身边,你自己开发中的很多例子,可以去自己去自发的去延伸啊。好,抛砖引玉来说一下啊,举个例子很简单,你比如说我们在分层开发是吧,分层开发那么都会有什么,都会有do层啊,然后D层的话呢,无外乎就是跟我们这个DB去做交互是吧,那做DB做交互的话呢,只比如说这里面可能会有很多张表,100张表。
06:32
100张表的话呢,一般常规的操作的话呢,都会有什么都会有c rud这么一些东西,真删改查对不对啊,好,那是意味着什么呢?意味着如果说我在这边没有做特别做特别处理的话呢,意味着什么?意味着我需要写100个 do100个do里面要重复写100遍的CAD,虽然说面相是不同的表,但是实际上你写起来会发现这些代码呢,极其的相似,对吧,极其的相似,好,所以这个时候非常的简单,我们就可以干一件事,就是什么呢?我们去抽取一个什么一个基础类,比如说叫base stop OK,在这里面的话呢,它完成了最基本的c rud的这样一些操作,剩下的话,我们比如说具体的一些all d,那他呢,只需要去实现继承,他只需要去继承这个sle就完事了,那他就可以不用去写这重复性的CD的实现,他只需要去写特殊的实现就可以了,对不对,OK,所以其实像我们现在用的很多的第三方的。
07:32
框架你会发现呢,你会发现,诶我看好像连bestto也不用写了,是吧?诶我直接就继承他指定好的API完事了,为什么呢?思想还是那个思想,只是他帮你干了而已啊OK,好,所以的话呢,这些例子都很多,大家可以啊,以这个开发的例子来举会更合适一些,你看这样又是能从另一个层面去聊这个内容了,是吧,就是封装继承多肽啊好,你可以发,就是结合开发中案例来聊这个问题。好,那么再最后再说回什么呢?再再说,再往大的方向说,比如说我们开发个项目的时候,我们需要开发,需要分层开发,那分层里面就有很多层,很多些主流框架是吧?那么我们第一种方式的话呢,我们可以自己造轮子啊,造轮子是咱们程序员的爱好啊,天性是吧,都喜欢造轮子啊,OK,但是的话呢,一般来说,我建议的话呢,造轮子我们造一些有意义的轮子啊,但如果说我们只是从学习的角度啊,从一个呃玩的角度来说的话,当然造轮子是非常非常锻炼人的啊,这是非常锻炼人的做法,OK,因为这样的话,你造起轮子来的话呢,你会更加有体。
08:31
全面性的去认识做一个框架是有多么的难哈,OK,好,那么下面的话呢,跟着我来看一下啊,那比如说举一个例子,像我们现在要做三层的开发,那么我会想到我们可能会选市面上优秀的框架,比如说直接选spring mvc,选spring,选MY这么一个经典组合来完成我的这个项目的开发,对吧?你看这个时候是一个资源的组织者,我是一个组织者的角色,来考虑怎么去把他们合在一起。对不对啊,是这么一个考虑点啊,这么一考虑点OK啊,然后的话呢,再举例如说我们现在比较火的微服务开发,那微服务开发这里面的话,你想想看,你再会来我来微服务开发啊,微服务开发你看这个思想的话,你是干嘛,你首第一个的话发现呢,有个微服的一个主流开放叫SBOO是吧,然后还有一类的套件spring cloud,而spring cloud里面其实包含了很多东西的一个组件的一个实现,比如说注册中心,比如说配中心,对吧,比如说远程访问等等,这些东西的话呢,都在里面包含着,所以它其实也是把他们笼罩在一起,组合在一起而已啊,然后你还可以去替换,比如说你可能今天用的是尤里卡后,明天的话呢,你想换成nacos对不对?诶,那你可以做一个替换啊,你看这就是一个什么,一个面向组件的一个四级思想啊,那么这时候的话,你可以做一些更换啊,这一些更换,当然的话呢,我个人建议是什么,最好是在最好就是在一开始的时候就确定好你的选型,就是我们虽然是最后可以替换,但是呢建议不要。
09:57
呃,不要老是换哈,因为老是换的话,其实还是有很多不确定的风险的啊,所以最好来说的话呢,还是在最开始确定到底用是U虑卡还是NAS还是其他东西,OK,所以呢,这就是我们对第一道题目的解读,那么大家可以实际上来说,可以想出很多很多的例子出来啊,OK,好,那这道题的话呢,希望就讲到这啊,希望对大家有所帮助啊OK,那么这个这个专栏的话呢,我们会逐步的去做一些改进升级啊,另外一个的话呢,这个相关的配套的这些啊系列的视频录制,那么也会在路上一步步来啊,最终的话呢,我们希望能够帮助大家成为一个。
10:35
呃,初中高啊,这个三个层面都能涵盖到啊,OK。
我来说两句