牛客20170323模拟笔试C++方向

因为0307那次考试没有选择题的题解,所以打算以后每次笔试都自己写写题解,当然答案不一定对,但是借助了百度的力量,大部分应该是靠谱的= =

选择题是尽可能找有没有原题,如果有,会有链接(这样能保证正确性)。没有原题,也没有相关知识链接的,那可能就是我自己以为的答案。
如果发现哪个题目有错误答案的欢迎指证。
编程题是从https://www.nowcoder.com/discuss/22561?type=0&order=0&pos=6&page=1 这个帖子上找的。看看大神的方法,再找找自己的不足,应该能有些进步。
最后祝愿大家找到满意的工作。

选择题部分:

1 C++中下面程序输出的结果为:()
#include <iostream> using namespace std ; int main(){ float a=b= 12.5 ; cout <<a<<endl<<b; return 0 ; }


A 12.5 12.5
B 12.5 0.0
C 0.0 12.5
D 编译错误

代码第五行报错 [Error]’b’ was not declared in this scope
选D

2 一个算法的时间复杂度为(n^3+n^2log2n+5n)/n^2,按照O()记法,其数量级表示为()
A O(n^3)
B O(n)
C O(nlongn)
D O(n^2logn)

n^3/n^2=n
选B

3 A市B,C两个区,人口比例为3:5,据历史统计B区的犯罪率为0.01%,C区为0.015%,现有一起新案件发生在A市,那么案件发生在B区的可能性有多大?()
A 37.5%
B 32.5%
C 28.6%
D 76.9%

3*0.01%/(3*0.01%+5*0.015%)≈28.6%
这个是条件概率吧,忘了

4 下述有关虚函数和纯虚函数说法错误的是()
A 被virtual关键字修饰的成员函数,就是虚函数
B 在基类中实现纯虚函数的方法是在函数原型后加“=0” virtual void funtion1() = 0
C 同时含有纯虚函数的类称为抽象类,它可以被实例化,但是对象不可以调用纯虚函数
D 使用纯虚函数的意义是在很多情况下,基类本身生成对象是不全情理的

参考:http://blog.csdn.net/xwpc702/article/details/8670025选C 抽象类是不能被实例化的,因为有纯虚函数没有定义

5 下面不属于TCP协议拥塞控制部分的是()
A 快速重传
B 慢启动
C 带外数据
D 快速恢复

参考:http://blog.csdn.net/sicofield/article/details/9708383
选C 计算机网络知识

6 牛客网为激励员工努力工作,决定根据每月的工作绩效评选“牛客之星”,王某在前10个月恰好只有连续的4个月中当选“牛客之星”,他的另三位同事杨某,肖某,华某也做到了这一点。关于这四人当选“月度之星”(“牛客之星”??)的月份,已知:(1)王某和杨某仅有三个月同时当选;(2)杨某和肖某仅有三个月同时当选;(3)王某和华某不曾在同一个月当选;(4)仅有2人在7月同时当选;(5)至少有1人在1月当选。根据以上信息,有3人同时当选“牛客之星”的月份是()
A 1-3月
B 2-4月
C 3-5月
D 4-6月
E 5-7月

1234 华
3456 肖
4567 杨
5678 王
选D

7 设G(V,E)为一个无向图,顶点集大小为P,边集大小为Q,则G图中所有顶点度之和为()
A P
B Q
C 2Q
D 2(P+Q)

选C 2*Q

8 下面哪种数据结构不能用来描述栈?()
A FIFO list
B LIFO list
C Piles
D Push-down lists

A 随便选的。问的不是实现,是描述,那就选对立面吧。

9 下面有关C++线程安全,说法错误的是?()
A 线程安全问题都是由全局变量及静态变量引起的
B 若每个线程中对全局变量、静态变量只有只读操作,而无写操作,一般来说这个,这个全局变量是线程安全的;若有多个线程同时执行写操作,一般需要考虑线程同步,否则的话就可能影响线程安全
C C++标准库里面的string保证是线程安全的
D POSIX线程标准要求C标准库中的大多数函数具备线程安全性

选C
http://blog.csdn.net/chengonghao/article/details/51943731

10 以下不属于NoSQL数据库的是?()
A Redis
B MongoDB
C Cassandra
D PostgreSQL

常用有这些Cassandra、Mongodb、CouchDB、Redis、 Riak、Membase、Neo4j Hbase
选D 参考:http://blog.jobbole.com/1344/

11 查询该目录及子目录下所有的以.conf为后缀的文件
A find ./ -name “conf”
B find ./ -name “*.[conf]”
C find ./ -type f | egrep “.(conf)”
D find ./ -regextype posix-extended -regex “.*.(conf)”

太久没接触 感觉“*.conf”就可以
选B 灵性选

12 假定把磁盘上的一个数据块中的信息输入到一个双缓冲区的时间为T=0.1ms,将缓冲区中的数据送到用户区的时间M=0.05ms,而CPU对数据的处理时间C=0.05ms,这样系统对每个数据块的处理时间为()
A 0.05ms
B 0.1ms
C 0.15ms
D 0.25ms

操作系统知识(为什么感觉是计算机组成原理讲的)
原题https://www.nowcoder.com/questionTerminal/b92966024ee9410e959f883dd6e89b25
http://www.examw.com/os/xp/180575/
选B 流水式作业考虑最大的值,所以选B吗?

13牛客网为了扩大业务规模,招了很多人,因此重新租用一间新的办公大楼,牛客的工程师们用电脑制作出了办公大楼的模型,正在规划如何布局新的工作环境,他们打算在娱乐区用大小相等的圆形材料分割出一些空间,如果使用3种不同圆形材料最多可以将空间分为八个区域(包括圆形以外的区域),如果给你七个圆形材料,你最多可以帮助工程师们分出多少个空间?()
用两个圆可以把平面空间分成4份,三个圆可以分成8份,现在有七个圆,最多可以把平面空间分成几份()(大概意思是这样)
A 128
B 100
C 64
D 44

作业帮是个好东西
https://www.zybang.com/question/836443b3973ed7238ca04d86b3861be1.html
选D 公式n^2-n+2

14 下面关于哈夫曼树的说法中,错误的是()
A 哈夫曼树是一棵完全二叉树
B 哈夫曼树中没有度为1的结点
C 哈夫曼树具有最上的带权路径长度

D 同一组权值构造的哈夫曼树不唯一

选A  哈夫曼树不一定是完全二叉树

15 下面程序的功能是输出数组的全排列,选择正确的选项,完成其功能()
void perm( int list [], int k, int m) { if ( ) { copy( list , list +m,ostream_iterator< int >( cout , " " )); cout <<endl; return ; } for ( int i=k; i<=m; i++) { swap(& list [k],& list [i]); ( ); swap(& list [k],& list [i]); } }

A k!=m 和 perm(list,k+1,m)
B k==m 和 perm(list,k+1,m)
C k!=m 和 perm(list,k,m)
D k==m 和 perm(list,k,m)

原题:
https://www.nowcoder.com/questionTerminal/af099970cfcc44cfa8e43348f600a017?pos=16&orderByHotValue=1
选B 第一个if是判断是不是要打印全排列了,第二个是交换k,i后递归的下一步

16 下列关于线程和进程的描述错误的是?()
A 一个进程至少有一个线程来运行
B 进程合适在SMP机器上进行,而线程则可以跨机器迁移
C 线程必须存在进程里面
D 即使程序员不创造任何线程,操作系统将创建主线程为每一个应用程序或进程


选B  正确的说法是:线程合适在SMP机器上进行,而进程则可以跨机器迁移 
感谢Jccccc丶灬同学指出这个(我原来选的是D)


17 一个顺序存储的长度为n的线性表,在第i个位置前面插入一个元素,总共需要移动的元素个数为()。
A n-i
B n-i+1
C i
D n-i-1

作业帮现在也面向大学生了吗?
https://www.zybang.com/question/b49c2fe0d9191516373ac501b61f9e89.html
选B 读题的时候,其实我很想说有没有第0个位置(插播笑话)

18 每10分钟运行一次crond任务exam,下面哪项正确?()
A /10 * * * exam
B 10/* * * * * exam
C * * /10 * exam
D * /10 * * exam

参考 https://www.nowcoder.com/questionTerminal/b3d3dafd6a55486880c6a339ff6547c0

http://blog.csdn.net/lzuacm/article/details/52443341
选A

19 某系统中有9台打印机,三个进程P1,P2,P3需要打印机的数量分别为7台、6台和4台。若P1、P2、P3已申请到4台、1台和2台且每个进程必须申请到需要数量的打印机才能执行结束,然后释放资源。下列说法正确的是()
A 存在不止一个安全序列,所以系统处于安全状态
B 因为不存在安全序列,所以系统处于不安全状态
C 存在安全序列P3、P1、P2,所以系统 处于安全状态
D 存在安全序列P3、P2、P1,所以系统 处于安全状态

选C 没什么好解释的

20 对算法估计空间复杂度,关注的是()
A 程序代码占用的空间
B 程序使用的辅助空间
C 程序运行占用的空间
D 程序使用的数据空间

参考 http://sanwen.net/a/fjmufpo.html
看了下这个公众号 已经70+我没读了 懒惰的我
选B ACD都不对

以上的答案都是自己琢磨的,不保证一定对。

编程部分:
1
这里写图片描述

输入例子:
1221
1234

输出例子:
YES
NO


2
题目 2
这里写图片描述
这里写图片描述

把输入的字符串排序,再把这n个字符串再排序,然后找有多少个不同的

3
这里写图片描述
这里写图片描述

这个感觉是类似0-1背包的问题,但是看了参考答案用的是动态规划的方法。

感谢牛客网!!
https://www.nowcoder.com/132183


#C++工程师#
全部评论
厉害
点赞 回复 分享
发布于 2017-03-30 16:03
厉害了我的哥
点赞 回复 分享
发布于 2017-03-30 16:22
第16题应该选B。线程不可以跨机器迁移。D是对的
点赞 回复 分享
发布于 2017-03-30 16:41
有心
点赞 回复 分享
发布于 2017-03-30 17:13
11题b应该是不对的,[conf]应该是匹配c\o\n\f中的任意个。 但C跟D好像也有点问题,小数点没进行转义。并且C的话正则表达式没加$表示末尾。 所以应该是选D的
点赞 回复 分享
发布于 2017-03-30 19:00

相关推荐

3 收藏 评论
分享
牛客网
牛客企业服务