图标链接

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指针

解释:

  1. 非静态成员函数都包含一个特殊的指针,指向调用该函数的对象,这个指针成为this指针;
  2. 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))对称加密算法与非对称加密算法

对称加密算法
常见的有DES3DESAESDESXBlowfishRC4RC5RC6 RSADSA(数字签名用)、ECC(移动设备用)、Diffie-HellmanEl 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内核中,创建一个文件操作可以使用

C/C++、嵌入式开发岗笔试集锦相关推荐

  1. 网易游戏开发岗笔试经历 2020.9.5 Apare_xzc

    网易游戏开发岗笔试(2020.9.5 15:00-17:30) 昨天的笔试,做得挺难受的,当时正在搬寝室,很吵,然后保洁阿姨来打扫寝室卫生- 2.5小时,4道编程题,每道题100分. 1, 0.2 0 ...

  2. 2020校招4399游戏开发岗笔试编程题题解部分

    2020校招4399游戏开发岗笔试编程题题解 序号四 题目描述: 有n个人围成一圈,顺序排号.从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位. 输入描述: 一 ...

  3. 2015百度测试开发岗笔试面试总结

    报的是百度测试开发岗,笔试的题全是大题:简答题---编程题---系统设计题. 简答题有:(1)输入url地址后,http响应过程.(2)针对视频,图片,文字可搜索的输入框做测试[大概是这个意思].(3 ...

  4. 【西山居seed】开发岗笔试惊现Codeforces2100+题

    这次西山居seed开发B卷出的可以的,3道编程题60分均摊 第一道hard+,第二道心理hard,第三道线段树-高阶数据结构hard 剩余40分是选择填空之类(据说因为细节化,难于408) 由于西山居 ...

  5. 2019年vivo提前批开发岗笔试

    笔试共三道大题,不是很难,但是编译器烂的要死,还不让用本地编译器. 第一道题:输入数组A和数组B,删除数组A中B中存在的元素! 输入描述:A:{1,2,3,4,5,6,7,8}       B:{2, ...

  6. 2020.9.23 金山云后台开发岗笔试 2道编程

    子树的权重 时间限制: 3000MS 内存限制: 589824KB 题目描述: 首先按照从上到下.从左到右的顺序输入一棵满二叉树中每一个结点对应的权重,例如输入1.1.2表示二叉树的根结点的权重为1, ...

  7. 爱奇艺C++开发岗笔试总结-提前批

    百度 紫光 大疆 爱奇艺 科大讯飞 cvte 蔚来 大华 乐鑫 联发科 (1)若要重载+,==,<<,=和[]运算符等,必须作为类成员重载的运算符是 C++语言规定,运算符"=& ...

  8. 【练习】2020校招4399游戏开发岗笔试编程题 C++(4)

    题目地址:牛客网 第一题 一球从100米高度自由落下,每次落地后反跳回原高度的一半:再落下,求它在第n次落地时,共经过多少米?第n次反弹多高?(n<=10) 思路: 模拟.用两个值分别记录小球总 ...

  9. 嵌入式开发人员-经历汇总

    目录 1.迷茫与前行 2.嵌入式到底该怎么学 2.1 单片机开发 2.2 Linux应用开发 3.嵌入式技术学习路线分享 4.单片机实习经历 2021年秋招记录 怀科同学 申明本文旨在为嵌入式工作提供 ...

最新文章

  1. DeepMind丢掉了归一化,让图像识别训练速度提升了8.7倍 | 已开源
  2. python游戏脚本实例-Python使用pygame模块编写俄罗斯方块游戏的代码实例
  3. 在SQL Navigator 中做 oracle pl/sql SQL分析
  4. matlab几种循环,Matlab for 多个变量循环能不能这样啊 ,求教高手!!!!
  5. 主机ssh升级到6.7以上版本后,使用jsch jar包ssh连接不上报Algorithm negotiation fail问题的解决办法
  6. 如何预防后台被攻击?Tomcat 的安全配置来啦!
  7. python 38day--CSS简介
  8. JavaScript 的 switch 条件语句
  9. 机器学习与计算机视觉(移动端深度学习优化框架)
  10. java for循环求素数,求1-100的质数,用FOR循环。求救。。
  11. smarty php5.5,smarty如何完美兼容php5.5和preg_replace_callback如何替换preg_r
  12. 18位身份证正则及校验码计算
  13. 深度学习——(4)VGG16 图像分类
  14. Tomcat中的四大servlet容器及管道机制
  15. 为什么FUP PT5M 台式低速离心机深受大家喜爱
  16. 求解矩阵特征值的QR算法
  17. P4417 [COCI2006-2007#2] STOL
  18. 微软公司按照成熟度把服务器端企业,战略性新兴产业基础知识(公需课作业).pdf...
  19. 【海康摄像头二次开发】移植海康摄像头Android SDK并实现多屏显示
  20. linux RAID磁盘阵列管理和逻辑卷(8/21)

热门文章

  1. 互联网企业安全高级指南3.7.1 攻防驱动修改
  2. 在 Azure 上部署 Asp.NET Core Web App
  3. Java语言的基础知识9
  4. 网络管理员比赛回顾01-基本操作和简单vlan
  5. 是什么限制了区块链技术的应用?
  6. 讽刺笑话_完全不讽刺的2019年网络设计指南
  7. vue常见错误汇总(自看)
  8. java中判断两个字符(或者字符串相等)
  9. 人工神经网络是如何实现存算一体的
  10. 连接服务器_命令行连接FTP服务器