CVTE2019校招笔试

article/2025/8/24 13:24:22

vector中删除元素时,指向被删除元素和它后面元素的迭代器都失效了;如果添加一个元素,可能导致所有内容重新分配,所有迭代器均失效。因此在循环中使用erase操作时,要特别注意。不过erase删除元素后会返回一个迭代器指向删除元素的下一个元素。

A错

vector是用动态数组实现的,当容量不够时会扩容,导致存储位置变化

vector会重新申请一块空间

B对

最大的区别是当待查找的 KEY 不存在时:

1.map::find 返回一个空迭代器(map::end)。

2.map::operator[] 将用 VALUE 默认的构造函数创建一个对象并插入到 map 中,将其返回。

故C错

C++ STL 的实现:

1.vector  底层数据结构为数组 ,支持快速随机访问

2.list    底层数据结构为双向链表,支持快速增删

3.deque   底层数据结构为一个中央控制器和多个缓冲区,详细见STL源码剖析P146,支持首尾(中间不能)快速增删,也支持随机访问

4.stack   底层一般用23实现,封闭头部即可,不用vector的原因应该是容量大小有限制,扩容耗时

5.queue   底层一般用23实现,封闭头部即可,不用vector的原因应该是容量大小有限制,扩容耗时

6.45是适配器,而不叫容器,因为是对容器的再封装

7.priority_queue 的底层数据结构一般为vector为底层容器,堆heap为处理规则来管理底层容器实现

8.set       底层数据结构为红黑树,有序,不重复

9.multiset  底层数据结构为红黑树,有序,可重复 

10.map      底层数据结构为红黑树,有序,不重复

11.multimap 底层数据结构为红黑树,有序,可重复

12.hash_set 底层数据结构为hash表,无序,不重复

13.hash_multiset 底层数据结构为hash表,无序,可重复 

14.hash_map      底层数据结构为hash表,无序,不重复

15.hash_multimap 底层数据结构为hash表,无序,可重复 

ABC 是顺序性容器:

vector: 是一段连续的内存块

list:是所有的数据元素分开保存,可以是任何两个元素没有连续

deque:是多个连续的内存块

三者区别:

vector:查询性能好,并且在末端增加数据也很好,除非它重新申请内存, 适合高效地随机存储

list:是一个链表,任何一个元素可以是不连续的,但它都有两个指向上一元素和下一元素的指针,所以它对插入、删除元素性能是最好的,而 查询性能非常差; 适合大量地插入和删除操作而不关心随即存储 的要求

deque: 介于两者之间,兼顾了数组和链表的优点,它是分块的链表和多个数组的结合,所有它有比list好的查询性能,比vector好的插入、删除性能。

如果你需要随机存取又关心两端数据的插入和删除,那么deque是最佳之选。

D(stack)是容器适配器:

是一个容器类的改编,为程序员提供了堆栈的全部功能,也就是说实现了一个先进先出(FILO)

的数据结构。

故D对

 

useradd 用户名 【添加一个用户】 如:useradd CVTE
passwd 用户名 【给指定的用户名修改密码】 如:passwd wangxin
userdel 用户名 【删除一个用户,但是该用户在home文件下的子文件夹会保留】 如:userdel wangxin
userdel -r 用户名 【删除一个用户,并且删除连同该用户在home文件夹下的子文件夹】 如:userdel -r wangxin

选A

 

 IIC是半双工 spi全双工 uart是全双工  B对

在USB1.x,USB2.0等低于USB3.0的USB接口标准中由于物理介质的限制,只具有1对差分信号线,USB DP+ 和 USB DM-,所以都属于半双工传输。USB 活动都是由主机发起。USB3.0 标准针对此进行了改进,增加了5根信号线,分别是:SSTXP+,SSTXM-,GND,SSRXP+,SSRXM-,因此可以支持全双工。D错

 

 

A错

SPI总线由三条信号线组成:串行时钟(SCLK)、串行数据输出(SDO)、串行数据输入(SDI)。SPI总线可以实现多个SPI设备互相连接。提供SPI串行时钟的SPI设备为SPI主机或主设备(Master),其他设备为SPI从机或从设备(Slave)。主从设备间可以实现全双工通信,当有多个从设备时,还可以增加一条从设备选择线。

 I2C总线是双向、两线(SCL、SDA)、串行、多主控(multi-master)接口标准,具有总线仲裁机制,非常适合在器件之间进行近距离、非经常性的数据通信(我的平衡小车读取MPU6050模块的数据就是用I2C总线)。在它的协议体系中,传输数据时都会带上目的设备的设备地址,因此可以实现设备组网。

  UART总线是异步串口,因此一般比前两种同步串口的结构要复杂很多(单片机的书上有介绍的,其实也算不上复杂),一般由波特率产生器(产生的波特率等于传输波特率的16倍)、UART接收器、UART发送器组成,硬件上由两根线,一根用于发送,一根用于接收。

是英文Universal Serial BUS(通用串行总线)的缩写,是一个外部总线标准,用于规范电脑与外部设备的连接和通讯,是应用在PC 领域的接口技术。USB 接口支持设备的即 即用和热插拔功能。USB 是在1994 年底由尔、

C对

 

选D我也不知道为啥

 

 

 

运行结果是2

 

D共享内存效率最高
共享内存( shared memory ) :共享内存就是映射一段能被其他进程所访问的内存,这段共享内存由一个进程创建,但多个进程都可以访问。共享内存是最快的 IPC 方式,它是针对其他进程间通信方式运行效率低而专门设计的。它往往与其他通信机制,如信号两,配合使用,来实现进程间的同步和通信。

 

 

 

 


http://chatgpt.dhexx.cn/article/45kvE76U.shtml

相关文章

CVTE C++软开全程面试(一面、二面、群面、HR面)

一面,面了一个钟,问了很多问题,大部分是计算机的基础知识,我也只能记录下一部分。 C的继承问题,protected成员被public、protected和private继承的情况。 下面是关于protected成员在不同类型继承中的访问权限&#xff…

2015 CVTE校招网测部分试题(技术类)

CVTE的网测题分为技术题与行测题,都非常基础非常简单,但也有较难的题目,下面这些题都是我当时觉得稍有些难或容易答错或值得进一步推敲的题,现在分享出来,大家可以对着知识点做下,不会的Google,…

剑指Offer——CVTE校招笔试题+知识点总结(Java岗)

剑指Offer(Java岗)——CVTE校招笔试题知识点总结 2016.9.3 19:00参加CVTE笔试,笔试内容如下: 需要掌握的知识:Linux基本命令、网络协议、数据库、数据结构。 选择题 1.36进制转换(0~9, A~Z):28045707425转换结果为...P 2.已知二叉树的节点数…

2016CVTE校招在线笔试题

2016CVTE校招在线笔试题 https://www.nowcoder.com/test/458195/summary 以下说法正确的有() A. 多个进程操作同一个文件时,应该要考虑到文件的一致性问题 B. 可通过文件在不同进程间进行数据传递和共享 C. 可以通过全局变量在不同进程间传递数据 D. 一个进程可以…

CVTE校招嵌入式经历

一、网申 网申无非就是填填项目经历和工作经历,大家按实际填就是啦,CVTE只要申请了网申都会给予测评的机会。关于填写的内容,在之后的技术面试中,考官会根据你填写的内容提出一些问题,但是大家也不用写得多详细&#x…

互联网公司校招Java面试题总结及答案——CVTE

有的没有答案,或者重复的被我去掉了,其他的请参考我的系列文章: 互联网公司校招Java面试题总结及答案——美团 ( 百度Java面经)互联网公司校招Java面试题总结及答案——百度(目前只是部分总结) …

ijkplayer 源码分析(1):初始化流程

一、ijkplayer 初始化流程 本文是基于 A4ijkplayer 项目进行 ijkplayer 源码分析,该项目是将 ijkplayer 改成基于 CMake 编译,可导入 Android Studio 编译运行,方便代码查找、函数跳转、单步调试、调用栈跟踪等。 初始化完成的主要工作是创建…

ijkplayer框架深入剖析

随着互联网技术的飞速发展,移动端播放视频的需求如日中天,由此也催生了一批开源/闭源的播放器,但是无论这个播放器功能是否强大、兼容性是否优秀,它的基本模块通常都是由以下部分组成:事务处理、数据的接收和解复用、音…

android编译ijkplayer,android studio 3.0 集成ijkplayer

一、ijkplayer编译过程略,有兴趣的朋友可以再研究,以下以编译好的版本讲解。 将ijkplayer相关的so及aar文件复制到app下的libs目录,为支持多版本的手机使用,将所有的so文件都复制过去。 文件下载地址:https://download…

开源播放器ijkplayer的使用

编译 快速入门: ijkplayer是Bilibili发布的轻量级 Android/iOS 开源视频播放器。核心代码主要是用C写的,主要由ffmpeg(解码)openssl(https)播放器相关组成。编译可裁剪,支持直播、点播(在线播放)、硬件加速解码、弹幕等,完整版支…

ijkplayer笔记

一、初始化 - (id)initWithContentURLString:(NSString *)aUrlStringwithOptions:(IJKFFOptions *)options {if (aUrlString nil)return nil;self [super init];if (self) {ijkmp_global_init();ijkmp_global_set_inject_callback(ijkff_inject_callback);[IJKFFMoviePlayer…

Ijkplayer编译

记录一下编译ijkplayer过程 一、环境 1.1、VMware ubuntu 1.2、安装git、vim sudo apt install git sudo apt install vim二、配置编译环境 2.1、配置AndroidSDK环境 2.1.1、下载AndroidSDK wget http://dl.google.com/android/android-sdk_r24.2-linux.tgz国内下载地址…

ijkplayer播放器剖析(一)让ijkplayer播起来

一、引言: ijkplayer是一款对FFmpeg封装非常好的第三方开源播放器,遗憾的是,ijkplayer2.0似乎不开源,并且1.0版本更新也基本停止了,很多公司都会采用ijkplayer作为其播放应用的内核,这款集合软硬件编解码功…

13_android编译ijkplayer

13_android编译ijkplayer 一.编译环境 macOS Big Sur 11.4NDK r10eHomeBrewgit 二.编译前准备 配置ANDROID_SDK和ANDROID_NDK环境变量 安装git,make, yasm brew install git brew install make brew install yasm三.使用git获取ijkplayer最新源码 g…

ijkplayer项目

ijkplayer项目 环境配置 NDK全称:Native Development Kit。 1、NDK是一系列工具的集合。NDK提供了一系列的工具,帮助开发者快速开发C(或C)的动态库,并能自动将so和java应用一起打包成apk。这些工具对开发者的帮助是巨…

ijkplayer android 内存,IjkPlayer

ijkplayer是b站开源的超级好用的视频播放器,小编这里为大家送上。相信大家都早有耳闻。ijkplayer Android和ios都可用,还支持多种视频的硬解码。人生苦短,不如快点试一试。需要的朋友快来西西下载吧! 应用简介 ijkplayer是Bilibil…

android集成 ijkplayer Ijkplayer集成使用方案 + demo

首先想使用ijkplayer的话,肯定得先编译啦,但是我之前已经编译好了,时间是2018年3月份左右,版本也是当时最新的0.8.8,所以大可放心使用 其实拉到项目中还是很简单的。也就是把要适配的.so库拉到项目中,再把需…

ijkplayer 源码分析(上)

本文基于0.8.8版本的 ijkplayer ,对其源码进行剖析,涉及到不同平台下的封装接口或处理方式时,均以 Android 为例。 ijkplayer 是一款比较出众的开源 Android/IOS 跨平台播放器,基于 ffplay,API 易于集成,可…

ijkplayer播放器剖析(五)视频同步与渲染机制分析

ijkplayer播放器剖析系列文章: kplayer播放器剖析(一)从应用层分析至Jni层的流程分析 ijkplayer播放器剖析(二)消息机制分析 ijkplayer播放器剖析(三)音频解码与音频输出机制分析 ijkplay…

ijkplayer播放器详解使用教程

1.认识ijkplayer 最近公司准备开发一款视频播放及直播的应用,找了许多开源的框架,大部分都是基于ffmpeg开发的。最开始准备用Vitamio框架开发的,相关的文章也比较丰富,结果对于非个人移动应用均需购买Vitamio使用授权。不过B站开…