360未来安全研究院笔试题
笔试时间:2020.04.16,15:00-17:30。
岗位:Linux 安全开发工程师(实习生)
题型:
能力测试——逻辑题(20个×5分=100分)
专业测试——客观题(40个×2分=80分)
专业测试——在线编程题(2个×25分=50分)
逻辑题
共有40道试题
客观题
1、Linux系统中vi编程,挂起进程用什么操作?
2、Squid服务acl对象的类型有?
3、Shell程序中,在test.sh文件第六行加入 i=’expr$i+1’,则标准输入输出为?
4、考察银行家算法。
5、关于死锁,错误的是?
6、传输对象模式?
7、创作模式?
基于C++编程的语言题目中包含了那些直接询问运行结果的问题以及需要补充完整程序的问题。这些题目涵盖了9号题及后续多道题(如11至27号)。要求具备熟练掌握C++语言的能力,并且这些题目共计占总分的一半。
15、二维数组中,如何访问第二行第四列数据(考察二维数组如何+1变到下一行)
28、TCP中三次握手和四次挥手的解释。
29、队列中不可能的出队顺序,《啊哈!算法》原题:
新学期伊始,在班级中同为同学的小哈成为了另一位同学的小哼的新同桌。作为新同桌的小哈成为了同学间的焦点人物,在日常交往中也常常被关注和讨论。在这种背景下,在一次课间交流中发现两人之间存在共同话题,并因此成为了朋友关系发展的重要推动力量之一
30、考察二维数组。
31、判断有向图是否存在回路,需要用什么算法?
32、动态规划和分治法。
33、拓扑排序。
34、线性规划问题中的约束条件为≤型不等式时,转换成标准形式的方法是什么?
35、NPC问题需要满足的条件是?
36、不是NP问题的是?
37、KMP算法模式中(abcdefghijklmn的next数组为)?
38、考察最小生成树。
39、Abcdefghijklmn子字符串的个数是?如‘a’‘b’等。
40、考察数据模型
两道编程题
1、最后赢家
时间限制:C/C++语言 1000MS;其他语言 3000MS
内存限制:C/C++语言 65536KB;其他语言 589824KB
题目描述:
最强的不一定是最后的赢家。
本次赛事共有n位参赛者参与。与其它比赛不同的是,本次比赛采用擂台赛的形式进行,这些选手依次排列,每轮比赛中将位于队列首位的两位参赛者对决,输掉的一方会被移至队列末尾。
当某位选手以m场连胜夺冠时,则表示这位选手将稳居胜局,并同时导致游戏随之结束。那么从开始到游戏结束期间总共进行了多少场比赛?
两位选手的比赛结果取决于他们的战斗水平。具体来说,在一场比赛中参赛者的能力值将构成一个从1到n的一个排列。每个参赛者的战斗能力都是独一无二的,在这种情况下决不出平局。
输入
本题的第一行为两个正整数n和m的输入。其中n表示参赛选手的数量,m表示取得连胜所需的次数。(1≤n≤1e5, 1≤m≤1e9)
在输入数据中第二行由n个正整数组成,并以空格分隔数值。其中数值代表队伍中对应位置选手的实力值。这些数值形成一个从1到n的排列。
输出
输出仅包含一个正整数,表示截止到游戏终止,共进行多少场比赛。
样例输入
4 2
1 3 2 4
代码解读
样例输出
2
代码解读
提示:样例解释
很明显,在第一局比赛中,战斗力为3的选手以两连胜的方式结束了比赛;同样地,在第二局比赛中也是由战斗力为3的选手获胜;因此得出的答案是2。当将m调整至3时,则结果变为5。
2、随机减法
时间限制:C/C++语言 2000MS;其他语言 4000MS
内存限制:C/C++语言 131072KB;其他语言 655360KB题目描述:
给定一个数a0,定义如下随机序列a1,a2,…an。
1、从闭区间[0,a0]中等概率随机选出一个整数k0,令a1=a0-k0。
2、得到随机数a1之后,再从闭区间[0,a1]中等概率随机选出一个整数k1,再令 a2=a1-k1。
一般来说,在获得随机数a_i之后,在闭区间[0, a_i]中以等概率随机选取一个整数k_i,并令下一个数值为a_{i+1}=a_i -k_i。
问an=0的概率是多少?
输入
输入两个整数n,a0(1≤n,a0≤100)。
输出
输出概率,小数点后四舍五入保留5位小数。
样例输入
3 3
代码解读
样例输出
72049
代码解读
输入样例2
1 3
代码解读
输出样例2
25000
代码解读
输入样例3
100 3
代码解读
输出样例3
00000
代码解读
