软件工程师题库150_5月试题与答案

更新时间:2023-04-27 19:14:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

软件工程师题库150_5月试题与答案

1. Hadoop运行模式不包括() [单选题] *

A.分布式

B.中心版(正确答案)

C.单机版

D.伪分布式

2. 哪一个方法不在FileInputFormat类中(),不用考虑方法参数。 [单选题] *

A. addInputPath()

B. getPathStrings()

C. getSplits()

D. List()(正确答案)

3. HIVE与传统SQL数据库对比,下面描述不正确的是() [单选题] *

A. 对于查询语言:HIVE使用HQL,传统SQL数据库使用SQL

B. 对于数据存储:HIVE使用HDFS存储,传统SQL数据库使用本地磁盘

C. 最终执行者:HIVE使用MapReduce和Excutor执行,传统SQL数据库使用Excutor执行器(正确答案)

D. 执行延迟:HIVE属于高,传统SQL数据库属于低

4. Namenode在启动时自动进入安全模式,在安全模式阶段,说法错误的是()[单选题] *

A.安全模式目的是在系统启动时检查各个DataNode上数据块的有效性

B.根据策略对数据块进行必要的复制或删除

C.当数据块最小百分比数满足的最小副本数条件时,会自动退出安全模式

D.文件系统允许有修改(正确答案)

5. Hive数据仓库和关系型数据库mysql的区别() *

A.Hive不支持事务而mysql支持事务

B.hive高延迟而mysql相对低延迟。(正确答案)

C.Hive不支持索引而mysql支持索引。(正确答案)

D.Hive的分区和mysql的分区都用表内字段。

6. 以下hive sql语法正确的是() [单选题] *

A.select * from a inner join b on a.id<>b.id

B.select * from a where a.id in (select id from b)

C.select sum(a.amt) as total from a where a.total>20

D.select * from a inner join b on a.id=b.id(正确答案)

7. 有关HIVE中ORDER BY 和 SORT BY 用法正确的是( ) [单选题] *

SORT BY 用于分组汇总

SORT BY 用于局部排序,ORDER BY用于全局排序(正确答案)

使用完全一致

其他说法都不对

8. 在hive中下列哪些命令可以实现去重( ) [单选题] *

distinct(正确答案)

group by

row_number

having

9. 如果需要配置Apache版本的hadoop的完全分布式,需要更改哪些xml配置文件( ) *

core-site.xml(正确答案)

hdfs-site.xml(正确答案)

mapred-site.xml(正确答案)

yarn-site.xml(正确答案)

10. 下列哪些参数可以影响切片数量?( ) *

MinSize(正确答案)

MaxSize(正确答案)

blockSize(正确答案)

premisson

答案解析:默认切片公式

computeSliteSize(Math.max(minSize,Math.min(maxSize,blocksize)))=blocksize=128M 11. Yarn的调度几种方式( ) [单选题] *

FIFO Scheduler

Capacity Scheduler

FairScheduler

以上都是(正确答案)

12. 以下哪一项不属于 YARN的进程是() [单选题] *

A.ResourceManager

B.NodeManager

C.MRAppMaster

D.Master(正确答案)

13. HDFS2.X默认 Block size的大小是() [单选题] *

A 32MB

B 64MB

C 128MB(正确答案)

D.256M

答案解析:HDFS的块比磁盘的块大,其目的是为了最小化寻址开销。如果块设置得足够大,从磁盘传输数据的时间会明显大于定位这个块开始位置所需的时间。因而,传输一个由多个块组成的文件的时间取决于磁盘传输速率。

如果寻址时间约为10ms,而传输速率为100MB/s,为了使寻址时间仅占传输时间的1%,我们要将块大小设置约为100MB。默认的块大小128MB。

块的大小:10ms*100*100M/s = 100M

14. 下列关于 MapReduce说法不正确的是() [单选题] *

A. MapReduce是一种计算框架

B. MapReduce来源于 google的学术论文

C. MapReduce程序只能用java语言编写(正确答案)

D. MapReduce隐藏了并行计算的细节,方便使用

15. HDFS是基于流数据模式访问和处理超大文件的需求而开发的,具有高容错、高可靠性高可扩展性、高吞吐率等特征,适合的读写任务是() [单选题] *

A.一次写入,少次读

B.多次写入,少次读

C.多次写入,多次读

D.一次写入,多次读(正确答案)

16. HBase依靠存储底层数据() [单选题] *

A. HDFS(正确答案)

B. Hadoop

C.Memory

D. MapReduce

17. 关于 Secondary Name Node下面哪项是正确的() [单选题] *

A.它是 Name Node的热备

B.它对内存没有要求

C.它的目的是帮助 NameNode合并编辑日志,减少 Name Node启动时间(正确答案)

D. SecondaryName Node应与 Name Node部署到一个节点

18. 大数据的特点不包括下面哪一项() [单选题] *

A.巨大的数据量

B.多结构化数据

C.增长速度快

D.价值密度高(正确答案)

19. 配置 Hadoop时, JAVA_HOME包含在哪一个配置文件中() [单选题] *

A. hadoop-default.xml

B.hadoop-env.sh(正确答案)

C.hadoop-site. xml

D.configuration.xsl

20. 出现在 datanode的 VERSI0N文件格式中但不出现在 namenode的VRSI0N文件格式中的是() [单选题] *

A.cluster ID

B. storage ID(正确答案)

C. storage Type

D. layoutVersion

答案解析:namenode的VERSION

namespaceID=1778616660

clusterID=CID-bc165781-d10a-46b2-9b6f-3beb1d988fe0

cTime=1552918200296

storageType=NAME_NODE

blockpoolID=BP-274621862-192.168.1.111-1552918200296

layoutVersion=-63

storageType属性说明该存储目录包含的是namenode的数据结构。layoutVersion是一个负整数。通常只有HDFS增加新特性时才会更新这个版本号。datanode的VERSION

storageID=DS-1b998a1d-71a3-43d5-82dc-c0ff3294921b

clusterID=CID-1f2bf8d1-5ad2-4202-af1c-6713ab381175

cTime=0

datanodeUuid=970b2daf-63b8-4e17-a514-d81741392165

storageType=DATA_NODE

layoutVersion=-56

21. YARN中的资源是由哪个进程管理() [单选题] *

A.ResourceManager(正确答案)

B.NodeManager

C.client

D.MRAppMaster

22. Mapreduce框架提供了一种序列化键/值对的方法,支持这种序列化的类能够在Map和 Reduce过程中充当键或值,以下说法错误的是() [单选题] *

A.实现 Writable接口的类是值

B.实现 WritableComparable接口的类可以是值或键

C. Hadoop的基本类型Text并不实现 Writable Comparable接口(正确答案)

D.键和值的数据类型可以超出 Hadoop自身支持的基本类型

23. 下列关于HDFS为存储 Mapreduce并行切分和处理的数据做的设计,错误的是() [单选题] *

A. FSDataInput stream扩展了 DataInputstream以支持随机读

B.为实现细粒度并行,分片( Input Split)应该越小越好(正确答案)

C.一台机器可能被指派从输入文件的任意位置开始处理一个分片

D.输入分片是一种记录的逻辑划分,而HDFS数据块是对翰入数据的物理分割

24. 有关 Mapreduce的输入输出,说法错误的是() [单选题] *

A.链接多个 Mapreduce作业时,序列文件是首选格式

B. FileInputFormat中实现的 getSplits(可以把输入数据划分为分片,分片数目和大小任意定义(正确答案)

C.想完全禁止输出,可以使用NullOutputFormat

D.每个 reduce需将map的输出写入自己的文件中,输出无需分片

25. 下面哪个程序负责HDFS数据存储。() [单选题] *

7efd9b387e192279168884868762caaedc33ba99node

B.Jobtracker

C.datanode(正确答案)

D.secondaryNameNode

26. 一个gzip文件大小135MB,客户端设置 Block大小为128MB,请我其占用几个Block?() [单选题] *

A、1

B、2(正确答案)

C、3

D、4

27. HDFS有一个gzip文件大小135MB,客户端设置Bock大小为128MB。当运行mapreduce任务读取该文件时 input split大小为?() [单选题] *

A. 128MB

B.135MB(正确答案)

C.个map读取128MB另外一个map读取7MB

D.7MB

答案解析:压缩格式 hadoop自带?算法文件扩展名是否可切分换成压缩格式后,原来的程序是否需要修改

DEFAULT 是,直接使用 DEFAULT .default 否和文本处理一样,不需要修改

Gzip 是,直接使用 DEFAULT .gz 否和文本处理一样,不需要修改

bzip2 是,直接使用 bzip2 .bz2 是和文本处理一样,不需要修改

LZO 否(低版本),需要安装 LZO .lzo 是需要建索引,还需要指定输入格式Snappy 否(低版本),需要安装 Snappy .snappy 否和文本处理一样,不需要修改

28. HDFS有一个Lzo( with index)文件大小135MB,客户端设置 Block大小为128MB:当运行 mapreduce任务读取该文件时 input split,大小为?() [单选题] *

A. 128MB

B.135MB(正确答案)

C.1个map读取128MB另外一个map读取7MB

D.7MB

29. Client端上传文件的时候下列哪项正确的经过() *

7efd9b387e192279168884868762caaedc33ba99Node传递给 DataNode

B. Client端将文件以 Block为单位,管道方式依次传到 Data Node(正确答案)

C. Client只上传数据到一台 DataNode,然后由 Name Node负责 Block复制工作

D.当某个 DataNode失败,客户端会继续传给其它 DataNode(正确答案)

30. HBase中的批量加载底层使用()实现。 [单选题] *

A MapReduce(正确答案)

B Hive

C Coprocessor

D Bloom Filter

31. HBase性能优化包含下面的哪些选项?() *

A读优化(正确答案)

B写优化(正确答案)

C配置优化(正确答案)

DJVM优化(正确答案)

32. 不属于Scala7种数值类型的是?() [单选题] *

A、Char

B、Int

C、Float

D、LongLong(正确答案)

33. 如果需要使用scala库中的sqrt函数,如sqrt(2),下列引用包的方式错误的是? () [单选题] *

A、import scala.math._

B、import sqrt(正确答案)

C、import math._

D、import math.sqrt

34. Scala关于变量定义、赋值,错误的是?() [单选题] *

A、val a = 3

B、val a:String = 3(正确答案)

C、var b:Int = 3 ; b = 6

D、var b = "Hello World!" ; b = "123"

35. 在Scala中如何获取字符串“Hello”的首字符和尾字符?() [单选题] *

A、"Hello"(0),"Hello"(5)

B、"Hello".take(1),"Hello".reverse(0)(正确答案)

C、"Hello"(1),"Hello"(5)

D、"Hello".take(0), "Hello".takeRight(1)

36. 下面输出与其他不一致的是?() [单选题] *

A、println("Hello World")

B、print("Hello World\n")

C、printf("Hello %s", "World\n")

D、val w = "World" ; println("Hello $w")(正确答案)

37. 关于数组的常用算法,下列说法错误的是?() [单选题] *

A、Array(1,7,2,9).sum // 等于 19

B、Array(1,7,2,9).sorted // 等于 Array(9,7,2,1)(正确答案)

C、Array("one","two","three").max // 等于 "two"

D、Array("one","two","three").mkString("-") // 等于 "one-two-three"

答案解析:Array(1,7,2,9).sorted

Array[Int] = Array(1, 2, 7, 9)

38. spark中的常用算子区别(map,mapPartitions,foreach,foreachPatition)描述正确的是() *

A、map:用于遍历RDD,将函数应用于每一个元素,返回新的

RDD(transformation算子)(正确答案)

B、foreach:用于遍历RDD,将函数应用于每一个元素,无返回值(action算子)(正确答案)

C、mapPatitions:用于遍历操作RDD中的每一个分区,返回生成一个新的

RDD(transformation算子)(正确答案)

D、foreachPatition:用于遍历操作RDD中的每一个分区,无返回值(action算

子)(正确答案)

39. RDD和它的父RDD的关系有() *

A、宽依赖(正确答案)

B、窄依赖(正确答案)

C、分区关系

D、继承关系

40. 下列是transformation的算子() *

A、mapPartitions(正确答案)

B、lookup

C、mapPartitionsWithIndex(正确答案)

D、count

41. 下列关于 spark中的RDD描述正确的有() *

A、RDD( Resilient distributed dataset叫做弹性分布式数据集,是 spark中最基本的数据抽象(正确答案)

B、 Resilient:表示弹性的,弹性表示(正确答案)

C.、Destributed:分布式,可以并行在集群计算(正确答案)

D.、Dataset:就是一个集合,用于存放数据的(正确答案)

42. 不属于flink的window类型() [单选题] *

A、Tumbling Window(滚动窗口)

B、Sliding Window(滑动窗口)

C、Session Window(会话窗口)

D、Local Window(局部窗口)(正确答案)

43. flink的三大部署模式() *

A、local(正确答案)

B、standalone(正确答案)

C、yarn(正确答案)

D、mesos

44. 下列进程中不是flink的() [单选题] *

A、jobmanager

B、TaskManager

C、master(正确答案)

D、StandaloneSessionClusterEntrypoint

45. 下列哪个算子是flink独有的() [单选题] *

A、map

B、reduce

C、partitionBy

D、key by(正确答案)

46. 我们常说的ELK是指那三个工具() *

A、ElasticSearch(正确答案)

B、Logstash(正确答案)

C、Kibana(正确答案)

D、kafka

47. impala2.x描述错误的是() [单选题] *

A、Cloudera公司推出,提供对HDFS、Hbase数据的高性能、低延迟的交互式SQL查询功能。

B、基于Hive,使用内存计算,兼顾数据仓库、具有实时、批处理、多并发等优点。

C、支持各种文件格式,如TEXTFILE 、SEQUENCEFILE 、orc、Parquet(正确答案)

D、基于内存运算,不需要把中间结果写入磁盘,省掉了大量的I/O开销

48. 哪个模块是不属于impala的() [单选题] *

A、Impalad

B、Statestore

C、Catalog

D、Metastore(正确答案)

49. impala的那种用法是正确的() [单选题] *

A、impala-shell -i //查看impala的版本

B、impala-shell -q 'select * from student' -o output.txt //将查询结果写入文件中(正确答案)

C、impala-shell -q 'select * from student' -f output.txt //将查询结果写入文件中

D、impala-shell -p bigdata111 //指定连接运行 impalad 守护进程的主机

50. impala不支持那种数据类型() [单选题] *

A、INT

B、FLOAT

C、BINARY(正确答案)

D、STRINT

51. 现有一张分区表,impala中哪种操作是错误的() [单选题] *

A、alter table stu_par add partition (month='999901');

B、load data inpath '/student.txt' into table stu_par partition(month='888801');(正确答案)

C、insert into table stu_par partition (month = '777701') select * from student;

D、select * from stu_par where month = '777701';

52. 下列说法错误的是() [单选题] *

A、Kylin是以标准的SQL作为对外服务的接口

B、Kylin支持超大数据集

C、提供Hadoop/Spark之上的SQL查询接口及多维分析(OLAP)能力以支持超大规

模数据,最初由Google开发并贡献至开源社区。(正确答案)

D、Kylin可以部署集群

答案解析:Apache Kylin,中文名麒麟,是Hadoop动物园的重要成员。Apache Kylin是一个开源的分布式分析引擎,最初由eBay开发贡献至开源社区。它提供Hadoop之上的SQL查询接口及多维分析(OLAP)能力以支持大规模数据,能够处理TB乃至PB级别的分析任务,能够在亚秒级查询巨大的Hive表,并支持高并发。

Apache Kylin于2014年10月在github开源,并很快在2014年11月加入Apache 孵化器,于2015年11月正式毕业成为Apache顶级项目,也成为首个完全由中国团队设计开发的Apache顶级项目。于2016年3月,Apache Kylin核心开发成员创建了Kyligence公司,力求更好地推动项目和社区的快速发展。

53. Kylin可以集成() *

A、Tableau(正确答案)

B、Excel(正确答案)

C、JavaScript(正确答案)

D、Hbase(正确答案)

54. 对于ELK描述不正确的是() [单选题] *

A、用来描述将数据从来源端经过抽取、转换、加载至目的端的过程(正确答案)

B、Elasticsearch是个开源分布式搜索引擎,提供搜集、分析、存储数据三大功能。它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。

C、Logstash 主要是用来日志的搜集、分析、过滤日志的工具,支持大量的数据获取方式。一般工作方式为c/s架构,client端安装在需要收集日志的主机上,server 端负责将收到的各节点日志进行过滤、修改等操作在一并发往elasticsearch上去。

D、Kibana 也是一个开源和免费的工具,Kibana可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助汇总、分析和搜索重要数据日志。

55. 编写一个过程countdown(n:Int),打印从n到0的数字?() [单选题] *

A、def countdown(n:Int){ 0 to n foreach print }

B、def countdown(n:Int){ (0 until n).reverse foreach print }

C、def countdown(n:Int){ (0 to n).reverse foreach print }(正确答案)

D、def countdown(n:Int){ (0 to n-1).reverse foreach print }

56. 关于函数def fac(n:Int) = { var r = 1 ; for(i <- 1 to n) r = r * i ; r} fac(5)输出结果正确的是?() [单选题] *

A、15

B、120(正确答案)

C、200

D、300

57. 关于数组var a = Array(1,2,3)下列说法错误的是?() [单选题] *

A、val b = 2 * a // b 等于 Array(2,4,6)(正确答案)

B、val b = a.map(_*2) // b 等于 Array(2,4,6)

C、val b = for(elem <- a) yield 2 * elem // b 等于 Array(2,4,6)

D、val b = for(elem <- a if elem % 2 == 0) yield 2 * elem // b 等于 Array(4)

58. 对于表达式"New York".partition(_.isUpper)返回结果正确的是?() [单选题] *

A、("New", "York")

B、("NY", "ew ork")(正确答案)

C、("er ork", "NY")

D、("New York", "NY")

59. scala中,下面的哪个类定义是不正确的?() [单选题] *

A.class Counter{def counter = “counter”}

B.class Counter{val counter = “counter”}

C.class Counter{var counter:String}(正确答案)

D.class Counter{def counter () {}}

60. 关于主构造器,以下说法错误的是?() [单选题] *

A. 主构造器在每个类都可以定义多个(正确答案)

B. 主构造器的参数可以直接放在类名后。

C. 主构造器的会执行类定义中的所有语句。

D. 主构造器中可以使用默认参数。

61. 关于辅助构造器,以下说法正确的是?() [单选题] *

A. 辅助构造器的必须调用主构造器

B. 辅助构造器的可以直接调用超类的主构造器

C. 辅助构造器的参数可以是任意多个(正确答案)

D. 辅助构造器的名称和类名相同

62. scala中,关于包的说法不正确的是?() [单选题] *

A. 包的名称不能重复。(正确答案)

B. 同一个包可以定义在多个文件中。

C. 包路径不是绝对路径。

D. 包对象可以持有函数和变量

63. scala语言中,关于List的定义。不正确的是?() [单选题] *

A. val list = List(1,2,3)。

B. val list = List[Int](1,2,3)。

C. val list = List[String](‘a’,’b’,’c’)。(正确答案)

D. val list = List[String]()。

64. scala中的类,下面说法正确的是?() [单选题] *

A. scala 中,使用extends进行类的扩展。(正确答案)

B. scala 中, 声明为final的类可以被继承。

C. scala中,超类必须是抽象类。

D. scala中,抽象类可以被实例化。

65. 类定义如下,描述不正确的是?()

abstract class Element

{

def contents: Array[String]

} [单选题] *

A. Element是一个抽象类。

B. Element不能实例化。

C. Contents成员定义错误,没有初始化。(正确答案)

D. contents方法是类Element的抽象成员。

66. Scala中,下面的代码执行正确的是?() [单选题] *

A. val list = 1 :: 2 :: 3。

B. val list = 1.::(2).:: (3).::(Nil)

C. val list = 1 :: “s” :: “b” :: Nil。(正确答案)

D. var list = 1 ::: 2 ::: 3 ::: Nil

67. 高阶函数是指?() [单选题] *

A. 在程序中应该首先被定义的函数。

B. 将函数作为参数,并返回结果为函数的函数。

C. 函数参数为函数或返回结果为函数的函数。(正确答案)

D. 执行时间长的函数。

68. 关于Scala中不支持多重继承的原因描述正确的是?() [单选题] *

A. 在实际使用中,真正必须使用多重继承的时机很少。

B. 若多重继承的两个基类具有相同的字段或方法,就会引发菱形继承问题,造成问题的复杂性。

C. 通过使用Trait可以达到多重继承的类似效果。

D. 以上均正确。(正确答案)

69. 在hive的分区与分桶操作中impala支持哪个() [单选题] *

A、分区(正确答案)

B、分桶

C、都支持

D、都不支持

70. 有关操作符优先级的描述不正确的是?() [单选题] *

A. *=的优先级低于+。

B. >的优先级高于&。

C. 后置操作符的优先级高于中置操作符。(正确答案)

D. %的优先级高于+。

71. spark中的map、mapPartitions区别() [单选题] *

A、map:用于遍历RDD,将函数f应用于每一个元素,返回新的

RDD(transformation算子)

B、mapPartitions:用于遍历操作RDD中的每一个分区,返回生成一个新的

RDD(transformation算子)

C、一般使用mapPartitions算子比map更加高效,推荐使用。

D、以上都正确(正确答案)

72. spark中的宽窄依赖描述正确的() *

A、宽依赖:指的是多个子RDD的Partition会依赖同一个父RDD的Partition(正确答案)

B、窄依赖:指的是每一个父RDD的Partition最多被子RDD的一个Partition使用(正确答案)

C、窄依赖:指的是多个子RDD的Partition会依赖同一个父RDD的Partition

D、宽依赖:指的是每一个父RDD的Partition最多被子RDD的一个Partition使用

73. 宽依赖的算子有() [单选题] *

A、groupByKey(正确答案)

B、map

C、filter

D、mapValues

74. 执行Spark任务:两个工具() *

A、spark-submit(正确答案)

B、spark-shell(正确答案)

C、spark-core

D、spark-sql

75. 下列代码的结果是()

val rdd4 = sc.parallelize(List("12","23","345",""),2)

rdd4.aggregate("")((x,y) => math.min(x.length, y.length).toString, (x,y) => x + y) *

A、01(正确答案)

B、00

C、10(正确答案)

D、11

答案解析:原因:注意有个初始值””,其长度0,然后0.toString变成字符串。值"0".toString的长度为0,"0".toString.length的长度为1 。分区可能为(“12”,“23”)和(“345”,“”);初始值为"",然后初始值和“12”,“34”比较,或者是""和“345”比较,然后和“”比较。

math.min("".length, "12".length ) 的结果是:0 , math.min("0".length, "23".length ) 的结果是1

math.min("".length, "345".length) 的结果是:0 , math.min("0".length, "".length) 的结果是:0

76. Scala中如何定义常量() [单选题] *

A、var a = 1

B、val a = 1(正确答案)

C、public final int a = 1

D、private static final int a = 1

77. scala的函数参数的求值策略有哪些() *

A、:(正确答案)

B、: =>(正确答案)

C、= >

D、: >

78. 下列哪些函数是scala的高阶函数() *

A、println

B、map(正确答案)

C、max

D、filter(正确答案)

79. scala中在REPL命令行运行以下操作

var s1 = Set(1,2,3)

s1 +10

下列选项正确的是( ) [单选题] *

A、s1 = Set(1,2,3)(正确答案)

B、s1 = Set(1,2,3,10)

C、s1 = Set(10)

D、以上都不对

80. scala中定义一个空的list应该选择下列哪个类型() [单选题] *

A、None

B、Null

C、Nil(正确答案)

D、Nothing

81. 在DOS中一个java类的编译命令是 ( ) [单选题] *

A java

B jdk

C javac(正确答案)

D jre

82. 一个以java为后缀的源文件() [单选题] *

A只能包含一个public类,类名必须与文件名相同

B只能包含与文件名相同的public类以及其中的内部类

C只能有一个与文件名相同的public类,可以包含其他非public类 (不考虑内部类)(正确答案)

D可以包含任意public类

83. 关于Java中传递参数的说法,哪个是错误的?() [单选题] *

A、方法中,修改一个基础类型的参数不会影响原始参数值

B、在方法中,改变一个对象参数的引用不会影响到原始引用

C、在方法中,修改一个对象的属性会影响原始对象参数

D、在方法中,修改集合和Map的元素不会影响集合参数(正确答案)

84. 下列描述正确的是( ) ? [单选题] *

A、类不可以多继承而接口可以多实现(正确答案)

B、抽象类自身可以定义成员而接口不可以

C、抽象类和接口都不能被实例化

D、一个类可以有多个基类和多个基接口

本文来源:https://www.bwwdw.com/article/0cgq.html

推荐文章
Top