分数:

1 计算机系统:20

2 鲲鹏应用云上开发:9

3 高阶鲲鹏代码移植:23

4 鲲鹏应用发布:18

5 鲲鹏应用性能优化:23

6 鲲鹏应用开发实践:7

0 参考:

鲲鹏HCIP练习01答案_numa-aware亲和性优化是一种硬件加速方式_slowgood的博客-CSDN博客

1 计算机系统-20分

1 Q:Linux内核中:这个方法在干嘛?

A: ARM建立一个中断向量表

参考:Linux内核中断处理机制--初始化_trap_init_LuckyDog0623的博客-CSDN博客

1 关于方法

void __init trap_init(void)
{
.... 把向量表拷贝到ffff0000地址
memcpy((void *)vectors, __vectors_start, __vectors_end - __vectors_start);
.... 把复杂向量表拷贝到ffff0200
memcpy((void *)vectors + 0x200, __stubs_start, __stubs_end - __stubs_start);
}


2 延伸

trap_init函数被用来设置各种异常的处理向量,包括中断向量。所谓向量,就是安放在固定位置的代码,当发生异常时,CPU会自动执行这些固定位置的指令。

ARM异常向量基址为0xffff0000,注意:ffff0000并不对应实际的物理内存,是虚拟地址。当建立地址映射之后,就需要把物理地址对应的向量表拷贝到虚拟地址ffff0000。

2 GC优化属于什么优化?JDK优化

https://www.bilibili.com/read/cv22679388/

1 GC(垃圾回收)优化是JDK优化的一部分

这是因为垃圾回收是JVM的一个核心功能,也是JDK的一项关键特性。JDK作为Java的开发工具包,它提供了完整的Java开发环境,包括JVM、JRE、Java API、开发工具等。

JDK优化是指对JDK本身的性能和稳定性进行优化。在JDK优化中,GC优化是一个非常重要的方面。除了GC优化外,还有很多其他的JDK优化方案,例如JVM参数优化、线程优化、IO优化等等。

优化GC可以提高Java应用程序的性能和稳定性,减少程序崩溃和资源浪费。同时,GC优化也是JDK优化的一个重要方面,它可以为开发人员提供更好的开发体验和更高的工作效率。因此,开发人员需要深入了解GC优化的原理和方法,并结合实际情况选择合适的GC优化方案。 

在Java应用程序中,垃圾回收器通常会占用较多的CPU时间和系统资源。如果垃圾回收器的性能和效率不高,就会导致应用程序的响应时间变慢,甚至会出现程序崩溃的情况。因此,对垃圾回收器进行优化是非常必要的。

2 GC优化的方式:

GC优化的方式有很多种,下面是一些常见的GC优化方式:

1.调整GC算法 Java中有多种垃圾回收算法,例如标记-清除算法、复制算法、标记-整理算法等。不同的GC算法适用于不同的应用场景。通过选择合适的GC算法,可以提高垃圾回收的效率和性能。

2.调整GC参数 Java中有多个GC参数可以用于调整垃圾回收器的行为。例如,-Xms和-Xmx参数可以用于设置堆的初始大小和最大大小;-XX:MaxGCPauseMillis参数可以用于设置最大垃圾回收暂停时间。通过调整这些GC参数,可以优化垃圾回收器的性能和效率。

3.使用GC日志分析工具 GC日志是垃圾回收器在执行过程中记录的详细信息。通过分析GC日志,可以了解应用程序中的垃圾回收情况,发现垃圾回收器的瓶颈所在,从而针对性地进行优化。

4.对象池技术 对象池技术可以在程序启动时创建一定数量的对象,并在程序运行期间重复使用这些对象,避免频繁地创建和销毁对象,从而减少垃圾回收的负担。

5.对象复用技术 对象复用技术可以在不同的对象之间共享内存空间,从而避免频繁地分配和释放内存,减少垃圾回收的负担。

总之,通过优化GC,可以提高Java应用程序的性能和稳定性。不同的GC优化方式可以在不同的应用场景下发挥作用,开发人员需要结合实际情况选择合适的GC优化方案同时,由于Java应用程序的垃圾回收器是JVM的一部分,因此GC优化也属于JDK优化的一部分。 作者:码农青年 https://www.bilibili.com/read/cv22679388/ 出处:bilibili

3 KAE+openssl不支持哪个加密算法?MD4

支持哪些加密?RSA、ASE、SM4

lKAETaiShan 200服务器基于Kunpeng 920芯片提供的硬件加速引擎,包含了对称加密、非对称加密和摘要,压缩解压缩等算法,用于加速SSL/TLS应用和数据压缩,可以显著提升所支持算法的运算效率,并卸载CPU资源。此外,加速引擎对应用层屏蔽了其内部实现细节,用户通过OpenSSLZlib标准接口即可以实现对加速引擎的调用。目前加速引擎主要支持以下算法:

摘要算法,包括: SM3
对称加密算法,包括: SM4 ,支持 CTR/XTS/CBC 模式( XTS 模式仅支持内核态应用);
AES ,支持 ECB/CBC/CTR/XTS 模式。
非对称加密算法,包括: RSA ,支持 Key Sizes 1024/2048/3072/4096
压缩解压算法,包括: DEFLATE ,支持 GZIP/ZLIB 两种数据格式。

4 C语言代码编译的4流程:预处理、编译、汇编、链接。

从源文件到目标文件的转换是由编译器驱动程序完成的,以gcc编译器为例,执行“gcc -o hello hello.c”即可。但整个编译是需要经历以下四个步骤:

1 预处理器CPP把代码从.c处理成.i:  

        预处理器 cpp 根据以字符 # 开头的命令,修改原始的C程序。

        比如“Hello.c”中第一行 “#include<studio.h> ”命令告诉预处理器读取系统文件“stdio.h”的内1容,并把它直接插入到程序中。结果就得到另一个C程序,通常是以“.i”作为文件扩展名。

2 编译器CCL把代码从test.i编译成汇编语言test.s:gcc S test.i-O test.s

        编译器将文本文件“hello.i”翻译成文本文件“hello.s”,它包含一个汇编语言程序。

3 汇编器AS把代码从.s汇编成.o:

        汇编器 as 将“hello.s ”翻译成机器语言指令,把这些指令打包成一种叫做可重定位目标程序的格式,并将结果保存在目标文件“hello.o”中。“hello.o”文件是一个二进制文件,它包含的17个字符是函数main的指令编码。如果我们用文本编辑器打开“hello.o”文件,将会是一堆乱码

4 链接器ID把.o文件变成可执行二进制文件:

        在“hello.c”程序中,我们看到程序调用了printf 函数,它是每个C编译器都会提供的标准C库中的一个函数。printf 函数存在于一个名为“printf.o”的单独的预编译好了的目标文件中,而这个文件必须以某种方式合并到“hello.o”程序中。链接器 ld 就是负责处理这种合并,结果就得到一个“hello”文件,它是一个可执行目标程序,可以被加载到内存中,由系统运行。

4 关于编译器,以下不正确的是?

1 不正确:编译器将hello.c翻译成hello.s 

应该是把hello.is翻译成hello.s

2 正确:

1 编译器通常包含交叉编译器和直接编译器

2 C编译器和Fortran编译器产生的输出文件用的是一样的汇编语言

3 对解释型语言构建的代码,可以不使用编译器做编译转换。

3 解释型语言和编译型语言的区别?

编译型语言:C、C++

解释型语言:Python、JavaScript、Shell、Ruby、MATLAB等语言。

1 编译型语言
1.只须编译一次就可以把源代码编译成机器语言,后面的执行无须重新编译,直接使用之前的编译结果就可以;因此其执行的效率比较高;
2.编译性语言代表:C、C++、Pascal/Object Pascal(Delphi);
3.程序执行效率比较高,但比较依赖编译器,因此跨平台性差一些;
解释型语言
1.源代码不能直接翻译成机器语言,而是先翻译成中间代码,再由解释器对中间代码进行解释运行;
2.程序不需要编译,程序在运行时才翻译成机器语言,每执行一次都要翻译一次;
3.解释性语言代表:Python、JavaScript、Shell、Ruby、MATLAB等;
4.运行效率一般相对比较低,但是部分解释性语言的解释器通过在运行时动态优化代码,甚至能使解释性语言的性能超过编译性语言;
5.依赖解释器,跨平台性好;
参考:编译型语言和解释型语言_解释性语言和编译性语言有哪些_骰子红豆入骨思的博客-CSDN博客

5 鲲鹏920处理器采用的是哪种架构?ARMv8,NUMA

6 关于操作系统上下文,正确的是哪个?

1 不正确:

上下文切换是必然产物,频繁切换会造成性能损耗,是必然的,也是可以忽略的。

2 正确的:

任何一个时刻,单处理器系统都只能执行一个进程的代码。当操作系统决定要把控制权从当前进程转移到某个新进程时,就会进行上下文切换

2 上下文切换时候保存当前进程的上下文、恢复新进程的上下文,然后将控制权传递到新进程

3 上下文,包括许多信息,比如PC和寄存器文件的当前值,以及主存的内容。

7 关于超线程,不正确的是:

1 不正确:

如果一个超线程处理器可以让每个核执行2个线程,那一个4核处理器可同时处理16个进程

2 正确:

1 超线程允许1个CPU执行多个控制流

2 超线程处理器可以在一个单位周期决定要执行哪个线程池

3 超线程又称为同时多线程技术

8 关于进程的描述,正确的是?

1 进程是操作系统对一个正在运行的程序的一种抽象。在一个系统上可以同时运行多个进程,而每个进程都好像在独占地使用硬件。而并发运行,则是说一个进程的指令和另一个进程的指令是交错执行的。
一个进程实际上可以由多个称为线程的执行单元组成,每个线程都运行在进程的上下文中,并共享同样的代码和全局数据。

9 鲲鹏920处理器L3的CacheLine为多少字节?128

正确:

鲲鹏处理器内部设计了多层Cache来缓存数据。

Kunpeng 920具有L1L2L3共三级Cache

L1的指令Cache(L1I)和数据Cache(L1D)大小都是64KB

L2 Cache不区分指令或数据,大小为512KB

L1L2两级Cache由各个CPU core独享。

L3 Cache也不区分指令和数据,但分为tagdata两部分。

每个CPU DIE4DDR channel,总共支持最大2TB DDR内存空间。

4Core1L3 Cache tag组成一个Cluster6~8Cluster组成一个CPU Die,合封后的两个CPU Die共享LLC

10 鲲鹏920处理器,哪个是不正确的?

1 不正确:集成2个100ROCE端口(应该是100G ROCE)

2 正确:

1 采用自研MESH互联Fabric,单芯片继承最多64个自研核

2 集成PCle4.0/CCIX 等高速接口

3 将DDR4的通道从主流的6个提升到8通道

p 计算核数提升 1 倍,最多 64 核, 2.6GHz 主频
p SPECint 性能提升超过 2
p 内存通道数提升 1 倍,支持 8 通道 DDR4 控制器
p 支持 PCIe 4.0 CCIX
p 集成板载 100 GE 网络和加密、压缩等引擎
p 支持 2 路或 4 路互联

11 当一个异常在ELO发生时,PC中的当前值会被复制到哪个寄存器中?SPSR_EL1

程序状态寄存器(SPSR)

当异常发生时,CPSR中的处理器状态将保存在相关的程序状态保存寄存器(SPSR)中,其方式类似于ARMv7。SPSR保存着异常发生之前的PSTATE的值,用于在异常返回时恢复PSTATE的值。

在ARMv8中,写入的SPSR依赖于异常级别。如果异常发生在EL1,则使用SPSR_EL1。如果异常发生在EL2,则使用SPSR_EL2,如果异常发生在EL3,则使用SPSR_EL3。处理器核会在异常发生时填充SPSR。

参考:https://blog.csdn.net/sinat_22338935/article/details/126243280

12 鲲鹏处理器包含计算、存储、设备IO、中断及虚拟化等子系统,子系统是怎么样互联?高速内部总线

1SoC上包含3DIE2个计算DIE1IO DIE

1个计算DIE8Cluster;1个Cluster4Core

因此一个kunpeng 920芯片中包含4*8*2=64个核

计算DIE每一个core具有自己的L1L2Cache,所有的core共享L3Cache

IO DIE上集成有网络模块、PCIe模块。

这些DIE在芯片内部通过高速内部总线进行连接

鲲鹏处理器包含计算、存储、设备IO、中断以及虚拟化等子系统

鲲鹏920含有两个CPU DIE、一个IO DIE、以及共8DDR4 channel,它们通过AMBA (Advanced Microcontroller Bus Architecture)总线互联

13 关于汇编语言说法,正确的是?汇编语言与机器语言是一一对应的。

15 关于鲲鹏920的指令执行情况,哪个是不正确的?鲲鹏处理器运行整型的速度明显比浮点块。

正确:

1 鲲鹏处理器的指令执行也分为取址、译码、执行等几个步骤

2 鲲鹏处理器中有一部分专门的加速执行单元。

3 鲲鹏920还支持超标量、指令乱序执行等特性。

16 鲲鹏920网络子系统的说法,不正确的是?

不正确:

华为鲲鹏920使用的ROCE V2协议就等同于InfiniBand(IB协议)。

应该是:920采用的ROCE V2是由IB协议演进而来,而不是等同于IB。

正确:

网络子系统包括 Network ICL RoCE 引擎两大部分
Network ICL 包括多个 1Gbps~100Gbps 以太网控制器,二层 DCB MAC 地址表,多播表, VLAN 过滤表,流表,中断, PCIe 化,具有完整的 NIC 引擎,可以在 RoCE 引擎关闭的情况下单独工作。
RoCE(RDMA over Converge Ethernet) 是一种在以太网上采用 RDMA(Remote Direct Memory Access ,远程直接内存访问 ) 的网络互联技术。
华为鲲鹏 920 处理器使用的 RoCE v2 协议是由 InfiniBand(IB) 协议演进而来,既具有 InfiniBand 网络的低时延、低 CPU 利用率等特点,又能够很好地兼容于 Ethernet 网络。

17 鲲鹏处理器的组织,不正确的是?单个鲲鹏920 SOC上只有CPU

应该是:SoCSystem on chip,例如,Kunpeng 920除了CPU外,还集成了RoCE 网卡、SAS 控制器和南桥。

正确:

Chip :芯片 (Chip) 是指有大规模集成电路的硅片,我们见过的 CPU 这种是最常见的芯片。一般几块硅片可以封装在一起组成一个芯片。
DIE :芯片的最小物理单元。 Kunpeng 920 封装了 3 DIE ,两个用来做计算,第三个用来做 IO
Core :真正的计算单元,我们在操作系统侧看到的“核”。
Cluster :若干个核 (core) 的集合。 Kunpeng 920 4 core 集合成为一个 cluster ,而一个 DIE 上有 8 cluster
SoC System on chip ,例如, Kunpeng 920 除了 CPU 外,还集成了 RoCE 网卡、 SAS 控制器和南桥。

18 鲲鹏920中断子系统,不正确的是?ARM_AArch64虚拟化扩展功能有待完善。

正确的是:

1 在兼容ARM GIC (Generic Interrupt Controller)规范的基础上,实现了线中断、消息中断支持

2 鲲鹏处理器引入中断收集再分发的概念

3 鲲鹏920上还实现了华为公司的MBIGEN(message based interrupt generator) 技术

19 关于鲲鹏处理器优势的说法,错误的是?

错误:鲲鹏处理器提供强大的算力,最多支持32Core

正确:

1 具有丰富且强大的IO能力。集成以太网控制器,提供SAS控制器、集成PCle控制器。

2 自研的具有完全知识产权的ARMV8架构。

3 芯片集成安全算法引擎、压缩、解压缩引擎、存储算法引擎等行业业务加速。

20 鲲鹏安全加解密,不正确的是?密文数据通过PCle总线传输,传输带宽高

正确:

鲲鹏内置加解密加速引擎,不占用计算资源 
明文数据仅通过片内总线传输,安全性高 
支持 SM3/SM4 国密算法加速

21 鲲鹏处理器与openEuler

1 错误: 

OpenEuler操作系统性能业界领先,只有获得授权license才能大规模商业使用。

2 正确:

1 openEuler是一个开源免费的Linux发行版系统,通过开放的社区形式与全球的开发者共同构建一个开放、多元和架构包容的软件生态体系。

2 openEuler天然地支持鲲鹏处理器,并能够充分发挥处理器的各种特性。

3 openEuler支持ARMx86体系架构,并有计划支持RISC-V架构。

4 openEuler能充分发挥银鹏处理器的各种特性。

22 鲲鹏处理器的虚拟化技术

1 不正确:鲲鹏处理器实现虚拟化的具体方式和X86没有区别。

2 正确:

1 鲲鹏处理器支持 CPU Core 虚拟化、内存虚拟化、中断虚拟化以及 SMMU 等多项虚拟化技术。
多个虚拟机 ( VM Virtual Machine) 可以运行在一个中间层 (Hypervisor) 之上,共用一套硬件资源。
每个 VM 按照原有的方式运行并只看到属于自己的资源,互相不能访问对方的资源。

23 鲲鹏920 SAS子系统:不正确的是?可以直接不经过Expander最大连接8SAS盘或者SATA盘,两者不可以混插 (正确答案是:可以混插)

2 正确:

提供2X8 SAS 3.0控制器:

支持SAS 3.0,向下兼容SAS2.0SAS1.0

支持SATA3.0,向下兼容SATA2.0SATA1.0

SAS支持12G/6G/3G/1.5G四种速率,SATA支持6G/3G/1.5G速率,同时可以实现速率的自协商;

可以直接不经过Expander最大连接8SAS盘或者SATA盘,两者可以混插

可以连接SAS Expander扩展更多磁盘。

提供1X2 SATA控制器:

支持SATA 3.0,向下兼容SATA 2.5

支持AHCI 1.3,向下兼容 AHCI 1.2

支持6G/3G/1.5G速率自协商;

支持直连两个SATA盘。

支持NOR Flash控制器,4个片选,NOR FLASH最大支持512K

支持SPI Flash控制器,2个片选,SPI Flash最大支持32M

支持NAND FLASH接口,4个片选。

24 鲲鹏920的IO子系统:错误的是:各子系统 PCIE(含CCIX),Hydra(多片互联),NetworkStorageHACME有各自独立的标准,基本不适配开源演进要求

正确的是:

1 鲲鹏处理器和 IO 子系统通过 IO DIE 进行扩展,支持 SoC 片上加速器,如 100G 网卡、 SAS 控制器等。
鲲鹏处理器同时支持基于 PCIe 4.0 的设备扩展,可支持网卡、 GPU 等板卡。
为了方便软件编程,内部 SoC 上的高速设备也基于 PCIe ,且可以通过 PCIe 的配置空间进行配置。
各子系统 PCIE (含 CCIX ), Hydra (多片互联), Network Storage HAC ME, 各自遵循行业标准,兼容软件接口规范,满足开源及演进要求。

25 鲲鹏920的PCIe子系统,错误的是:暂不支持虚拟化网络

正确的是:

支持PCIe GEN1/2/3/4.0

Run at the 2.5G/5G/8G/16G

x16 PCIe 控制器

嵌入式 DMA 引擎

最多支持40PCIe Lane

3 PCIe 控制器

提供了实现PCIe根联合体或端点应用程序的解决方案

硬件特性

SRIS(Separate Refclk Independent SSC)

支持 SR-IOV

支持共享虚拟内存

支持 CCIX

支持 P2P(Peer to Peer)

不同控制器之间的对等流量

26 鲲鹏920的内部存储结构:

不正确的是:L2和L3cache都由各个CPU core独享(应该是L1和L2 cache是各个CPU独享)

正确的是:

鲲鹏处理器内部设计了多层Cache来缓存数据。

Kunpeng 920具有L1L2L3共三级Cache

L1的指令Cache(L1I)和数据Cache(L1D)大小都是64KB

L2 Cache不区分指令或数据,大小为512KB

L1L2两级Cache由各个CPU core独享。

L3 Cache也不区分指令和数据,但分为tagdata两部分。

每个CPU DIE4DDR channel,总共支持最大2TB DDR内存空间。

4Core1L3 Cache tag组成一个Cluster6~8Cluster组成一个CPU Die,合封后的两个CPU Die共享LLC

 27 关于处理器,错误的是:多核处理器是将多个CPU集成到一个集成电路芯片上

原文:多核处理器指在一枚处理器中集成两个或多个完整的计算引擎(内核),此时处理器能支持系统总线上的多个处理器,由总线控制器提供所有总线控制信号和命令信号。

多核处理器可以将多个CPU集成到一个集成电路芯片上。

正确的是:

        超线程既可以使用在单核处理器,也可以使用在多核处理器;

        常见的处理器包含单核处理器和多核处理器两个类;

        单核处理器可以通过执行时间共享来提升处理器的并发能力

 28 鲲鹏处理器优势,错误的是:鲲鹏920提供强大的算力,最多支持32Core。(最多64Core

鲲鹏920提供强大的计算能力,基于华为自研的具有完全知识产权的ARMv8架构,最多支持64 Core

通过片间Cache一致性接口Hydra扩展系统核数最多支持到256 Core,形成性能超强的板级计算节点。

支持CPU Core虚拟化、内存虚拟化、中断虚拟化、IO虚拟化等多项虚拟化技术,使得系统的资源共享更加灵活、系统的迁移过程变得相对简单。

鲲鹏920具有丰富且强大的I/O能力。集成以太网控制器;提供SAS控制器集成PCIe控制器。

芯片集成安全算法引擎、压缩/解压缩引擎、存储算法引擎等加速引擎进行业务加速。

29 关于链接器,不正确的是:链接器可以将执行文件,从外部加载到内存,并进行执行

正确的是:

        链接器的核心工作就是符号表解析和重定位;

        链接器主要是将有关的目标文件彼此相连接,生成可加载、可执行的目标文件;

        链接器可以将print.o文件以某种方式结合到he11o.o文件中,从而得到可执行的he11o程序

30 以下哪个,不是Kunpeng 920的Cache模式?Global Cache

正确的:

Private Cache;

Share Cache;

Partitioned Cache;

Non-inclusive L3;

X 多选题

1 关于存储器,正确的有:

寄存器和1级高速缓存,通常使用读写速度快但是价格比较昂贵的存储介质、相对于二级缓存、主存通常使用存储容量大、价格相对便宜的存储介质。

2 CPU在指令要求下,可能会执行那些操作?

1 中央处理单元( CPU ),简称处理器,是解释(或执行)存储再主存中指令的引擎。处理器的核心是一个大小为一个字的存储设备(或寄存器),称为程序计数器( PC )。在任何时刻, PC 都指向主存中的某条机器语言指令(即含有该条指令的地址)。
CPU 在指令的要求下会执行的操作有一下四种:
加载:从主存复制一个字节或一个字到寄存器,以覆盖寄存器原来的内容。
存储:从寄存器复制一个字节或一个字到主存的某个位置,以覆盖这个位置上原来的内容。
操作:把两个寄存器的内容复制到 ALU ALU 对这两个字做算术运算,将结果存放到一个寄存器中,以覆盖原来寄存器中的内容。
跳转:从指令本身中抽取一个字,并将这个字复制到程序计数器( PC )中,以覆盖 PC 中原来的值。

 

3 以下哪些是taishan200服务器的优点?

大内存容量8通道内存技术,支持32个DDR4内存插槽;

超强算力:高性能鲲鹏920处理器;

分级存储:支持大容量存储硬盘和ES3000 V5 PCle SSD

4 边缘计算快速发展,主要是哪几个因素驱动?

低时延:为满足低时延要求,需要在离业务现场最近的边缘构建解决方案,减少业务延时处理;

海量数据;

本地自治:不依赖云端,能进行自我恢复的能力;

隐私安全

5 操作系统的2大功能,包括:

防止硬件被失控的应用程序滥用。
向应用程序提供简单一致的机制来控制复杂而又通常大不相同的底层硬件设备。

 6 创建云容器引擎CCE集群后,以下哪些项的配置不能被变更?

集群的网络配置;

集群类型

7 多核技术是当前主流的处理器性能提升技术,以下正确的是:

多核处理器可以使应用程序运行的更快;

多核处理器减少了在执行多个任务时模拟并发的需要

8 关于ASCII码,以下正确的是:

A的ASCII是65,a的ASCII则是97;

每个ASCII码以1个字节byte存储;

用来制定计算机中的每个符号对应的代码,也叫作计算机的内码code

9 关于文本文件和二进制文件,以下说法正确的是:

在物理上文本文件和二进制文件并没有区别,都是以二进制0/1的形式存放于存储介质中;

文本文件是基于字符编码的文件,常见的编码有ASCII编码;

CPU只能识别二进制,用户只能识别文本文件,二者无法转换;

文本文件是字符的序列构成的,二进制文件是由位的序列构成的。

10 关于预处理器处理hello.c源文件的说法,以下正确的是:

hello.c的第一行#include命令告诉预处理器读取系统头文件stdio.h的内容,并把它插入程序中;

预处理器根据以字符#开头的命令,修改原始的C程序

11 关于字节的说法,正确的是:

大多数的计算机用一个字节表示一个字符、数字或其他字符;

一个字节byte等于8位bit二进制

12 关于总线的说法,正确的是:

通常总线被设计成传送定长的字节块;

总线是一组贯穿整个系统的电子管道

13 华为ES3000 V5 NVMe PCle SSD是企业级别高性能的存储及加速部件,以下关于其特点的描述,正确的是:

支持NVMe/SAS双模、

采用自研SSD控制芯片、

硬件设计与FW全部自研开发。

14 华为鲲鹏使用8内存通道,在大数据解决方案中,哪些组件受益于此设计?

Hive;

Yarn;

Flink;

Spark

15 华为云DevCloud中的项目管理projectin,主要包括以下哪些应用场景?

独立软件开发商ISV;

互联网应用开发

16 华为云DevCloud代码检查服务,支持以下哪些特性与能力,来帮助用户改进代码质量?

提供缺陷修复建议;

编码安全监测;

代码重复检测;

自定义规则集

17 华为云Web应用防火墙,支持以下哪些特性?

防恶意爬虫;

防止xss;

防SQL注入

18 华为云数据复制服务DRS适用于以下哪些场景?

异地灾备;

实时同步;

数据订阅

19 华为云中间件带来的好处包括:

可靠安全;

故障恢复;

升级和补丁;

20 鲲鹏920芯片L3cache line大小为128字节,X86架构芯片的L3Cache line大小为64字节。在进行应用移植时,该区别会造成以下哪些问题?

CPU级乱序;

伪共享;

CPU的能力无法发挥

21 基于华为云对话机器人服务打造的智能外呼方案,有以下哪些特点?

自动生成呼叫总结报告;

支持反问和打断;

支持语义理解和语义纠错、支持待解析,用户没听清机器人会重复问题;

支持话术灵活定制

22 基于鹏芯片的大数据场景开发流程中,大数据的编译部署安装方式有哪些?

HDP RPM包安装;

HDP源码编译方式安装;

Apache源码编译方式安装;

CDH源码编译方式安装

23 关于进程和线程,正确的是:

一个进程实际上可以有多个称为线程的执行单元;

当有多个处理器可用时,多线程也是一种使得程序可以运行更快的方法

24 关于操作系统内核的说法,正确的是:

从一个进程到另外一个进程的转换是由操作系统内核管理的;

内核是操作系统代码常驻内存的部分

25 代码运行时,可能导致乱序的原因有:

三级缓存空间不足;

CPU有按照预想的顺序进行代码执行;

CPU性能不足

26 使用华为云分布式消息Kafka服务时,且启用SASL能力,在kafka topic创建完成后,需要取得哪些信息才能完成客户端介入?

客户端证书;接入地址

27 数据库事务相关的ACID,分别指:原子性、持久性、隔离性、一致性

28 

2 鲲鹏应用云上开发:9分

1 敏捷包括如下构成部分:敏捷管理、持续交付、IT服务管理(ITSM)、精益管理Lean/TPS)。

2 持续集成:

l 持续集成( Continuous Integration ),缩写为 CI ,是一项软件开发实践。
l 在持续集成中,团队成员频繁集成他们的工作成果,一般每人每天至少集成一次,也可以多次。每次集成会经过自动构建(包括自动测试)的检验,以尽快发现集成错误。许多团队发现这种方法可以显著减少集成引起的问题,并可以加快团队合作软件开发的速度。
l 持续集成的目的,就是让产品可以快速迭代,同时还能保持高质量。它的核心措施是,代码集成到主干之前,必须通过自动化测试。只要有一个测试用例失败,就不能集成。
l 持续集成的两大优点:
p 快速发现错误。每完成一点更新,就集成到主干,可以快速发现错误,定位错误也比较容易。
p 防止分支大幅偏离主干。如果不是经常集成,主干又在不断更新,会导致以后集成的难度变大,甚至难以集成。

3 持续交付

1 持续交付(Continuous Delivery),缩写为CD,指的是频繁地将软件的新版本,交付给质量团队或者用户,以供评审。如果评审通过,代码就进入生产阶段。

2 持续交付可以看作持续集成的下一步。它强调的是,不管怎么更新,软件是随时随地可以交付的。

3 持续交付描述的是软件开发,是从原始需求识别到最终产品部署到生产环境这个过程中,需求以小批量形式在团队的各个角色间顺畅流动,能够以较短地周期完成需求的小粒度频繁交付。频繁交付周期带来了更迅速的对软件的反馈,并且在这个过程中,需求分析,产品的用户体验和交互设计、开发、测试、运维等角色密切协作,相比于传统的瀑布式软件团队,更少浪费。

4 持续交付的优势:

p 快速发布
p 缩短迭代周期
p 软件发布标准化
p 交付进度可视化
p 减少浪费

4 持续部署

1 持续部署是指当交付的代码通过评审之后,自动部署到生产环境中。持续部署是持续交付的最高阶段,这意味着所有通过了一系列的自动化测试的改动都将自动部署到生产环境。

2 持续部署的工作流程:开发人员提交代码,持续集成服务器获取代码,执行单元测试,根据测试结果决定是否部署到预演环境,如果成功部署到预演环境,进行整体验收测试,如果测试通过,自动部署到产品环境中,全程自动化高效运转。

3 持续部署的优点:可以相对独立地部署新的功能,并能快速地收集真实用户的反馈。

5 云原生:

1 Cloud Native是指在云环境下构建、运行、管理软件的新的系统实践范式,充分利用云基础设施与平台服务,适应云环境,具备(微)服务化、弹性伸缩、分布式、高可用、多租户、自动化等关键特征的架构实践;建立全功能团队、发展全栈工程师并高度协作的组织,采用DevOps研发模式、自动化工具,实现微服务持续交付,是支撑Cloud Native架构的最佳组织和工程实践。

6 微服务:

1 背景:

微服务架构的出现是因为 单体架构( Monolithic 在其内部一个小改动,都会影响其他模块。特别是在云上发布,任何一个小的改动,都需要统一编译和发布。 对某个模块进扩展,也需要整体扩展。所以出现通过一系列的微服务来构建应用,各个微服务之间可以独立部署、独立扩展以及提供模块化的边界,还可以使用不同的语言进行开发。

2 提出:

Martin Fowler总结亚马逊、NetFlix等互联网架构实践,提出了 Microservice(微服务)

微服务架构样式是一种将单个应用程序开发为一组小型服务的方法,每个小型服务都在自己的进程中运行并通过轻量级机制(通常是 HTTP 资源 API)进行通信。这些服务围绕业务功能构建并且可以由全自动部署机制来独立部署。这些服务通过最低限度的集中管理,可以用不同的编程语言和不同的数据存储技术。

3 具体:

微服务是一种用于构建应用的架构方案。微服务架构有别于更为传统的单体式方案,可将应用拆分成多个核心功能。每个功能都被称为一项服务,可以单独构建和部署,这意味着各项服务在工作(和出现故障)时不会相互影响。

7 代码托管

1 注重安全

支持 IP 白名单设置,确保接入安全
支持访问日志,方便审计
支持加密存储,防范代码泄露
支持 Git -Crypt ,扩展加密存储能力
安全防护墙,阻止用户上传敏感信息

2 高效协作

支持 Git -Flow 工作流
增强型 Code Review :权限控制, Code Owners ,评分机制,协作提醒,问题闭环
自动关联流水线,确保提交质量
独创 Coding in Web ,方便在线编辑代码

3 贡献可视化

代码语言类型统计
代码增长趋势图
小组贡献量排名
提交活跃度分布
提交质量统计

8 容器化云环境CCE,错误的是:

如果创造的CCE集群式包年包月计费,那么该集群下的节点只能用包年包月的方式计费

正确的是:

用户可以通过CCE直接使用华为云性能的弹性云服务器、裸金属服务器、GPU加速云服务器;

空户可以通过CCE控制台、k8命令行、Kubernetes API使用云容器引擎服务;

CCE提供高度可扩展的、高性能的企业级K8s集群,支持运行Docker容器

9 以下哪些属于DevOps的构成部分:敏捷管理、持续交付、IT服务管理(ITSM)、精益管理(Lean/TPS)

10 其他选择题:

1 APM不支持哪种技术栈开发的应用?C++

2 联网游戏场景中业务的数据表的结构频繁发生变化,若要求变更对业务没有影响,推荐租户使用哪种数据库服务:DDS(文档型数据库服务)

3 哪些场景适用于HTTPS的短连接:网站电影播放

4 使用Java开发时,下列哪个方法可以获取到CPU的占用率?ManagementFactory.getOperationgSystemXXX

5 Serveless的缺点不包含:无状态、无会话保持

Serverless缺点包含:

多租户解决方案可能引起安全和性能问题;

对于无服务器架构,没有机会针对主机性能,优化服务器设计;

每个无服务器供应商都会增加整个生态系统所包含的不同安全隐患的数量。

6 复制就是开销,程序员要在程序开发的(开发和设计)阶段,尽可能的避免此类开销

7 数据湖探索服务是一种按需计费的服务,它的计费单位是(计算资源的时长,cu

8 关于原子操作,正确的是:原子操作执行时,不会被打断或被干涉

9 关于Java中JVM,正确的是:JVM屏蔽了X86和鲲鹏平台之间的区别

10 下列代码在运行时,会出现什么现象?多核乱序指令现象

11 关于“字长”,正确的是:字长和操作系统有关

12 关于CPU弱保序,错误的是:

程序的读写乱序对提高系统的运行效率有极大帮助,程序设计阶段就应该考虑通过不断提升乱序性,来提升系统性能

正确的是:

        CPU弱保序通常也叫作乱序执行;

        处理器不按程序规定的顺序执行指令,它根据内部功能部件的空闲状态,分发执行指令,但是程序结束的顺序还是按照原有程序规定的顺序;

        处理器内部功能部件并行运转,避免了不必要的阻塞,有效提高了处理器执行指令的性能。

13 关于能够触发流水线执行的方式,错误的是:默认分支上代码提交时自动触发

正确的是:

        执行测试计划并通过后,自动触发

        在流水线列表中手动执行流水线

        默认分支上创建标签时,自动触发

14 关于微服务架构优势,错误的是:

每个服务有互相独立的数据库和中间件,公共服务方面需要高可用的服务、监控报警系统调用链路分析、日志收集储存设施等。

正确的是:

        可通过分布式部署,大幅度提升团队和日常工作效率;

        使用多语言API,开发人员根据要实现的功能,自由选用最适合的语言和技术;

        独立的服务不会彼此影响,一个服务出现故障不会导致整个应用下线;

        缩短开发周期,有助于实现更加便捷的部署和更新

15 关于应用架构的演化流程,正确的是:单体架构-微服务架构-SOA架构

16 关于在计算机系统中执行hello程序的过程,错误的是:

程序执行完成后,执行的结果文件会直接从主从复制到显示设备

正确的是:

1 lshell程序中输入字符串“./a.out时,它会将输入的字符逐一读入到寄存器中;

同时将寄存器中的值存放到主存中,等待输入完成后执行;

3 回车代表这命令输入完成,shell程序会按照输入的字符执行a.out文件

a.out存放在磁盘中是不能被加载的,因此需要将其从磁盘复制到主存中;

4 a.out被复制到主存后,处理器就开始执行应用的main函数中的机器语言指令,并按照一定的顺序将应用中的指令进行执行,最后将执行结果输出到显示器上

17 以下哪个不是Python的Web框架:Tomcat

正确的:

Django

Tornado

Flask

Bottle

Pyramid

18 以下哪个不是大数据组件?MariaDB

正确的:

Zookeeper, Hive数据仓库,MapReduce分布式批处理,YARN集群资源管理系统,HDFS分布式文件系统,HBASE,SPARK分布式内存框架,Kafka分布式流消息系统,Flink分布式流处理框架,Spark Streaming分布式流处理框架

19 以下哪个不是华为鲲鹏生态的重要组成部分?X86处理器

正确:

操作系统、

云服务、

中间件、

应用软件

20 以下哪个不是容器多云、混合云解决方案带给客户的价值:虚拟机应用自动转换容器

正确:

避免厂商锁定;

应用地域亲和;

统一开放的管理平台

21 以下哪个是ARM指令集:ARMv8.1

22 VPC ENDPOINT的主要功能是:

将VPC私密地连接到终端节点服务,使得VPC中的云资源无序弹性公网IP,就能访问终端节点服务

23 以下哪项不是华为云数据管理服务DAS的功能:SQL自动优化:帮助用户定位到慢SQL,并进行自动改写调优SQL语句,提高执行效率

正确:

实时分析;

全量SQL;

每日巡检

24 由于也无需求,某客户使用FunctionGraph服务来节省人力物力投入,以下哪个是使用FunctionGraph的必备工作?上传部署及配置触发器

25 语音合成服务TTS除了可以实现语音导航,有声读物等功能外,还可以实现实时语音转写和录音文件识别的功能。(正确)

26 语音交互服务的哪个功能适用于离线智能质检场景?录音文件识别

27 云性能测试服务提供了多种协议的高并发测试能力,可以支持多协议报文内容、事务、测试任务模型的灵活自定义。对于流媒体直播业务,需要用到以下哪种协议?HLS(感觉应该是RTMP啊)

Refer to:流媒体直播协议是什么?手机直播系统常用的流媒体协议

28 在lol实时数据处理场景中,哪项属于使用函数工作流带来的收益?内置多个触发器,预集成多个服务

29 在多核处理器的组织架构中,如果微处理芯片有4个CPU核,以下不正确的是:这4个CPU的高速缓存可以交叉访问。

正确:

        这4个CPU共享L3告诉缓存;

        每个核都有自己的L1、L2高速缓存

        每个核对应的L1缓存,分为指令存储和数据存储2部分

30 在冯诺依曼体系中,CPU处理的数据来自于哪个位置?内存

31 在计算机领域中,关于操作系统和应用软件的关系,正确的是:应用软件需要借助操作系统,完成硬件的操控

32 在鲲鹏平台的ECS中输入命令go version,如果Go已经被正确安装,则应显示:go version gol.15.3 linux/amd64

参考题库:

HCIP-Kunpeng Application Developer_V1.0 H13-121题库_小桃汽ya的博客-CSDN博客

Logo

鲲鹏展翅 立根铸魂 深耕行业数字化

更多推荐