转载:云计算习题
转载2:云计算试题
转载3:云计算试题(1~5章)
1、云计算是对( B )技术的发展与运用。
A 并行计算 B 网格计算 C 分布式计算 D 三个选项都是
2、从研究现状上看,下面不属于云计算特点()。
A 超大规模 B 虚拟化 C 私有化 D 高可靠性
3、与网络计算相比,不属于云计算特征的是()。
A 资源高度共享 B 适合紧耦合科学计算
C 支持虚拟机 D 适用于商业领域
4、亚马逊AWS提供的云计算服务类型是()。
A IaaS B PaaS C SaaS D 三个选项都是
5、将平台作为服务的云计算服务类型是()。
A IaaS B PaaS C SaaS D 三个选项都不是
6、微软于2008年10月推出云计算操作系统是()。
A Google App Engine B 蓝云 C Azure D EC2
7、.云计算是对( )技术的发展与运用。
A:并行计算 B:网格计算 C:分布式计算 D:三个选项都是
8.云计算有哪些特点?
云计算的特点有虚拟化技术、动态可扩展、按需部署、灵活性高、可靠性高、性价比高、可扩展性
9.云计算按照服务类型可以分为哪几类?
(1)SaaS :软件即服务,这层的作用是将应用作为 服务提供给客户。
(2)PaaS :平台即服务,这层的作用是将一个开发平台作为服务提供给用户。
(3)Iaas :基础设施即服务,这层的作用 提供虚拟机或者其他资源作为服务提供给用户。
10.云计算技术体系结构可以分为哪几层?
云计算技术体系结构分为四层:物理资源层、资源池层、管理中间件层和SOA构造层。
11.在性价比上云计算相比传统技术为什么有压倒性的优势?
成本更低(硬件,电价,管理费用) 资源利用率高(是传统方式的5~7倍)
12、”简单的理解为云计算等于资源的闲置而产生的”,该表述是否正确,为什么?
正确
12、“基于WEB服务同PaaS类似,服务提供者利用Web服务,通过Internet给软件开发者提供API应用接口,而不是整个应用程序”,该表述是否正确,为什么?
正确
1、(单选)虚拟机迁移过程中,迁移源主机在( )步骤中第一次迭代把所有内存内容都复制到目标主机中?
A 停机复制 B 预迁移 C 预复制 D 启动
2、(单选)迁移存储设备的最大障碍在于需要占用大量时间和网络带宽,通常的解决办法是( ),而非真正迁移。
A 增大网络带宽 B 以共享的方式共享数据和文件系统
C 使用分布式存储架构 D 使用外存储设备进行迁移
3、(单选)以下哪种存储技术使用标准TCP/IP网络协议加入网络( )
A SAN (Storage Area Network)存储区域网络技术
B 文件服务器技术
C RAID 磁盘阵列技术
D NAS (Network Attached Storage)网络连接存储技术
4、(单选)关于虚拟化安全问题描述不正确的是()。
A 如果主机受到破坏,那么主机所管理的客户端服务器有可能被攻克。
B 如果虚拟网络受到破坏,那么客户端也会受到损害。
C 如果主机有问题,不一定所有的虚拟机都会产生问题。
D 需要保障客户端共享和主机共享的安全,因为这些共享有可能被不法之徒利用其漏洞。
5、(多选)以下属于虚拟化技术的是()。
A 服务器虚拟化 B 网络虚拟化 C 存储虚拟化 D 桌面虚拟化
6、(多选)以下属于比较常见的网络虚拟化应用的是()。
A 虚拟网络设备 B 虚拟专用网(VPN)
C 虚拟局域网(VLAN) D 存储区域网络技术(SAN)
7、(多选)软件定义网络(SDN)将网络分为()
A 链路层 B数据层 C 控制层 D 网络层
7、(多选):服务器虚拟化的底层实现包括
选项:
A:CPU虚拟化 B:内存虚拟化 C:I/O虚拟化 D:硬盘虚拟化
8、 解释hypervisor层的作用?
Hypervisor是一种运行在物理服务器和操作系统之间的中间软件层,可允许多个操作系统和应用共享一套基础物理硬件,因此也可以看作是虚拟环境中的“元”操作系统,它可以协调访问服务器上的所有物理设备和虚拟机,也叫虚拟机监视器(Virtual Machine Monitor)。Hypervisor是所有虚拟化技术的核心。非中断地支持多工作负载迁移的能力是Hypervisor的基本功能。当服务器启动并执行Hypervisor时,它会给每一台虚拟机分配适量的内存、CPU、网络和磁盘,并加载所有虚拟机的客户操作系统
9、 解释什么叫VLAN,并给出相应的使用VLAN的例子?
Vlan是虚拟局域网,作用是将一个大的局域网划分为多个规模较小的虚拟局域网,最重要的两个例子是减小广播域和数据隔离
10、 解释什么是服务器虚拟化?
“服务器虚拟化:又称网络虚拟架构,是指将一台物理的计算机软件环境分割为多个独立分区,每个分区均可以按照需求模拟出一台完整计算机的技术。
1、Scala语言的特性包含 简洁、优雅、灵活的语法 、函数式编程的、 面向对象编程 、可扩展的、 运行在 JVM 和 JavaScript 之上的语言 。
2、在Scala数据类型层级结构的底部有两个数据类型,分别是 Nothing 和 Null 。
3、在Scala中,声明变量的关键字有 var声明变量 和 val声明常量 。
4、在Scala中,获取元组中的值是通过 将单个值包括在小括号中 来获取的。
5、在Scala中,模式匹配是由关键字 match 和 case 组成的。
二、判断题
1、安装Scala之前必须配置JDK。( 对 )
2、Scala语言是一种面向过程编程语言。( 错 )
3、在Scala中,使用关键字var声明的变量,值是不可变的。( 错 )
4、在Scala中定义变长数组时,需要导入可变数组包。( 对 )
5、Scala语言和Java语言一样,都有静态方法或静态字段。( 错 )
三、选择题
1、下列选项中,哪个是Scala编译后文件的扩展名?( A )
A .class B .bash C .pyc D .sc
2、下列方法中,哪个方法可以正确计算数组arr的长度?( D )
A count() B take() C tail() D length()
3、下列关于List的定义,哪个是错误的?(C )
A val list = List(1,22,3) B val list = List(“hello”, “scala”)
C val list : String = List(“A”, “B”) D val list = List[int](1,2,3)
四、编程题
1、假设列表是(1,3,2,5,4,7,8,6,9,0),编写Scala程序,实现以下功能:
(1)获取列表中的前5个元素。
Val list = List(1,3,2,5,4,7,8,6,9,0)
while(list.lengtt <5){
Println(list)
}
(2)判断列表中是否包含元素0.
For(var i=0; i<list.length; i++){
If(list[i]==0){
Println(“list列表包含0元素”)
}
}
2、编写Scala程序,计算100~999的所有的水仙花数。
def main(args: Array[String]): Unit = {
for(i <- 100 to 999) {
val a = i / 100
val b = (i / 10) % 10
val c = i % 10
if (a*a*a + b*b*b + c*c*c == i){
println(i)
}
}
}
}
1、Spark生态系统包含 Spark Core 、Spark SQL、 Spark Streaming 、MLib、 GraphX 以及独立调度器组件。
2、Spark计算框架的特点是速度快、 基于内存 通用性和 进程和线程 。
3、Spark集群的部署模式有Standalone模式、 ON YARN模式 和Mesos模式。
4、启动Spark集群的命令为 docker-compose up 。
5、Spark集群的运行框架由 SparkContext 、Cluster Manager和 Manager 组成。
二、判断题
1、Spark诞生于洛桑联邦理工学院(EPFL)的编程方法实验室。(√)
2、Spark比Hadoop计算的速度快。(√)
3、部署Spark高可用集群不需要用到 Zookeeper服务(X)
4、Spark Master HA 主从切换过程不会影响集群已有的作业运行。(√)
5、集群上的任务是由执行器来调度的。(X )
三、选择题
1、下列选项中,( D )不是Spark生态系统中的组件。
A. Spark Streaming B. Mlib C. Graphx D. Spark R
2、下面哪个端口不是Spark自带服务的端口(C)
A. 8080 B. 4040 C. 8090 D. 18080
3、下列选项中,针对Spark运行的基本流程哪个说法是错误的。(D)
A. Driver端提交任务,向Master申请资源
B. Master与Worker进行TCP通信,使得Worker启动Executor
C. Executor启动会主动连接Driver,通过Driver->Master->WorkExecutor,从而得到Driver在 哪里
D. Driver会产生Task,提交给Executor中启动Task去做真正的计算
四、简答题
1、简述Spark计算框架的特点。
答:快速,简洁易用,通用
2、简述Spark集群的基本运行流程。
答:(1)当一个Spark应用被提交时,根据提交参数在相应位置创建Driver进程,Driver进程根据配置参数信息初始化SparkContext对象,即Spark运行环境,由SparkContext负责和Cluster Manager的通信以及资源的申请、任务的分配和监控等。SparkContext启动后,创建DAG Scheduler(将DAG图分解成Stage)和Task Scheduler(提交和监控Task)两个调度模块。
(2)Driver进程根据配置参数向Cluster Manager申请资源(主要是用来执行的Executor),Cluster Manager接收到应用(Application)的注册请求后,会使用自己的资源调度算法,在Spark集群的Worker节点上,通知Worker为应用启动多个Executor。
(3)Executor创建后,会向Cluster Manager进行资源及状态的反馈,便于Cluster Manager对Executor进行状态监控,如果监控到Executor失败,则会立刻重新创建。
(4)Executor会向SparkContext反向注册申请Task。
(5)Task Scheduler将Task发送给Worker进程中的Executor运行并提供应用程序代码。
(6)当程序执行完毕后写入数据,Driver向Cluster Manager注销申请的资源
1、RDD是 分布式内存 的一个抽象概念,也是一个 弹性分布式 、并行的数据结构。
2、RDD的操作主要分为 动作 和 转换 。
3、RDD的依赖关系有 RDD窄依赖 和 RDD宽依赖 。
4、RDD的分区方式有 哈希分区 和 范围分区 。
5、RDD的容错方式有 血统方式 和 设置检查方式 。
二、判断题
!、RDD是一个可变、不可分区、里面的元素是可并行计算的集合。(X)
2、RDD采用了惰性调用,即在RDD的处理过程中,真正的计算发生在RDD的“行动”操作。(√)
3、宽依赖是指每一个父RDD的分区最多被子RDD的一个分区使用。(X)
4、如果一个有向图可以从任意顶点出发经过若干条边回到该点,则这个图就是有向无环图。(X)
5、窄依赖是划分Stage的依据。(X)
三、选择题
1、下列方法中,用于创建RDD的方法是(C)
A. makeRDD B. parallelize C. textFile D. testFile
2、下列选项中,哪个不属于转换算子操作(C)
A. filter(func) B. map(func) C. reduce(func) D. reduceByKey(func)
3、下列选项中,能使RDD产生宽依赖的是(D)
A. map(func) B. filter(func) C. union D. groupByKey()
四、简答题
1、简述RDD提供的两种故障恢复方法。
答:血统方式和设置检查方式
2、简述如何在Saprk中划分Stage。
答:根据宽依赖来进行划分,从后往前推,遇到窄依赖的父RDD时,就将这个父RDD加入子RDD的stage;遇到宽依赖的父RDD时就断开,父RDD就划分为新的stage
这里是Ruby新手。完成一些练习后碰壁了。练习:计算一系列成绩的字母等级创建一个方法get_grade来接受测试分数数组。数组中的每个分数应介于0和100之间,其中100是最大分数。计算平均分并将字母等级作为字符串返回,即“A”、“B”、“C”、“D”、“E”或“F”。我一直返回错误:avg.rb:1:syntaxerror,unexpectedtLBRACK,expecting')'defget_grade([100,90,80])^avg.rb:1:syntaxerror,unexpected')',expecting$end这是我目前所拥有的。我想坚持使用下面的方法或.join,
项目介绍随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱小学生兴趣延时班预约小程序的设计与开发被用户普遍使用,为方便用户能够可以随时进行小学生兴趣延时班预约小程序的设计与开发的数据信息管理,特开发了小程序的设计与开发的管理系统。小学生兴趣延时班预约小程序的设计与开发的开发利用现有的成熟技术参考,以源代码为模板,分析功能调整与小学生兴趣延时班预约小程序的设计与开发的实际需求相结合,讨论了小学生兴趣延时班预约小程序的设计与开发的使用。开发环境开发说明:前端使用微信微信小程序开发工具:后端使用ssm:VU
我对如何计算通过{%assignvar=0%}赋值的变量加一完全感到困惑。这应该是最简单的任务。到目前为止,这是我尝试过的:{%assignamount=0%}{%forvariantinproduct.variants%}{%assignamount=amount+1%}{%endfor%}Amount:{{amount}}结果总是0。也许我忽略了一些明显的东西。也许有更好的方法。我想要存档的只是获取运行的迭代次数。 最佳答案 因为{{incrementamount}}将输出您的变量值并且不会影响{%assign%}定义的变量,我
给定一个nxmbool数组:[[true,true,false],[false,true,true],[false,true,true]]有什么简单的方法可以返回“该列中有多少个true?”结果应该是[1,3,2] 最佳答案 使用转置得到一个数组,其中每个子数组代表一列,然后将每一列映射到其中的true数:arr.transpose.map{|subarr|subarr.count(true)}这是一个带有inject的版本,应该在1.8.6上运行,没有任何依赖:arr.transpose.map{|subarr|subarr.in
我的Rails应用程序中安装了carrierwave。但是,当用户上传多页pdf时,我只希望应用程序获取文档中的第一页并将其转换为jpeg。这可能吗?用什么命令?这是我的uploader。#encoding:utf-8classImageUploader[200,300]##defscale(width,height)##dosomething#end#Createdifferentversionsofyouruploadedfiles:version:thumbdoprocess:resize_to_fill=>[150,210]process:convert=>:jpgdefful
有没有办法跳过CSV文件的第一行,让第二行作为标题?我有一个CSV文件,第一行是日期,第二行是标题,所以我需要能够在遍历它时跳过第一行。我尝试使用slice但它会将CSV转换为数组,我真的很想将其读取为CSV,以便我可以利用header。 最佳答案 根据您的数据,您可以使用另一种方法和skip_lines-option此示例跳过所有以#开头的行require'csv'CSV.parse(DATA.read,:col_sep=>';',:headers=>true,:skip_lines=>/^#/#Markcomments!)do|
给定两个大小相等的数组,如何找到不考虑位置的匹配元素的数量?例如:[0,0,5]和[0,5,5]将返回2的匹配项,因为有一个0和一个5共同;[1,0,0,3]和[0,0,1,4]将返回3的匹配项,因为0有两场,1有一场;[1,2,2,3]和[1,2,3,4]将返回3的匹配项。我尝试了很多想法,但它们都变得相当粗糙和令人费解。我猜想有一些不错的Ruby习惯用法,或者可能是一个正则表达式,可以很好地回答这个解决方案。 最佳答案 您可以使用count完成它:a.count{|e|index=b.index(e)andb.delete_at
我的任务是从数组中选择最高和最低的数字。我想我很清楚我想做什么,但只是努力以正确的格式访问信息以满足通过标准。defhigh_and_low(numbers)array=numbers.split("").map!{|x|x.to_i}array.sort!{|a,b|ba}putsarray[0,-1]end数字可能看起来像"80917234100",要通过,我需要输出"9234"。我正在尝试putsarray.first.last,但一直无法弄明白。 最佳答案 有Array#minmax完全满足您需要的方法:array=[80,
Ruby中如何“一般地”计算以下格式(有根、无根)的JSON对象的数量?一般来说,我的意思是元素可能不同(例如“标题”被称为其他东西)。没有根:{[{"title":"Post1","body":"Hello!"},{"title":"Post2","body":"Goodbye!"}]}根包裹:{"posts":[{"title":"Post1","body":"Hello!"},{"title":"Post2","body":"Goodbye!"}]} 最佳答案 首先,withoutroot代码不是有效的json格式。它将没有包
目标我正在尝试计算自给定日期以来周的距离,而无需跳过任何步骤。我更喜欢用普通的Ruby来做,但ActiveSupport无疑是一个可以接受的选择。我的代码我写了以下内容,这似乎可行,但对我来说似乎还有很长的路要走。require'date'DAYS_IN_WEEK=7.0defweeks_sincedate_stringdate=Date.parsedate_stringdays=Date.today-dateweeks=days/DAYS_IN_WEEKweeks.round2endweeks_since'2015-06-15'#=>32.57ActiveSupport的#weeks