C/C++、嵌入式开发岗笔试集锦
图标链接
C++运算符检索(点击查看 - 转)
C++构造函数、拷贝函数等理解(点击查看 - 转)
题目
⭐⭐⭐1.(STL库)请问C++的STL库中map的底层数据结构为(),multimap的底层数据结构为(),unordered_map的底层数据结构为()?
答案:rb_tree rb_tree hashtable
⭐⭐⭐2.(区分strlen()及sizeof())在64位操作系统下,下列程序的输出结果为()?
#include<iostream>
using namespace std;
{
const char* str = "name hello";
printf("%d %d\n", sizeof(str), strlen(str));
return 0;
}
答案:8、10
解析:sizeof(str)输出的是指针的大小,不管什么指针(无论是char**还是int**还是自定义的类型A的A*),大小都是一样的,在32位下是4位,在64位下是8位。
补充:
C++中的数据类型有哪些?
1、整形:int、long
2、字符型:char、wchar_t
3、布尔型:bool
4、浮点型:float、double
5、指针
重点:指针字节长度计算原理其实跟int差不多,一个指针的位数和操作系统的位数是相等的,即32位系统应该是4个字节,64位系统应该是8个字节
。
⭐⭐3、(数据库相关)有学生表如下:
CREATE TABLE students (s_id VARCHAR(20) PRIMARY KEY,s_name VARCHAR(20) NOT NULL DEFAULT '',s_birth VARCHAR(20) NOT NULL DEFAULT '',s_sex VARCHAR(10) NOT NULL DEFAULT ''
);
现要查询students表的第16~20条数据,正确的查询语句是
答案:select * from students limit 15,5;
解析:如果给定两个参数,第一个参数指定第一个返回记录行的偏移量,第二个参数指定返回记录行的最大数目。
select * from tableName limit i,n
- tableName : 为数据表;
- i : 为查询结果的索引值(默认从0开始);
- n : 为查询结果返回的数量
⭐⭐⭐❔4、(静态、非静态成员函数)头文件中有
int func1();
static int func2();
class DEMO
{
public:
int func3();
static func4();
}
在这些函数中,具有隐含的this指针的是
答案:func3()
,非静态成员函数都包含一个特殊的指针,指向调用该函数的对象,这个指针成为this指针非静态成员函数都包含一个特殊的指针,指向调用该函数的对象,这个指针成为this指针
解释:
- 非静态成员函数都包含一个特殊的指针,指向调用该函数的对象,这个指针成为this指针;
- this指针只能在类的成员函数中使用,静态成员函数没有this指针。
5、(二叉树、堆)请问以下序列中能构成最小堆的是
A 4, 5, 7, 7, 8, 10, 4
B 10, 9, 8, 7, 3, 2, 1
C 3, 4, 5, 5, 5, 9, 6
D 3, 14, 10, 20, 30, 9, 12
答案:C 3, 4, 5, 5, 5, 9, 6
解析:
法一:
- 如果每个节点的值都大于等于左右孩子节点的值,这样的堆叫 大顶堆;
- 如果每个节点的值都小于等于左右孩子节点的值,这样的堆叫 小顶堆。
堆是一个完全二叉树:将序列按照从上到下,从左至右构建二叉树:第一层(3);第二层(45);第三层(5596).可以看出是小顶堆
法二:
堆分为大顶堆和小顶堆,
满足a[i]>=a[2i+1]&&a[i]>=a[2i+2]称为大顶堆,
满足 a[i]<=a[2i+1]&&a[i]<=a[2i+2]称为小顶堆
⭐⭐⭐⭐5、(TCP/IP协议)TCP与UCP的区别(选择题)
解释:
参考文章:一看就懂系列之 超级详解TCP与UDP。
⭐⭐6.(递归函数求复杂度)求递归方程T(n)=4T(n/2)+n 的解 ( )
解释:
将规模为n的问题通过分治,得到a个规模为n/b的问题,每次递归带来的额外计算为c(n^d)即T(n)=a(n/b)+c(n^d)若 a=b^d , T(n)=O(n^dlog(n))若 a<b^d , T(n)=O(n^d)若a>b^d , T(n)=O(n^logb(a))
该题 a=4,b=2,d=1,a>2 T(n)=O(n^logb(a))=O(n^2)
⭐⭐7.(队列应用)以下哪个不是队列的应用( )
A.图的广度优先搜索B.设置打印数据缓冲区C.树的层次遍历D.中缀表达式转后缀表达式
解释:
后缀表达式也叫逆波兰式。中缀转后缀是用栈实现的。
⭐⭐⭐❔8.折半查找法对带查找列表的要求为(必须采用顺序存储结构、必须按关键字大小有序排列)
解释:如上
⭐⭐⭐9.(爱奇艺C++笔试)一组N个站点共享一个30Kbps的纯ALOHA信道, 每个站点平均每100s输出一个2000bit的帧。试求出N的最大值( )
解释:
ALOHA信道的吞吐公式为S=Ge-2G
在式中,S为吞吐量,G为单位负载。
转换成一阶导数可以得到Smax= 18.4%
本题答案:
0.184×30kbps=5.52kbps
2000bit÷100s=20bps
N=5520bps÷20bps=276
⭐⭐⭐10.(Linux系统相关)在Linux系统中,某文件权限的分数是754,则以下说法错误的是( )。
解释:
754对应3种用户的权限:文件所有者、同组用户、其他用户
权限 | 权限数值 | 具体作用 |
---|---|---|
r | 4 | read,读取。当前用户可以读取文件内容,当前用户可以浏览目录。 |
w | 2 | write,写入。当前用户可以新增或修改文件内容,当前用户可以删除、移动目录或目录内文件。 |
x | 1 | execute,执行。当前用户可以执行文件,当前用户可以进入目录。 |
因此 7=4+2+1 文件所有者对该文件的的权限为可读可写可执行;5=4+1 同组用户对该文件的权限为可读可执行;4=4所其他用户对该文件的权限为可读;综上所有用户都有读权限。
⭐⭐⭐11.(网络协议、完美世界笔试(2016))传输层协议分类
传输层协议 | 应用层协议 | 网络层 |
---|---|---|
TCP、UDP | DNS、SMTP和POP3、HTTP和HTTPS(常用端口80)、Telnet、FTP和TFTP | IP |
⭐⭐⭐12.(加密算法、完美世界笔试(2016))对称加密算法与非对称加密算法
对称加密算法 | |
---|---|
常见的有DES、3DES、AES、DESX、Blowfish、RC4、RC5、RC6 | RSA、DSA(数字签名用)、ECC(移动设备用)、Diffie-Hellman、El Gamal |
⭐⭐⭐13.(线程状态、完美世界笔试(2016))线程的生命周期内有以下几种状态:
初始(NEW) | 新创建了一个线程对象,但还没有调用start()方法 |
---|---|
运行(RUNNABLE) | Java线程中将就绪(ready)和运行中(running)两种状态笼统的称为“运行” |
阻塞(BLOCKED) | 表示线程阻塞于锁 |
等待(WAITING) | 进入该状态的线程需要等待其他线程做出一些特定动作(通知或中断) |
超时等待(TIMED_WAITING) | 该状态不同于WAITING,它可以在指定的时间后自行返回 |
终止(TERMINATED) | 表示该线程已经执行完毕 |
⭐⭐14.(管道通信、完美世界笔试(2016))管道通信概念
管道通信 | 原因 |
---|---|
只能单向通信,不可双向通信 | 半双工,仅可单向 |
管道的容量的影响因素 | 受磁盘影响、管道缓冲区大小也可影响 |
进程对管道进行读操作和写操作都可能被阻塞 | 正确 |
一个管道只能有一个读进程或一个写进程对其操作 | 错误 |
⭐⭐15.(复杂度、完美世界笔试(2016))数组元素基本有序的情况下
排序方式 | 复杂度 |
---|---|
直接选择排序 | 复杂度都是O(n^2) |
堆排序 | 堆排序都是O(nlogn) |
快速排序 | 数组元素,基本有序,快速排序是最慢的 |
插入排序 | 时间复杂度趋近于O(n) |
平衡二叉搜索树 | Θ(logn) |
排序方式 | 平均时间复杂度 |
---|---|
插入排序 | O(n^2) |
冒泡排序 | O(n^2) |
⭐16.(排错题、完美世界笔试(2016))递推式D[n]=(n-1)*(D[n-2]+D[n-1]),是标准的错排公式!
⭐⭐17.(二分法查找、完美世界笔试(2016))已知有序序列b c d e f g q r s t,则在二分查找关键字b的过程中,先后进行比较的关键字依次是多少?()
解释:
参看:算法:二分查找(详解及例题)
b c d e f g q r s t 二分查找,折半法
① low = 0,high = 9,mid = (low+ high)/2=4, ∴ 'b’比较a[4]=‘f’,<,找左边 ( b~e )
② low = 0,high = mid-1 = 3, mid = 3/2=1, ∴ 'b’比较a[1]=‘c’ , <,找左边(b~b)
③ low = 0,high = mid -1 = 0,mid = 0,∴ ‘b’ 比较a[0] = ‘b’,找到(若未找到,low=high,也停止查找)
所以比较的顺序就是f c b
⭐18.(互质偶数、完美世界笔试(2016))1000以内与105互质的偶数有多少个?
解释:
105=3*5*7
,设[x]表示不大于x的最大整数,
1–1000之间有500个偶数,[500/3]=166,[500/5]=100,[500/7]=71,
[500/15]=33,[500/21]=23,[500/35]=14,[500/105]=4,
由容斥原理,1–1000之间与105互质的偶数有
500-(166+100+71)+(33+23+14)-4
=500-337+70-4=229个.
⭐19.(求0个数、完美世界笔试(2016))2015!后面有几个0?
解释:
1.每含一个5产生一个0,共有2015/5=403个,
2.此外每含一个25将会和4结合产生两个0,相当于在5的基础上又额外产生一个0,总共会额外产生2015/25=80个,
3.每含一个125会产生三个0,相当于再额外产生一个0,共有2015/125=16个,
4.每含一个625会产生4个0,相当于再额外产生一个0,共有2015/625=3个。
所以总共会产生403+80+16+3=502个0
⭐⭐⭐⭐20.(循环队列、完美世界笔试(2016))
循环队列的相关条件和公式:
队尾指针是rear,队头是front,其中QueueSize为循环队列的最大长度
1.队空条件:rear==front
2.队满条件:(rear+1) %QueueSIze==front
3.计算队列长度:(rear-front+QueueSize)%QueueSize
4.入队:(rear+1)%QueueSize
5.出队:(front+1)%QueueSize
⭐⭐⭐21.(B与B+树区别、完美世界笔试(2016))
B树 | B+树 |
---|---|
用于组织文件的动态索引结构 | 用于组织文件的动态索引结构 |
平衡的多分支树 | 平衡的多分支树 |
只适用于随机检索 | 适用于顺序检索和随机检索 |
注:顺序检索就像是有序链表一样的检索,B+树的只有叶子节点存放关键字,且所有叶子节点依次连接,就像一个有序链表,因此可以顺序检索;
⭐22.(依赖注入、完美世界笔试(2016))
A.依赖注入能够独立开发各组件,然后根据组件间关系进行组装
B.依赖注入使组件之间相互依赖,相互制约(错误)
C.依赖注入提供使用接口编程
D.依赖注入指对象在使用时动态注入
解释:
依赖注入可以降低组件之间的耦合度。而不是增加依赖程度。
⭐23.(网络 - 子网掩码、完美世界笔试(2016))
255.255.255.250(不对)
解释:
子网掩码前面全是1,后面为0,必须是连续的
224是1 1 1 0 0 0 0 0 0 可行
240是1 1 1 1 0 0 0 0 0 可行
248是1 1 1 1 1 1 0 0 0 可行
250是1 1 1 1 1 1 0 1 0 不可行
⭐⭐⭐24.(堆与栈、完美世界笔试(2016))多线程中栈与堆是公有的还是私有的()
解释:
在多线程环境下,每个线程拥有一个栈和一个程序计数器。栈和程序计数器用来保存线程的执行历史和线程的执行状态,是线程私有的资源。其他的资源(比如堆、地址空间、全局变量)是由同一个进程内的多个线程共享
⭐⭐⭐⭐⭐25.(时间复杂度 - 总结)
降序排序:最坏排序
升序排序:最优排序
⭐⭐⭐⭐26.(操作系统)三个程序a,b,c,它们使用同一个设备进行I/O操作,并按a,b,c的优先级执行(a优先级最高,c最低).这三个程序的计算和I/O时间如下图所示。假设调度的时间可忽略。则在单道程序环境和多道程序环境下(假设内存中可同时装入这三个程序,系统采用不可抢占的调度策略).运行总时间分别为()
计算 I/O 计算
a 30 40 10
b 60 30 10
c 20 40 20
⭐⭐27.(Linux创建文件)在Linux内核中,创建一个文件操作可以使用
相关文章:

Blender制作3D模型导出到UE5完整学习教程
学习如何在Blender中创建AAA游戏资产,然后导出到虚幻引擎5的完整指南 你会学到什么 遵循关于创建一套AAA游戏就绪的优质中世纪市场摊位的完整指南 最大化您的推荐人的潜力,以开发强大的游戏资产概念 使用Blender并了解其界面和快捷方式 从初级水平到世界…

[纪录]仿IOS滚轮效果(竖直滑动选择器)
今天想做一个类似这样的一个效果,可是UI的模板是参考IOS做的,于是就各种百度各种搜,最后让我找到了一个仿IOS滚轮的一个Demo,稍微研究了一下,发上来,大家一起学习,以后也方便我查看,就不用再去百度了,嘿嘿! 仿IOS滚轮效果 首先是一个类,继承了ScrollView public class WheelVie…

win7如何设置wifi热点_xp系统怎么设置无线网络热点(电脑设置wifi热点步骤)
现在手机基本都是可以开启wifi热点功能,但有时候因为各种原因,比如没有无线或者路由器有问题等情况,手机又需要使用网络,这个时候需要用电脑设置wifi热点。那么,怎么用电脑设置wifi热点呢?下面分别用win10系…

汇编语言第二课作业-实验1
Debug命令-摘自百度百科A 汇编命令 功能: 将指令直接汇编成机器码输入到内存中。说明: 用于小段程序的汇编及修改目标程序,所有输入的数字均采用十六进制, 用户装入内存的汇编语句是连续存放的,若没有指定地址…

C++、嵌入式软开之数据结构
总结: 1.二叉树搜索树是需要进行比较大小,满足传递性才可; 刷题总结: 1.(二叉树遍历)已知某二叉树的后序遍历序列是dabec,中序遍历序列是debac,它的前序遍历是(…

3dsMax插件V-Ray渲染与合成学习课程 3ds Max: Rendering for Compositing in V-Ray Next
使用渲染元素,3ds Max的V-Ray Next对创建高质量合成所需的参数(如反射、阴影、遮罩等)提供了精细的控制。在本课程中,布莱恩布拉德利展示了如何在Photoshop和After Effects等应用程序中使用V-Ray Next为后期制作工作流专门创建渲染。探索渲染元素用户界面…

对找数程序的理解
经过几个小时的思考,总算是对老师出的这个程序题有了一定的了解。该C#程序是一个对数字进行查找的程序。程序清单如下: using System; using System.Collections.Generic; using System.Text; namespace FindTheNumber { class Program { s…

win10鼠标灵敏度怎么调_和平精英最稳压枪灵敏度怎么调教程,适合所有段位以及适合国际版PUBG手游压枪...
和平精英(原刺激战场)主播最稳压枪灵敏度怎么调?不妨看看花了五个小时调试的最稳和平精英压枪灵敏度吧。废话不多,上图按照调。保证你满意,你离主播只差点意识此和平精英压枪灵敏度适合所有段位 也适合PUBG(和平精英国际版)-------分割线---…

C++基本知识点集锦(2022秋招)
(1)构造函数是一种特殊的类成员函数,是当创建一个类的对象时,它被调用来对类的数据成员进行初始化和分配内存。(构造函数的命名必须和类名完全相同) (2)C的空类,编译器会…

Sketchup插件Vray户外场景设计渲染教程 Vray Next For Sketchup Exterior
Sketchup户外场景设计的Vray Next 你会学到什么 渲染白天和夜晚场景 后期制作 Sketchup的Vray Next 中级sketchup用户 大小解压后:3.83G 1280X720 mp4 语言:英语中英文字幕(根据原英文字幕机译更准确) 大家好, 我是…

实验四:使用库函数API和C代码中嵌入汇编代码两种方式使用同一个系统调用
贺邦原创作品转载请注明出处 《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000 实验目的: 使用库函数API和C代码中嵌入汇编代码两种方式使用同一个系统调用,理解系统调用的工作机制。 实验过程: 本文实验选择24号…

三菱plc232数据线驱动下载_三菱PLC与西门子PLC有什么区别?
三菱PLC与西门子PLC有什么区别?分别有什么优点和缺点?该如何选择?学习哪种品牌?首先它们的编程理念不同,三菱PLC是日系品牌,编程直观易懂,学习起来会比较轻松,西门子PLC是德国品牌&a…
Github 树形菜单插件
ajax显示gitlab的,很像mac的树形展示。 直接在左侧做了一个ajax的树,每次访问gitlab自动加载。非常方便呢,在国内网速这么慢的情况下更显得好用了。 下载地址: https://github.com/buunguyen/octotree/tree/master/dist chrome安装…

C/C++、嵌入式秋招之SQL篇
⭐⭐1.选取最大(小)值 SELECT * FROM employees order by hire_date desc limit 0,1解释: 知识点 ORDER BY 根据指定的列对结果集进行排序,默认按照升序,降序 ORDER BY DESCLIMIT(m, n) 从第 m 1 行开始取 n 条记录…

C4D样条曲线建模大师班 Cinema 4D MasterClass: Master Modelling using Splines
通过本课程,快速学习使用样条曲线建模的基础知识,并将您的技能提升到一个新的水平 你会学到什么 能够使用样条线对整个对象进行建模 三维建模和UV展开 能够找到模拟复杂形状的最佳方法 无数的提示和技巧 在项目中应用蓝图的真实尺寸 对Uv制图有更好的理…

从头到尾彻底解析Hash表算法
从头到尾彻底解析Hash表算法 发布时间: 2013-10-02 10:26 阅读: 25156 次 推荐: 14 原文链接 [收藏] 作者:July、wuliming、pkuoliver 说明:本文分为三部分内容, 第一部分为一道百度面试题Top K算法的详解;第二部分为关于H…

ftp windows无法访问此文件夹请确保输入的文件名_企业实战|企业FTP搭建
安装Vsftpd提前关闭selinux 和firewalld防火墙1.安装vsftp软件包 $ yum -y install vsftpd*2.启动vsftpd服务器 $ systemctl restart vsftpd $ systemctl enable vsftpd3.检查服务是否正常启动 $ ps -ef|grep vsftp && netstat -tunlp|grep 21至此 匿名用户的ft…

C++、嵌入式软开之指针
1.(指针数据)int* pa[5]; 描述: pa是一个具有5个元素的指针数组,每个元素是一个int类型的指针; 2.(二级指针)以下程序的输出结果是: #include <iostream> using namespace std; void func(char **m){++m;cout

3dsMax插件V-Ray建筑可视化三维渲染细节技术学习教程
通过学习可用于相机放置、建模、修整等的策略,生成令人印象深刻且逼真的建筑三维渲染。了解如何将您的3D渲染场景提升到一个新的水平,以使您的图像引人入胜、有趣且讨人喜欢。在本课程中,讲师Verena Tatiana首先讨论了不同的细节处理方法&…

所有表单对象_Laravel 表单方法伪造与 CSRF 攻击防护
1、表单方法伪造有时候,我们可能需要手动定义发送表单数据所使用的 HTTP 请求方式,而 HTML 表单仅支持 GET 和 POST 两种方式,如果要使用其他的方式,则需要自己来定义实现。HTTP 请求方式概述最常见的 HTTP 请求方式自然是 GET 和…

使用按钮控制HTML5背景音乐开关
<!DOCTYPE HTML> <html> <head> <meta charset"utf-8"> <meta name"viewport" content"widthdevice-width; initial-scale1.0"> <title>演示:使用按钮控制HTML5背景音乐开关</title></…

hibernate和struts2实现分页功能
1.DAO层接口的设计,定义一个PersonDAO接口,里面声明了两个方法: public interface PersonDAO {public List<Person> queryByPage(String hql, int offset, int pageSize);public int getAllRowCount(String hql); } 2.DAO层接口的实现类…

Cmake软件编译opencv报错,CMake Warning at cmake/OpenCVDownload.cmake:193 (message): FFMPEG: Download...
当执行如下操作时: 出现下面报错, 在链接ipaddress.com查询raw.githubusercontent.com地址,然后将ip添加至C:\Windows\System32\drivers\etc\hosts中: 保存后,重新在cmake软件中点击“Configure”等待即可。

Blender+SP+UE5游戏艺术工作流程学习
Blender到虚幻引擎5 Blender游戏艺术 Blender for Game Art 你会学到: 如何在Blender中创建三维模型 UV如何展开和布局 如何在Substance Painter中表现肌理 如何使用虚幻引擎5 如何在UE5中点亮室内环境 MP4 |视频:h264,1280720 |音频:AAC,44.1 KHz&…

JQ 全选后获取选中的值_为什么在PBI中还需要切片器之三:Excel切片器之度量值切换...
Excel切片器之度量值切换原创 海峰没想到上篇文章一经发出,很快就过了10个留言,大喜过望,今天立马揭晓切片器之度量切换的应用。切片器之度量切换----参数法创建参数表,如下并导入数据模型创建需要的度量值,利润合计万…

layoutSubviews总结(转)
- (void)setNeedsDisplay- (void)drawRect但是是用initWithFrame 进行初始化时,当rect的值不为CGRectZero时,也会触发 You should override this method only if the autoresizing behaviors of the subviews do not offer the behavior you want. layoutSubviews, …

PHP日期格式转时间戳
PHP 提供了函数可以方便的将各种形式的日期转换为时间戳,该类函数主要是: strtotime():将任何英文文本的日期时间描述解析为时间戳。mktime():从日期取得时间戳。strtotime() strtotime() 函数用于将英文文本字符串表示的日期转换…

TFmini传感器使用
使用激光传感器 打开地面站,Mavlink控制台输入tfmini start --> tfmini status -->显示 current_distance:数字 即可得到距离; 将timini插到口UART&I2C B上面 需要在自启动文件中添加tfmini的自启动,否则出来的数据是0;…

3DsMax渲染插件VRay NEXT完整的视频指南
要求 基本的计算机和三维软件知识 这门课程对初学者和进阶者都有好处 我们确实经历了许多你甚至不知道存在的功能 VRay NEXT for 3Ds Max – Complete Video Guide 欢迎来到V-RAY视频手册 流派:电子学习| MP4 |视频:h264,1280720 |音频:aac,44100 Hz语言…

MyEclipse中运行环境jre、编译级别、tomcat运行环境区别
运行环境JRE SYSTEM LIARARY引入项目中依赖的jdk基础包,在java build path --》library中可以切换 编译级别是项目编译成.class时使用的编译jdk版本,只能向下编译 tomcat运行环境选择jdk版本, 以上三个配置最好一致,如果不一致可以…