因为最近有想法年后去上海奔波,所以也简单的回顾了一下面试遇到的基础题目,在这里分享给大家。
一、什么是面向对象?谈谈你对面向对象的理解。对于初级Java工程是肯定会遇到这种问题,这个问题你要从两个方面来进行将以。
首先,通过对比发来讲,对比的就是对象与过程,通过这两个点,能让面试官清晰的明白,你懂这个对象意义在哪。
然后,你要讲出面向对象的三大特性,这是面试官想要听到的。
解:面向过程是将任务拆解成一系列的步骤,简单来说可以理解为代码中的函数,优点在于它是高效的。
面向对象是将任务拆解成对象,也可以理解为一个任务中有几个角色,有点在于它易于复用、扩展和维护。
举个例子,例如洗衣服,过程来看就是,拿起衣物,打开洗衣机,放入衣物,启动洗衣机。而对于面向对象来说,这个任务总共有两个对象(角色),一个是我,一个是洗衣机,对于这个任务中出现的动作,也就是对象中的方法,我可以不断的创建对象,调用方法,还可以对于以后洗衣机出现新的功能,易于为洗衣机这个对象维护新的方法。
对比讲完,讲特性。
三大特性: 封装 继承 多态
封装:内部细节对外部调用透明,外部的调用无需关心内部细节。(例子:Mybatis,你只需知道抵调用它能链接数据库,不需要管他怎么链接,这就是封装)
继承:继承基类的方法,并做出自己的改变/拓展
多态:基于所属类的不同,外部对同一方法的调用,实际的执行逻辑不同。
继承方法重写,父类引用指向子类对象。
无法调用子类持有功能。
通过以上的回答,你会让面试管觉得你是真的理解面向对象。
二、JDK JRE JVM 三者区别和联系对于这个问题,其实很简单,你要回答出,三个都是啥,他们其中的包含关系,作用。
解:JDK : 开发工具
JRE :JAVA运行时环境
JVM :JAVA虚拟机
包含关系如上图,JDK包含JRE和JAVA工具。
首先说JAVA工具,就是我们初学时运行.java文件使用的命令,javac将其编译成.class文件。命令java等等。
JRE包含JAVA类库和JVM。
JAVA类库也就是lib文件夹,调用类库解释.class文件转换成机器码。
JVM也就是bin文件夹,用来适配.class文件,也就是说它用来读机器码的。
总结;今天就先整理这两个问题,其实面试并不难,主要是你要懂得面试官想到得到什么信息,更重要的是自信,以及你个人的状态。
加油各位程序员,预祝各位面试成功,拿到想要的offer。
程序员小C,期待你的回复。



