亿元级IT行业生态链
一站式解决方案提供商

24小时免费咨询电话
010-52725243

阿甲集团

ABOUT AJIA

北京阿甲科技有限公司面试问题中的Java和Linux的问题和答案

来源:阿甲问答 发布日期:2018-02-22

之前来北京阿甲科技有限公司面试Java开发和Linux系统的面试者们,阿甲的面试官常会问到以下几个关于Java和Linux的问题。因此,小编总结了一部分关于Java开发和Linux系统的问题及答案供面试者复习和回顾。


Java:


1. 面向对象软件开发的优点有哪些?

答:开发模块化,更易维护和修改;代码之间可以复用;增强代码的可靠性、灵活性和可理解性。

2. 多态的定义?

答:多态是编程语言给不同的底层数据类型做相同的接口展示的一种能力。一个多态类型上的操作可以应用到其他类型的值上面。

3. 继承的定义?

答:继承给对象提供了从基类获取字段和方法的能力。继承提供了代码的重用行,也可以在不修改类的情况下给现存的类添加新特性

4. 抽象的定义?抽象和封装的不同点?

答:抽象是把想法从具体的实例中分离出来的步骤,因此,要根据他们的功能而不是实现细节来创建类。Java支持创建只暴漏接口而不包含方法实现的抽象的类。这种抽象技术的主要目的是把类的行为和实现细节分离开。

抽象和封装是互补的概念。一方面,抽象关注对象的行为。另一方面,封装关注对象行为的细节。一般是通过隐藏对象内部状态信息做到封装,因此,封装可以看成是用来提供抽象的一种策略。

5. 接口和抽象类的区别是什么?

答:Java提供和支持创建抽象类和接口。它们的实现有共同点,不同点在于:

接口中所有的方法隐含的都是抽象的。而抽象类则可以同时包含抽象和非抽象的方法。

类可以实现很多个接口,但是只能继承一个抽象类

类可以不实现抽象类和接口声明的所有方法,当然,在这种情况下,类也必须得声明成是抽象的。

抽象类可以在不提供接口方法实现的情况下实现接口。

Java接口中声明的变量默认都是final的。抽象类可以包含非final的变量。

Java接口中的成员函数默认是public的。抽象类的成员函数可以是private,protected或者是public。

接口是绝对抽象的,不可以被实例化。抽象类也不可以被实例化,但是,如果它包含main方法的话是可以被调用的。


Linux:


1. 为什么 LVM 是必需的?

LVM 的意思是逻辑卷管理器,它可以帮助我们根据文件系统的大小重新在线调整 Linux 中的 LVM 分区的大小。我们可以分别使用 lvextend 和 lvreduce 命令来增加或减小 LVM 分区的大小。

2. 如何内存和 CPU 的统计数据?

我们可以分别使用 ‘free’ 和 ‘vmstat’ 命令来查看物理内存和虚拟内存的统计数据。使用 ‘sar’ 命令,我们可以看到 CPU 使用率以及其他资料。

3. Sar 提供了什么?Sar日志的存储位置在哪里?

Sar 收集,报告,保存系统的活动信息。Sar 命令的默认版本(CPU 使用率报告)可能是用户执行系统活动调查时第一个用到的,因为它监控着大部分系统资源。当 CPU 利用率接近100%时,采样的工作负载时 CPU 密集型的。

Sar 命令的默认日志文件位于 /var/log/sa/sadd 文件,其中 dd 代表着当前日期。

4. 如何增加 LVM 分区的大小?

下面是逻辑步骤:

-使用 lvextend 命令(lvextend -L +100M/dev/, 在这里,我们给指定分区增加了100MB 的大小)

–resize2fs /dev/

-使用’df -h’命令检查分区的大小

5. 如何缩小 LVM 分区的大小?

下面是缩小 LVM 分区大小的逻辑步骤:

-使用 umount 命令卸载文件系统

-使用 resize2fs 命令,例如:resiz2fs /dev/mapper/myvg-mylv 10G

-然后使用 lvreduce 命令,例如:lvreduce -L 10G /dev/mapper/myvg-mylv

以上的命令会缩小文件系统10GB的大小。


以上只是北京阿甲科技有限公司面试问题中关于Java和Linux的一部分问题及答案,仅供面试者们参考。北京阿甲科技有限公司作为一家有着良好的Java开发能力的公司,诚挚邀请更多的Java开发师加入到我们当中。

免责声明:本文由小编转载自网络,旨在分享提供阅读,版权归原作者所有,如有侵权请联系我们进行删除

欢迎访问阿甲科技集团官方网站!