【2024提前批/秋招笔试汇总2】——大疆-嵌入式软件-2023.08.06

一、 单选题(40分)

1. 以下关于GPU的特点描述不准确的是:
A.GPU无法使用共享内存结构,提高通信速度
B.GPU的并行数据处理可以大幅度提高运算能力
C.GPU使用高速全局内存可以进一步提升运算速度
D.GPU的计算能力比CPU强

2.下列关于linux中epoll接口的描述,正确的是:
A.epoll相比于poll会随着fd的数目增长而降低效率
B.边缘触融发模式(Edge Trigger)模式是epoll缺省的工作方式
C.epoll工作在水平触发模式时如果用户不进行任何操作,该事件并不会丢失
D.在大规模并发服务器场景中需要监听多个socket的时候,选择select比epoll高效

3.和192.168.50.2 Mask 255.255.255.192属于同—网段的主机IP地址是哪个?
A.192.168.50.62
B.192.168.50.63
C.192.168.50.64
D.192.168.50.65

4.下述哪—种指令集属于CISC架构
A.X86
B.ARM
C.MIPS
D.RISC-V

5.在git仓库中管理的项目,文件example.c内容被破坏了,且修改后的文件没有完成提交,如何将其还原至原始版本?
A.git checkout HEAD --example.c
B.git reset --example.c
C.git update example.c
D.git revert example.c

6.RTOS如何保证实时性?
A.通过在任务执行前进行预处理来减少响应时间
B.通过实时任务调度算法来保证任务的截止时间得到满足
C.通过增加内存容量来提高系统性能
D.通过使用高性能硬件确保任务的快速执行

7.在linux操作系统中,内核的物理内存分配的基本方式有哪些?
A.静态分配和动态分配
B.等分配和不等分配
C.高速缓存和主存分配
D.连续分配和非连续分配

8.关于RISC处理器的基本特征描述,哪个不正确?
A.使用大量寄存器,尽量保证上下文切换在寄存器中完成
B.指令长度固定
C.指令意义简单,功能单—
D.采用存取式体系结构,可通过任意指令访存

9.下列代码的输出结果是什么?

#include <stdio.h>
int main() {
	int a[5] ={1,2,3,4,5};
	int *p = (int *)(&a+1);
	printf("%d%d",*(a+1),*(p-1));
	return 0;
}

A .25
B.21
C.15
D.11

10.下列哪个不是C++的特性
A.多态
B.继承
C.所有权
D.封装

11.I2C总线工作在快速模式下传输速率是多少?
A.9600Kbit/s
B.400Kbit/s
C.100Kbit/s
D.1000Kbit/s

12.关于CPU的描述错误的是
A.持续增加流水线深度可以持续改善CPU工作频率
B.运行多进程的Linux必须选用支持MMU的CPU
C.英特尔处理器采用CISC架构
D.下一条指令的地址存储在PC寄存器

13.关于sizeof 和strlen的区别,以下说法错误的是
A.sizeof 的参数可以是数据的类型,也可以是变量,而strlen只能以结尾为‘\0’的字符串作参数
B.现有数组char msg[10]= "haha ";那么sizeof(msg)结果为10, strlen(msg)结果为4
C.sizeof 和strien函数都是在运行时才能计算出结果,sizeof 计算的是数据类型占内存的大小,而strlen计算的是字符串实际的长度
D.sizeof是一个操作符,strlen是库函数

14.一个类的友元函数可以访问类的()成员
A.私有成员
B.公有
C.其他选项都正确
D.保护

15.在多核处理器的页式存储管理中,当CPU形成一个有效地址时,要查页表,进行物理地址映射。这一工作是由下面哪项实现的?
A.存储管理进程
B.内存管理的查表程序
C.硬件MMU自动转换
D.操作系统调度

16.指令“ADD RO,R1,R2”的寻址方式为
A.寄存器间接寻址
B.立即寻址
C.寄存器寻址
D.多寄存器寻址

17.如果使用TCP协议做低延迟传输,需要进行内核参数优化,以下说法错误的是?
A.使能net.ipv4.tcp_sack
B.使能net.ipv4.tcp_autocorking
C.使能net.ipv4.tcp_thin_dupack
D.使能net.ipv4.tcp_fack

18.下列汇编指令中不会改变PC寄存器内容的是
A.RET
B.CALL
C.ADD
D.JMP

19.关于线程和进程,以下说法错误的是
A.—个进程可以创建多个线程
B.线程是用户态,进程是内核态
C.进程切换是一个开销很大的操作,线程切换的成本较低
D.进程需要占用系统资源(内存、CPU),线程创建时依赖父进程已经获取的这些系统资源

20.以下关于MIPI总线说法错误的是
A.MIPI总线有低功耗模式
B.MIPI是采用差分信号传输的
C.MIPI是移动图像处理接口(Mobile lmage Processing Interface)
D.MIPI允许多路data lane传输数据

二、多选题(30分)

1.以下属于linux线程状态的是
A.running
B.auto
C.preparing
D.ready

2.下面哪些技术会在程序链接阶段使用?
A.公共子表达式删除
B.反馈式优化
C.指令调度
D.函数内联

3.下面关于C++类的说法,正确的是
A.类的静态成员可以直接访问,无需实例化
B.类的成员变量存在指针类型,可以使用默认生成的拷贝构造函数
C.explicit关键字只对—个实参的构造函数有效
类的成员变量默认是private,成员函数默认是public

4.关于语句,描述正确的是

typedef int * int_t;
#define int_d int *

A.前者定义了一个新的类型别名,且可以支持类型检查
B.定义容个变量:int_t a,b; int_d c,d;其中a,b,c,d都是int *类型
C.后者只做了符号替换,不做类型检查
D.前者在编译前处理,后者在编译时处理

5.某系列芯片为ARM架构,下列说法正确的是
A.处理器的流水线结构的设计可以使得包括乘法在内的许多指令在单周期内执行
B.在FPU开启的情况下,芯片进行加、减、乘、除四种运算的运算耗时相同
C.ARM 64位指令集下每条指令长度为32bit
D.LR链接寄存器可以用于函数或子程序调用时返回地址的保存

6.在ARM处理器中,以下描述正确的是
A.网数参数超过3个时,前3个参数存储在R0,R1,R2寄存器中,多余的参数存放在堆栈中
B.网数调用时,网数参数传递都存放在寄存器中
C.函数返回值用R0来进行传递
D.函数调用时,RO,R1,R2用来存放前3个函数参数

7.关于c语言中的alloca函数描述正确的是?
void *alloca(unsigned int size);
A.alloca函数与malloc函数—样,也有对应的释放函数
B.申请的空间在stack上,非heap上
C.alloca申请的空间不需要程序员显示释放,会随着函数返回后自动释放
D.在32位机器上,alloca申请到的内存空间首地址必须4byte对齐

8.下面对于低速接口的描述正确的是
A.I2C中START后的第一个字节,前7bit是设备地址,最后一个bit是0为读,是1为写
B.SPI主机要获取从机的一个字节,就需要发送一个空字节来引发从机的传输
C.SPI中,模式0(CPOL=0, CPHA=0),表示SCK在空闲状态下为高电平,数据在SCK上升沿时进行传输,数据在SCK下降沿时进行采样
D.UART可以实现全双工的通讯,常用的波特率为9600、115200

9.下面对于进程间通信的描述错误的是
A.套接字socket可以作为进程间通信方式
B.信号是个计数器,用来控制多个进程对共享资源的访问
C.无名管道是半双工的,且可以在任意的2个进程间使用
D.共享内存—般需要配合信号量进行使用

10.使用共享资源时,为了满足互斥条件,通常有哪些方法?
A.自旋锁
B.原子操作
C.信号量
D.互斥锁

三、判断题(10分)

1.ARM cortex M7处理器上的Armv7E-M架构使用了精简指令集
2.GIT操作可以删除服务器上的历史记录
3.VLIW是在处理器执行阶段指定并行的指令级并行技术
4.RTOS设计更关注的不是高的吞吐量,而是保证任务在特定时间内完成
5.Cache一致性问题是指当有多个Master(如CPU、DMA、PCIE等)访问同—块内存时,由于数据缓存在Cache中,没有更新到实际的物理内存而导致的问题,所以软件不需要参与Cache—致性的维护
6.NEON是一种SIMD(Single Instruction Multiple Data)指令
7.下面关于shared_ptr的使用是否正确

int* ptr = new int;
std::shared_ptr<int> p1(ptr);
std::shared_ptr<int> p2(ptr);

8.实时操作系统响应中断时,中断函数中的局部变量保存在进入中断前的任务栈中。
9.拥有spin_lock的时候是否可以sleep
10.芯片ADC采样的分辨率越高,精度越高

四、编程题(20分)

1.在无人机系统中,由于飞行安全的需要,需要提示用户及时地更新固件。用户开机后,系统进行自检:如果发现当前日期距离新固件发布时间已超(或等于)30天,用户仍未进行固件更新,则提示用户尽快更新固件。

  • 输入描述:输入新固件发布日期release time和当天开机日期current_time,时间是由(year, month, day)三个参数构成;
  • 输出描述:如果current_time与release_time的时间差大于等于30天,输出1;小于30天,输出0;时间输入不符合规范(日期不存在或当前时间比固件发布时间还早),则输出-1。
  • 样例输入:
    2023 5 19
    2023 7 19
  • 输出样例
    1

2.mn的窗口在MN的二维数组中滑动,以左上角为原点,进行窗口滑动,边缘以临近行进行补齐(repeat),滑动步伐k=1,得到每次滑动的最大值,将滑动窗口输出值做直方图统计且排序,分别输出直方图的X和Y值。
在这里插入图片描述

  • 输入描述:
    m(行) *n (列)的滑动窗口(m <=5,n<=5)
    M(行) *N(列)的原始矩阵(M<=1000, N<=1000),矩阵中值小于256
    滑动步伐k=1
    输入顺序描述:
    M N m n
    M *N矩阵

  • 输出描述:
    Y:直方图统计纵坐标
    排序输出X:直方图统计横坐标
    基于x(从小到大)顺字打印输出x和Y值

  • 样例输入:
    5 5 2 3
    1 1 3 4 0
    3 3 1 4 4
    4 0 3 3 4
    1 4 4 2 4
    1 1 4 4 3

  • 输出样例
    2 23
    3 4

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/133253.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

技术架构-单机架构

前言 从今天开始系统学习 Docker 课程&#xff0c;总结下 Docker 是什么&#xff0c;用来做什么&#xff0c;架构是怎样的。 注&#xff1a;&#xff08;1&#xff09;当浏览器 / APP访问服务器时&#xff0c;如果服务器适用的时 http 协议&#xff0c;那么默认端口时80&#…

Learn runqlat in 5 minutes

内容预告 learn X in 5 系列第一篇. 本篇主要介绍进程时延统计方式和 rawtracepoint. runqlat "高负载场景下应用为何卡顿", "进程 A 为什么得不到调度". 当我们在工作生活中产生这样的疑问, 目标进程的调度时延是一个不错的观测切入点. runqlat 可以帮…

CentOs7 NAT模式连接网络

1.配置动态网络 1.1 检查主机网卡配置 检查主机的网络设置 进入控制面板&#xff0c;找到网络共享中心 查看适配器是否都已经开启 1.2 设置虚拟机的网络配置 打开虚拟机网络配置设置&#xff0c;对网卡VMnet8 进行设置 记住网关 全部选择应用&#xff0c;确定 1.3 设置…

数据结构:树的基本概念(二叉树,定义性质,存储结构)

目录 1.树1.基本概念1.空树2.非空树 2.基本术语1.结点之间的关系描述2.结点、树的属性描述3.有序树、无序树4.森林 3.树的常考性质 2.二叉树1.基本概念2.特殊二叉树1.满二叉树2.完全二叉树3.二叉排序树4.平衡二叉树 3.常考性质4.二叉树的存储结构1.顺序存储2.链式存储 1.树 1.…

PyTorch技术和深度学习——三、深度学习快速入门

文章目录 1.线性回归1&#xff09;介绍2&#xff09;加载自由泳冠军数据集3&#xff09;从0开始实现线性回归模型4&#xff09;使用自动求导训练线性回归模型5&#xff09;使用优化器训练线性回归模型 2.使用torch.nn模块构建线性回归模型1&#xff09;使用torch.nn.Linear训练…

文件改名:避免繁琐操作,利用筛选文件批量重命名技巧优化文件管理

在我们的日常生活和工作中&#xff0c;我们经常需要处理大量的文件&#xff0c;从文档、图片到音频和视频等。在这些情况下&#xff0c;一个高效的文件管理策略至关重要。文件重命名的必要性主要体现在两个方面。首先&#xff0c;对于大量文件&#xff0c;手动进行重命名不仅费…

邻接矩阵储存图实现深度优先遍历(C++)

目录 基本要求&#xff1a; 图的结构体&#xff1a; 图的构造&#xff1a; 图的深度优先&#xff08;DFS&#xff09;&#xff1a; 图的打印输出&#xff1a; 完整代码&#xff1a; 测试数据&#xff1a; 运行结果&#xff1a; 通过给出的图的顶点和边的信息&#xff0c…

Sprint Boot 学习路线 4

微服务 Spring Microservices是一个框架&#xff0c;它使用Spring框架更容易地构建和管理基于微服务的应用程序。微服务是一种架构风格&#xff0c;其中一个大型应用程序被构建为一组小型、独立可部署的服务。每个服务具有明确定义的职责&#xff0c;并通过API与其他服务通信。…

S7-1200PLC和SMART PLC开放式以太网通信(UDP双向通信)

S7-1200PLC的以太网通信UDP通信相关介绍还可以参考下面文章链接: 博途PLC开放式以太网通信TRCV_C指令应用编程(运动传感器UDP通信)-CSDN博客文章浏览阅读2.8k次。博途PLC开放式以太网通信TSENG_C指令应用,请参看下面的文章链接:博途PLC 1200/1500PLC开放式以太网通信TSEND_…

Flink之Table API SQL连接器

连接器 Table API & SQL连接器1.概述2.支持连接器 DataGen连接器1.概述2.SQL客户端执行3.Table API执行 FileSystem连接器1.创建FileSystem映射表2.创建source数据源表3.写入数据4.解决异常5.查询fileTable6.查看HDFS Kafka连接器1.添加kafka连接器依赖2.重启yarn-session、…

vue.cli 中怎样使用自定义的组件

目录 创建自定义组件 注册并使用自定义组件 全局注册自定义组件 使用 Props 传递数据 总结 前言 在Vue CLI中使用自定义组件是构建交互式和模块化Web应用的重要一环。Vue CLI为开发者提供了使用自定义组件的灵活性和简便性。通过Vue CLI&#xff0c;你可以创建、注册和使…

【算法练习Day45】最长公共子序列不相交的线最大子数组和

​&#x1f4dd;个人主页&#xff1a;Sherry的成长之路 &#x1f3e0;学习社区&#xff1a;Sherry的成长之路&#xff08;个人社区&#xff09; &#x1f4d6;专栏链接&#xff1a;练题 &#x1f3af;长路漫漫浩浩&#xff0c;万事皆有期待 文章目录 最长公共子序列不相交的线最…

开发者眼中的向量数据库应用领域

目录 引言向量数据库概念向量数据库优势应用领域亚马逊云科技向量数据库向量数据库的使用步骤最后 引言 随着人工智能和大数据技术的快速发展&#xff0c;越来越多的技术倾向于数据存储方面&#xff0c;数据库领域也随着人工智能和大数据的发展而发展&#xff0c;尤其是向量…

月销破30万辆后,比亚迪整了波大的

最近乘联会公布了 2023 年 10 月新能源乘用车厂商销量榜单。 其中最为亮眼犹如鹤立鸡群的榜首&#xff0c;没错依然是我们熟悉的那个迪子&#xff01; 单月销量超 30 万辆&#xff0c;相较去年同期暴涨 38.4%&#xff0c;创下了比亚迪有史以来新高。 同时也成为了国内首个月销…

PEFT概述:最先进的参数高效微调技术

了解参数高效微调技术&#xff0c;如LoRA&#xff0c;如何利用有限的计算资源对大型语言模型进行高效适应。 PEFT概述&#xff1a;最先进的参数高效微调技术 什么是PEFT什么是LoRA用例使用PEFT训练LLMs入门PEFT配置4位量化封装基础Transformer模型保存模型加载模型推理 结论 什…

Java学习 9.Java-数组 讲解及习题

一、数组的定义与使用 1.数组的基本概念 1.1 为什么要使用数组 数组是最简单的一种数据结构 组织一组相同类型数据的集合 数据结构本身是来描述和组织数据的 数据加结构 1.2.1 数组的创建 代码实现 new int 可省略&#xff1b; char[] chars{a,b,c};//定义一个整形类型数…

在线免费语音克隆工具,1分钟,复制你的声音

hi&#xff0c;同学们&#xff0c;我是赤辰。玩自媒体这么多年&#xff0c;总结出凡是用自己的声音做短视频&#xff0c;既有识别度&#xff0c;也更容易上热门&#xff0c;但是录制音频的艰难&#xff0c;试过的都知道&#xff0c;市面上也有很多克隆工具&#xff0c;但是基本…

【Git】Git分支与标签掌握这些技巧让你成为合格的码农

&#x1f389;&#x1f389;欢迎来到我的CSDN主页&#xff01;&#x1f389;&#x1f389; &#x1f3c5;我是Java方文山&#xff0c;一个在CSDN分享笔记的博主。&#x1f4da;&#x1f4da; &#x1f31f;推荐给大家我的专栏《Git》。&#x1f3af;&#x1f3af; &#x1f449…

Qt——连接mysql增删查改(仓库管理极简版)

目录 UI布局设计 .pro文件 mainwindow.h main.cpp UI布局设计 .pro文件 QT core gui QT core gui sql QT sqlgreaterThan(QT_MAJOR_VERSION, 4): QT widgetsCONFIG c11# The following define makes your compiler emit warnings if you use # any …

【算法-链表4】环形链表2的两种解法

今天&#xff0c;带来链表相关算法的讲解。文中不足错漏之处望请斧正&#xff01; 理论基础点这里 环形链表 1. 思路 利用链表相交 我们在环内任意一处断开&#xff0c;然后判断断开处的下一个位置和head是否相交&#xff0c;如果相交&#xff0c;相交处就是环口。 公式法 …